]> pere.pagekite.me Git - homepage.git/blob - blog/tags/english/index.html
28af4c9ff3d95b74d11af4a47f7e98eb9bcd2475
[homepage.git] / blog / tags / english / index.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
4 <head>
5 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen: Entries Tagged english</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="english.rss" type="application/rss+xml" />
10 </head>
11 <body>
12 <div class="title">
13 <h1>
14 <a href="http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen</a>
15
16 </h1>
17
18 </div>
19
20
21 <h3>Entries tagged "english".</h3>
22
23 <div class="entry">
24 <div class="title">
25 <a href="http://people.skolelinux.org/pere/blog/How_to_stay_with_sysvinit_in_Debian_Jessie.html">How to stay with sysvinit in Debian Jessie</a>
26 </div>
27 <div class="date">
28 22nd November 2014
29 </div>
30 <div class="body">
31 <p>By now, it is well known that Debian Jessie will not be using
32 sysvinit as its boot system by default. But how can one keep using
33 sysvinit in Jessie? It is fairly easy, and here are a few recipes,
34 courtesy of
35 <a href="http://www.vitavonni.de/blog/201410/2014102101-avoiding-systemd.html">Erich
36 Schubert</a> and
37 <a href="http://smcv.pseudorandom.co.uk/2014/still_universal/">Simon
38 McVittie</a>.
39
40 <p>If you already are using Wheezy and want to upgrade to Jessie and
41 keep sysvinit as your boot system, create a file
42 <tt>/etc/apt/preferences.d/use-sysvinit</tt> with this content before
43 you upgrade:</p>
44
45 <p><blockquote><pre>
46 Package: systemd-sysv
47 Pin: release o=Debian
48 Pin-Priority: -1
49 </pre></blockquote><p>
50
51 <p>This file content will tell apt and aptitude to not consider
52 installing systemd-sysv as part of any installation and upgrade
53 solution when resolving dependencies, and thus tell it to avoid
54 systemd as a default boot system. The end result should be that the
55 upgraded system keep using sysvinit.</p>
56
57 <p>If you are installing Jessie for the first time, there is no way to
58 get sysvinit installed by default (debootstrap used by
59 debian-installer have no option for this), but one can tell the
60 installer to switch to sysvinit before the first boot. Either by
61 using a kernel argument to the installer, or by adding a line to the
62 preseed file used. First, the kernel command line argument:
63
64 <p><blockquote><pre>
65 preseed/late_command="in-target apt-get install --purge -y sysvinit-core"
66 </pre></blockquote><p>
67
68 <p>Next, the line to use in a preseed file:</p>
69
70 <p><blockquote><pre>
71 d-i preseed/late_command string in-target apt-get install -y sysvinit-core
72 </pre></blockquote><p>
73
74 <p>One can of course also do this after the first boot by installing
75 the sysvinit-core package.</p>
76
77 <p>I recommend only using sysvinit if you really need it, as the
78 sysvinit boot sequence in Debian have several hardware specific bugs
79 on Linux caused by the fact that it is unpredictable when hardware
80 devices show up during boot. But on the other hand, the new default
81 boot system still have a few rough edges I hope will be fixed before
82 Jessie is released.</p>
83
84 <p>Update 2014-11-26: Inspired by
85 <ahref="https://www.mirbsd.org/permalinks/wlog-10-tg_e20141125-tg.htm#e20141125-tg_wlog-10-tg">a
86 blog post by Torsten Glaser</a>, added --purge to the preseed
87 line.</p>
88
89 </div>
90 <div class="tags">
91
92
93 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
94
95
96 </div>
97 </div>
98 <div class="padding"></div>
99
100 <div class="entry">
101 <div class="title">
102 <a href="http://people.skolelinux.org/pere/blog/A_Debian_package_for_SMTP_via_Tor__aka_SMTorP__using_exim4.html">A Debian package for SMTP via Tor (aka SMTorP) using exim4</a>
103 </div>
104 <div class="date">
105 10th November 2014
106 </div>
107 <div class="body">
108 <p>The right to communicate with your friends and family in private,
109 without anyone snooping, is a right every citicen have in a liberal
110 democracy. But this right is under serious attack these days.</p>
111
112 <p>A while back it occurred to me that one way to make the dragnet
113 surveillance conducted by NSA, GCHQ, FRA and others (and confirmed by
114 the whisleblower Snowden) more expensive for Internet email,
115 is to deliver all email using SMTP via Tor. Such SMTP option would be
116 a nice addition to the FreedomBox project if we could send email
117 between FreedomBox machines without leaking metadata about the emails
118 to the people peeking on the wire. I
119 <a href="http://lists.alioth.debian.org/pipermail/freedombox-discuss/2014-October/006493.html">proposed
120 this on the FreedomBox project mailing list in October</a> and got a
121 lot of useful feedback and suggestions. It also became obvious to me
122 that this was not a novel idea, as the same idea was tested and
123 documented by Johannes Berg as early as 2006, and both
124 <a href="https://github.com/pagekite/Mailpile/wiki/SMTorP">the
125 Mailpile</a> and <a href="http://dee.su/cables">the Cables</a> systems
126 propose a similar method / protocol to pass emails between users.</p>
127
128 <p>To implement such system one need to set up a Tor hidden service
129 providing the SMTP protocol on port 25, and use email addresses
130 looking like username@hidden-service-name.onion. With such addresses
131 the connections to port 25 on hidden-service-name.onion using Tor will
132 go to the correct SMTP server. To do this, one need to configure the
133 Tor daemon to provide the hidden service and the mail server to accept
134 emails for this .onion domain. To learn more about Exim configuration
135 in Debian and test the design provided by Johannes Berg in his FAQ, I
136 set out yesterday to create a Debian package for making it trivial to
137 set up such SMTP over Tor service based on Debian. Getting it to work
138 were fairly easy, and
139 <a href="https://github.com/petterreinholdtsen/exim4-smtorp">the
140 source code for the Debian package</a> is available from github. I
141 plan to move it into Debian if further testing prove this to be a
142 useful approach.</p>
143
144 <p>If you want to test this, set up a blank Debian machine without any
145 mail system installed (or run <tt>apt-get purge exim4-config</tt> to
146 get rid of exim4). Install tor, clone the git repository mentioned
147 above, build the deb and install it on the machine. Next, run
148 <tt>/usr/lib/exim4-smtorp/setup-exim-hidden-service</tt> and follow
149 the instructions to get the service up and running. Restart tor and
150 exim when it is done, and test mail delivery using swaks like
151 this:</p>
152
153 <p><blockquote><pre>
154 torsocks swaks --server dutlqrrmjhtfa3vp.onion \
155 --to fbx@dutlqrrmjhtfa3vp.onion
156 </pre></blockquote></p>
157
158 <p>This will test the SMTP delivery using tor. Replace the email
159 address with your own address to test your server. :)</p>
160
161 <p>The setup procedure is still to complex, and I hope it can be made
162 easier and more automatic. Especially the tor setup need more work.
163 Also, the package include a tor-smtp tool written in C, but its task
164 should probably be rewritten in some script language to make the deb
165 architecture independent. It would probably also make the code easier
166 to review. The tor-smtp tool currently need to listen on a socket for
167 exim to talk to it and is started using xinetd. It would be better if
168 no daemon and no socket is needed. I suspect it is possible to get
169 exim to run a command line tool for delivery instead of talking to a
170 socket, and hope to figure out how in a future version of this
171 system.</p>
172
173 <p>Until I wipe my test machine, I can be reached using the
174 <tt>fbx@dutlqrrmjhtfa3vp.onion</tt> mail address, deliverable over
175 SMTorP. :)</p>
176
177 </div>
178 <div class="tags">
179
180
181 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/personvern">personvern</a>, <a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance</a>.
182
183
184 </div>
185 </div>
186 <div class="padding"></div>
187
188 <div class="entry">
189 <div class="title">
190 <a href="http://people.skolelinux.org/pere/blog/First_Jessie_based_Debian_Edu_released__alpha0_.html">First Jessie based Debian Edu released (alpha0)</a>
191 </div>
192 <div class="date">
193 27th October 2014
194 </div>
195 <div class="body">
196 <p>I am happy to report that I on behalf of the Debian Edu team just
197 sent out
198 <a href="https://lists.debian.org/debian-edu-announce/2014/10/msg00000.html">this
199 announcement</a>:</p>
200
201 <pre>
202 The Debian Edu Team is pleased to announce the release of Debian Edu
203 Jessie 8.0+edu0~alpha0
204
205 Debian Edu is a complete operating system for schools. Through its
206 various installation profiles you can install servers, workstations
207 and laptops which will work together on the school network. With
208 Debian Edu, the teachers themselves or their technical support can
209 roll out a complete multi-user multi-machine study environment within
210 hours or a few days. Debian Edu comes with hundreds of applications
211 pre-installed, but you can always add more packages from Debian.
212
213 For those who want to give Debian Edu Jessie a try, download and
214 installation instructions are available, including detailed
215 instructions in the manual[1] explaining the first steps, such as
216 setting up a network or adding users. Please note that the password
217 for the user your prompted for during installation must have a length
218 of at least 5 characters!
219
220 [1] &lt;URL: <a href="https://wiki.debian.org/DebianEdu/Documentation/Jessie">https://wiki.debian.org/DebianEdu/Documentation/Jessie</a> &gt;
221
222 Would you like to give your school's computer a longer life? Are you
223 tired of sneaker administration, running from computer to computer
224 reinstalling the operating system? Would you like to administrate all
225 the computers in your school using only a couple of hours every week?
226 Check out Debian Edu Jessie!
227
228 Skolelinux is used by at least two hundred schools all over the world,
229 mostly in Germany and Norway.
230
231 About Debian Edu and Skolelinux
232 ===============================
233
234 Debian Edu, also known as Skolelinux[2], is a Linux distribution based
235 on Debian providing an out-of-the box environment of a completely
236 configured school network. Immediately after installation a school
237 server running all services needed for a school network is set up just
238 waiting for users and machines being added via GOsa², a comfortable
239 Web-UI. A netbooting environment is prepared using PXE, so after
240 initial installation of the main server from CD or USB stick all other
241 machines can be installed via the network. The provided school server
242 provides LDAP database and Kerberos authentication service,
243 centralized home directories, DHCP server, web proxy and many other
244 services. The desktop contains more than 60 educational software
245 packages[3] and more are available from the Debian archive, and
246 schools can choose between KDE, Gnome, LXDE, Xfce and MATE desktop
247 environment.
248
249 [2] &lt;URL: <a href="http://www.skolelinux.org/">http://www.skolelinux.org/</a> &gt;
250 [3] &lt;URL: <a href="http://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html">http://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html</a> &gt;
251
252 Full release notes and manual
253 =============================
254
255 Below the download URLs there is a list of some of the new features
256 and bugfixes of Debian Edu 8.0+edu0~alpha0 Codename Jessie. The full
257 list is part of the manual. (See the feature list in the manual[4] for
258 the English version.) For some languages manual translations are
259 available, see the manual translation overview[5].
260
261 [4] &lt;URL: <a href="https://wiki.debian.org/DebianEdu/Documentation/Jessie/Features">https://wiki.debian.org/DebianEdu/Documentation/Jessie/Features</a> &gt;
262 [5] &lt;URL: <a href="http://maintainer.skolelinux.org/debian-edu-doc/">http://maintainer.skolelinux.org/debian-edu-doc/</a> &gt;
263
264 Where to get it
265 ---------------
266
267 To download the multiarch netinstall CD release (624 MiB) you can use
268
269 * <a href="ftp://ftp.skolelinux.org/skolelinux-cd/debian-edu-8.0+edu0~alpha0-CD.iso">ftp://ftp.skolelinux.org/skolelinux-cd/debian-edu-8.0+edu0~alpha0-CD.iso</a>
270 * <a href="http://ftp.skolelinux.org/skolelinux-cd/debian-edu-8.0+edu0~alpha0-CD.iso">http://ftp.skolelinux.org/skolelinux-cd/debian-edu-8.0+edu0~alpha0-CD.iso</a>
271 * rsync -avzP ftp.skolelinux.org::skolelinux-cd/debian-edu-8.0+edu0~alpha0-CD.iso .
272
273 The SHA1SUM of this image is: 361188818e036ce67280a572f757de82ebfeb095
274
275 New features for Debian Edu 8.0+edu0~alpha0 Codename Jessie released 2014-10-27
276 ===============================================================================
277
278
279 Installation changes
280 --------------------
281
282 * PXE installation now installs firmware automatically for the hardware present.
283
284 Software updates
285 ----------------
286
287 Everything which is new in Debian Jessie 8.0, eg:
288
289 * Linux kernel 3.16.x
290 * Desktop environments KDE "Plasma" 4.11.12, GNOME 3.14, Xfce 4.10,
291 LXDE 0.5.6 and MATE 1.8 (KDE "Plasma" is installed by default; to
292 choose one of the others see manual.)
293 * the browsers Iceweasel 31 ESR and Chromium 38
294 * !LibreOffice 4.3.3
295 * GOsa 2.7.4
296 * LTSP 5.5.4
297 * CUPS print system 1.7.5
298 * new boot framework: systemd
299 * Educational toolbox GCompris 14.07
300 * Music creator Rosegarden 14.02
301 * Image editor Gimp 2.8.14
302 * Virtual stargazer Stellarium 0.13.0
303 * golearn 0.9
304 * tuxpaint 0.9.22
305 * New version of debian-installer from Debian Jessie.
306 * Debian Jessie includes about 42000 packages available for
307 installation.
308 * More information about Debian Jessie 8.0 is provided in the release
309 notes[6] and the installation manual[7].
310
311 [6] &lt;URL: <a href="http://www.debian.org/releases/jessie/releasenotes">http://www.debian.org/releases/jessie/releasenotes</a> &gt;
312 [7] &lt;URL: <a href="http://www.debian.org/releases/jessie/installmanual">http://www.debian.org/releases/jessie/installmanual</a> &gt;
313
314 Fixed bugs
315 ----------
316
317 * Inserting incorrect DNS information in Gosa will no longer break
318 DNS completely, but instead stop DNS updates until the incorrect
319 information is corrected (Debian bug #710362)
320 * and many others.
321
322 Documentation and translation updates
323 -------------------------------------
324
325 * The Debian Edu Jessie Manual is fully translated to German, French,
326 Italian, Danish and Dutch. Partly translated versions exist for
327 Norwegian Bokmal and Spanish.
328
329 Other changes
330 -------------
331
332 * Due to new Squid settings, powering off or rebooting the main
333 server takes more time.
334 * To manage printers localhost:631 has to be used, currently www:631
335 doesn't work.
336
337 Regressions / known problems
338 ----------------------------
339
340 * Installing LTSP chroot fails with a bug related to eatmydata about
341 exim4-config failing to run its postinst (see Debian bug #765694
342 and Debian bug #762103).
343 * Munin collection is not properly configured on clients (Debian bug
344 #764594). The fix is available in a newer version of munin-node.
345 * PXE setup for Main Server and Thin Client Server setup does not
346 work when installing on a machine without direct Internet access.
347 Will be fixed when Debian bug #766960 is fixed in Jessie.
348
349 See the status page[8] for the complete list.
350
351 [8] &lt;URL: <a href="https://wiki.debian.org/DebianEdu/Status/Jessie">https://wiki.debian.org/DebianEdu/Status/Jessie</a> &gt;
352
353 How to report bugs
354 ------------------
355
356 &lt;URL: <a href="http://wiki.debian.org/DebianEdu/HowTo/ReportBugs">http://wiki.debian.org/DebianEdu/HowTo/ReportBugs</a> &gt;
357
358 About Debian
359 ============
360
361 The Debian Project was founded in 1993 by Ian Murdock to be a truly
362 free community project. Since then the project has grown to be one of
363 the largest and most influential open source projects. Thousands of
364 volunteers from all over the world work together to create and
365 maintain Debian software. Available in 70 languages, and supporting a
366 huge range of computer types, Debian calls itself the universal
367 operating system.
368
369 Contact Information
370 For further information, please visit the Debian web pages[9] or send
371 mail to press@debian.org.
372
373 [9] &lt;URL: <a href="http://www.debian.org/">http://www.debian.org/</a> &gt;
374 </pre>
375
376 </div>
377 <div class="tags">
378
379
380 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
381
382
383 </div>
384 </div>
385 <div class="padding"></div>
386
387 <div class="entry">
388 <div class="title">
389 <a href="http://people.skolelinux.org/pere/blog/I_spent_last_weekend_recording_MakerCon_Nordic.html">I spent last weekend recording MakerCon Nordic</a>
390 </div>
391 <div class="date">
392 23rd October 2014
393 </div>
394 <div class="body">
395 <p>I spent last weekend at <a href="http://www.makercon.no/">Makercon
396 Nordic</a>, a great conference and workshop for makers in Norway and
397 the surrounding countries. I had volunteered on behalf of the
398 Norwegian Unix Users Group (NUUG) to video record the talks, and we
399 had a great and exhausting time recording the entire day, two days in
400 a row. There were only two of us, Hans-Petter and me, and we used the
401 regular video equipment for NUUG, with a
402 <a href="http://dvswitch.alioth.debian.org/wiki/">dvswitch</a>, a
403 camera and a VGA to DV convert box, and mixed video and slides
404 live.</p>
405
406 <p>Hans-Petter did the post-processing, consisting of uploading the
407 around 180 GiB of raw video to Youtube, and the result is
408 <a href="https://www.youtube.com/user/MakerConNordic/">now becoming
409 public</a> on the MakerConNordic account. The videos have the license
410 NUUG always use on our recordings, which is
411 <a href="http://creativecommons.org/licenses/by-sa/3.0/no/">Creative
412 Commons Navngivelse-Del på samme vilkår 3.0 Norge</a>. Many great
413 talks available. Check it out! :)</p>
414
415 </div>
416 <div class="tags">
417
418
419 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
420
421
422 </div>
423 </div>
424 <div class="padding"></div>
425
426 <div class="entry">
427 <div class="title">
428 <a href="http://people.skolelinux.org/pere/blog/listadmin__the_quick_way_to_moderate_mailman_lists___nice_free_software.html">listadmin, the quick way to moderate mailman lists - nice free software</a>
429 </div>
430 <div class="date">
431 22nd October 2014
432 </div>
433 <div class="body">
434 <p>If you ever had to moderate a mailman list, like the ones on
435 alioth.debian.org, you know the web interface is fairly slow to
436 operate. First you visit one web page, enter the moderation password
437 and get a new page shown with a list of all the messages to moderate
438 and various options for each email address. This take a while for
439 every list you moderate, and you need to do it regularly to do a good
440 job as a list moderator. But there is a quick alternative,
441 <a href="http://heim.ifi.uio.no/kjetilho/hacks/#listadmin">the
442 listadmin program</a>. It allow you to check lists for new messages
443 to moderate in a fraction of a second. Here is a test run on two
444 lists I recently took over:</p>
445
446 <p><blockquote><pre>
447 % time listadmin xiph
448 fetching data for pkg-xiph-commits@lists.alioth.debian.org ... nothing in queue
449 fetching data for pkg-xiph-maint@lists.alioth.debian.org ... nothing in queue
450
451 real 0m1.709s
452 user 0m0.232s
453 sys 0m0.012s
454 %
455 </pre></blockquote></p>
456
457 <p>In 1.7 seconds I had checked two mailing lists and confirmed that
458 there are no message in the moderation queue. Every morning I
459 currently moderate 68 mailman lists, and it normally take around two
460 minutes. When I took over the two pkg-xiph lists above a few days
461 ago, there were 400 emails waiting in the moderator queue. It took me
462 less than 15 minutes to process them all using the listadmin
463 program.</p>
464
465 <p>If you install
466 <a href="https://tracker.debian.org/pkg/listadmin">the listadmin
467 package</a> from Debian and create a file <tt>~/.listadmin.ini</tt>
468 with content like this, the moderation task is a breeze:</p>
469
470 <p><blockquote><pre>
471 username username@example.org
472 spamlevel 23
473 default discard
474 discard_if_reason "Posting restricted to members only. Remove us from your mail list."
475
476 password secret
477 adminurl https://{domain}/mailman/admindb/{list}
478 mailman-list@lists.example.com
479
480 password hidden
481 other-list@otherserver.example.org
482 </pre></blockquote></p>
483
484 <p>There are other options to set as well. Check the manual page to
485 learn the details.</p>
486
487 <p>If you are forced to moderate lists on a mailman installation where
488 the SSL certificate is self signed or not properly signed by a
489 generally accepted signing authority, you can set a environment
490 variable when calling listadmin to disable SSL verification:</p>
491
492 <p><blockquote><pre>
493 PERL_LWP_SSL_VERIFY_HOSTNAME=0 listadmin
494 </pre></blockquote></p>
495
496 <p>If you want to moderate a subset of the lists you take care of, you
497 can provide an argument to the listadmin script like I do in the
498 initial screen dump (the xiph argument). Using an argument, only
499 lists matching the argument string will be processed. This make it
500 quick to accept messages if you notice the moderation request in your
501 email.</p>
502
503 <p>Without the listadmin program, I would never be the moderator of 68
504 mailing lists, as I simply do not have time to spend on that if the
505 process was any slower. The listadmin program have saved me hours of
506 time I could spend elsewhere over the years. It truly is nice free
507 software.</p>
508
509 <p>As usual, if you use Bitcoin and want to show your support of my
510 activities, please send Bitcoin donations to my address
511 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
512
513 <p>Update 2014-10-27: Added missing 'username' statement in
514 configuration example. Also, I've been told that the
515 PERL_LWP_SSL_VERIFY_HOSTNAME=0 setting do not work for everyone. Not
516 sure why.</p>
517
518 </div>
519 <div class="tags">
520
521
522 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>.
523
524
525 </div>
526 </div>
527 <div class="padding"></div>
528
529 <div class="entry">
530 <div class="title">
531 <a href="http://people.skolelinux.org/pere/blog/Debian_Jessie__PXE_and_automatic_firmware_installation.html">Debian Jessie, PXE and automatic firmware installation</a>
532 </div>
533 <div class="date">
534 17th October 2014
535 </div>
536 <div class="body">
537 <p>When PXE installing laptops with Debian, I often run into the
538 problem that the WiFi card require some firmware to work properly.
539 And it has been a pain to fix this using preseeding in Debian.
540 Normally something more is needed. But thanks to
541 <a href="https://packages.qa.debian.org/i/isenkram.html">my isenkram
542 package</a> and its recent tasksel extension, it has now become easy
543 to do this using simple preseeding.</p>
544
545 <p>The isenkram-cli package provide tasksel tasks which will install
546 firmware for the hardware found in the machine (actually, requested by
547 the kernel modules for the hardware). (It can also install user space
548 programs supporting the hardware detected, but that is not the focus
549 of this story.)</p>
550
551 <p>To get this working in the default installation, two preeseding
552 values are needed. First, the isenkram-cli package must be installed
553 into the target chroot (aka the hard drive) before tasksel is executed
554 in the pkgsel step of the debian-installer system. This is done by
555 preseeding the base-installer/includes debconf value to include the
556 isenkram-cli package. The package name is next passed to debootstrap
557 for installation. With the isenkram-cli package in place, tasksel
558 will automatically use the isenkram tasks to detect hardware specific
559 packages for the machine being installed and install them, because
560 isenkram-cli contain tasksel tasks.</p>
561
562 <p>Second, one need to enable the non-free APT repository, because
563 most firmware unfortunately is non-free. This is done by preseeding
564 the apt-mirror-setup step. This is unfortunate, but for a lot of
565 hardware it is the only option in Debian.</p>
566
567 <p>The end result is two lines needed in your preseeding file to get
568 firmware installed automatically by the installer:</p>
569
570 <p><blockquote><pre>
571 base-installer base-installer/includes string isenkram-cli
572 apt-mirror-setup apt-setup/non-free boolean true
573 </pre></blockquote></p>
574
575 <p>The current version of isenkram-cli in testing/jessie will install
576 both firmware and user space packages when using this method. It also
577 do not work well, so use version 0.15 or later. Installing both
578 firmware and user space packages might give you a bit more than you
579 want, so I decided to split the tasksel task in two, one for firmware
580 and one for user space programs. The firmware task is enabled by
581 default, while the one for user space programs is not. This split is
582 implemented in the package currently in unstable.</p>
583
584 <p>If you decide to give this a go, please let me know (via email) how
585 this recipe work for you. :)</p>
586
587 <p>So, I bet you are wondering, how can this work. First and
588 foremost, it work because tasksel is modular, and driven by whatever
589 files it find in /usr/lib/tasksel/ and /usr/share/tasksel/. So the
590 isenkram-cli package place two files for tasksel to find. First there
591 is the task description file (/usr/share/tasksel/descs/isenkram.desc):</p>
592
593 <p><blockquote><pre>
594 Task: isenkram-packages
595 Section: hardware
596 Description: Hardware specific packages (autodetected by isenkram)
597 Based on the detected hardware various hardware specific packages are
598 proposed.
599 Test-new-install: show show
600 Relevance: 8
601 Packages: for-current-hardware
602
603 Task: isenkram-firmware
604 Section: hardware
605 Description: Hardware specific firmware packages (autodetected by isenkram)
606 Based on the detected hardware various hardware specific firmware
607 packages are proposed.
608 Test-new-install: mark show
609 Relevance: 8
610 Packages: for-current-hardware-firmware
611 </pre></blockquote></p>
612
613 <p>The key parts are Test-new-install which indicate how the task
614 should be handled and the Packages line referencing to a script in
615 /usr/lib/tasksel/packages/. The scripts use other scripts to get a
616 list of packages to install. The for-current-hardware-firmware script
617 look like this to list relevant firmware for the machine:
618
619 <p><blockquote><pre>
620 #!/bin/sh
621 #
622 PATH=/usr/sbin:$PATH
623 export PATH
624 isenkram-autoinstall-firmware -l
625 </pre></blockquote></p>
626
627 <p>With those two pieces in place, the firmware is installed by
628 tasksel during the normal d-i run. :)</p>
629
630 <p>If you want to test what tasksel will install when isenkram-cli is
631 installed, run <tt>DEBIAN_PRIORITY=critical tasksel --test
632 --new-install</tt> to get the list of packages that tasksel would
633 install.</p>
634
635 <p><a href="https://wiki.debian.org/DebianEdu/">Debian Edu</a> will be
636 pilots in testing this feature, as isenkram is used there now to
637 install firmware, replacing the earlier scripts.</p>
638
639 </div>
640 <div class="tags">
641
642
643 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>, <a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin</a>.
644
645
646 </div>
647 </div>
648 <div class="padding"></div>
649
650 <div class="entry">
651 <div class="title">
652 <a href="http://people.skolelinux.org/pere/blog/Ubuntu_used_to_show_the_bread_prizes_at_ICA_Storo.html">Ubuntu used to show the bread prizes at ICA Storo</a>
653 </div>
654 <div class="date">
655 4th October 2014
656 </div>
657 <div class="body">
658 <p>Today I came across an unexpected Ubuntu boot screen. Above the
659 bread shelf on the ICA shop at Storo in Oslo, the grub menu of Ubuntu
660 with Linux kernel 3.2.0-23 (ie probably version 12.04 LTS) was stuck
661 on a screen normally showing the bread types and prizes:</p>
662
663 <p align="center"><img width="70%" src="http://people.skolelinux.org/pere/blog/images/2014-10-04-ubuntu-ica-storo-crop.jpeg"></p>
664
665 <p>If it had booted as it was supposed to, I would never had known
666 about this hidden Linux installation. It is interesting what
667 <a href="http://revealingerrors.com/">errors can reveal</a>.</p>
668
669 </div>
670 <div class="tags">
671
672
673 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>.
674
675
676 </div>
677 </div>
678 <div class="padding"></div>
679
680 <div class="entry">
681 <div class="title">
682 <a href="http://people.skolelinux.org/pere/blog/New_lsdvd_release_version_0_17_is_ready.html">New lsdvd release version 0.17 is ready</a>
683 </div>
684 <div class="date">
685 4th October 2014
686 </div>
687 <div class="body">
688 <p>The <a href="https://sourceforge.net/p/lsdvd/">lsdvd project</a>
689 got a new set of developers a few weeks ago, after the original
690 developer decided to step down and pass the project to fresh blood.
691 This project is now maintained by Petter Reinholdtsen and Steve
692 Dibb.</p>
693
694 <p>I just wrapped up
695 <a href="https://sourceforge.net/p/lsdvd/mailman/message/32896061/">a
696 new lsdvd release</a>, available in git or from
697 <a href="https://sourceforge.net/projects/lsdvd/files/lsdvd/">the
698 download page</a>. This is the changelog dated 2014-10-03 for version
699 0.17.</p>
700
701 <ul>
702
703 <li>Ignore 'phantom' audio, subtitle tracks</li>
704 <li>Check for garbage in the program chains, which indicate that a track is
705 non-existant, to work around additional copy protection</li>
706 <li>Fix displaying content type for audio tracks, subtitles</li>
707 <li>Fix pallete display of first entry</li>
708 <li>Fix include orders</li>
709 <li>Ignore read errors in titles that would not be displayed anyway</li>
710 <li>Fix the chapter count</li>
711 <li>Make sure the array size and the array limit used when initialising
712 the palette size is the same.</li>
713 <li>Fix array printing.</li>
714 <li>Correct subsecond calculations.</li>
715 <li>Add sector information to the output format.</li>
716 <li>Clean up code to be closer to ANSI C and compile without warnings
717 with more GCC compiler warnings.</li>
718
719 </ul>
720
721 <p>This change bring together patches for lsdvd in use in various
722 Linux and Unix distributions, as well as patches submitted to the
723 project the last nine years. Please check it out. :)</p>
724
725 </div>
726 <div class="tags">
727
728
729 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/lsdvd">lsdvd</a>, <a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>.
730
731
732 </div>
733 </div>
734 <div class="padding"></div>
735
736 <div class="entry">
737 <div class="title">
738 <a href="http://people.skolelinux.org/pere/blog/How_to_test_Debian_Edu_Jessie_despite_some_fatal_problems_with_the_installer.html">How to test Debian Edu Jessie despite some fatal problems with the installer</a>
739 </div>
740 <div class="date">
741 26th September 2014
742 </div>
743 <div class="body">
744 <p>The <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux
745 project</a> provide a Linux solution for schools, including a
746 powerful desktop with education software, a central server providing
747 web pages, user database, user home directories, central login and PXE
748 boot of both clients without disk and the installation to install Debian
749 Edu on machines with disk (and a few other services perhaps to small
750 to mention here). We in the Debian Edu team are currently working on
751 the Jessie based version, trying to get everything in shape before the
752 freeze, to avoid having to maintain our own package repository in the
753 future. The
754 <a href="https://wiki.debian.org/DebianEdu/Status/Jessie">current
755 status</a> can be seen on the Debian wiki, and there is still heaps of
756 work left. Some fatal problems block testing, breaking the installer,
757 but it is possible to work around these to get anyway. Here is a
758 recipe on how to get the installation limping along.</p>
759
760 <p>First, download the test ISO via
761 <a href="ftp://ftp.skolelinux.no/cd-edu-testing-nolocal-netinst/debian-edu-amd64-i386-NETINST-1.iso">ftp</a>,
762 <a href="http://ftp.skolelinux.no/cd-edu-testing-nolocal-netinst/debian-edu-amd64-i386-NETINST-1.iso">http</a>
763 or rsync (use
764 ftp.skolelinux.org::cd-edu-testing-nolocal-netinst/debian-edu-amd64-i386-NETINST-1.iso).
765 The ISO build was broken on Tuesday, so we do not get a new ISO every
766 12 hours or so, but thankfully the ISO we already got we are able to
767 install with some tweaking.</p>
768
769 <p>When you get to the Debian Edu profile question, go to tty2
770 (use Alt-Ctrl-F2), run</p>
771
772 <p><blockquote><pre>
773 nano /usr/bin/edu-eatmydata-install
774 </pre></blockquote></p>
775
776 <p>and add 'exit 0' as the second line, disabling the eatmydata
777 optimization. Return to the installation, select the profile you want
778 and continue. Without this change, exim4-config will fail to install
779 due to a known bug in eatmydata.</p>
780
781 <p>When you get the grub question at the end, answer /dev/sda (or if
782 this do not work, figure out what your correct value would be. All my
783 test machines need /dev/sda, so I have no advice if it do not fit
784 your need.</p>
785
786 <p>If you installed a profile including a graphical desktop, log in as
787 root after the initial boot from hard drive, and install the
788 education-desktop-XXX metapackage. XXX can be kde, gnome, lxde, xfce
789 or mate. If you want several desktop options, install more than one
790 metapackage. Once this is done, reboot and you should have a working
791 graphical login screen. This workaround should no longer be needed
792 once the education-tasks package version 1.801 enter testing in two
793 days.</p>
794
795 <p>I believe the ISO build will start working on two days when the new
796 tasksel package enter testing and Steve McIntyre get a chance to
797 update the debian-cd git repository. The eatmydata, grub and desktop
798 issues are already fixed in unstable and testing, and should show up
799 on the ISO as soon as the ISO build start working again. Well the
800 eatmydata optimization is really just disabled. The proper fix
801 require an upload by the eatmydata maintainer applying the patch
802 provided in bug <a href="https://bugs.debian.org/702711">#702711</a>.
803 The rest have proper fixes in unstable.</p>
804
805 <p>I hope this get you going with the installation testing, as we are
806 quickly running out of time trying to get our Jessie based
807 installation ready before the distribution freeze in a month.</p>
808
809 </div>
810 <div class="tags">
811
812
813 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
814
815
816 </div>
817 </div>
818 <div class="padding"></div>
819
820 <div class="entry">
821 <div class="title">
822 <a href="http://people.skolelinux.org/pere/blog/Suddenly_I_am_the_new_upstream_of_the_lsdvd_command_line_tool.html">Suddenly I am the new upstream of the lsdvd command line tool</a>
823 </div>
824 <div class="date">
825 25th September 2014
826 </div>
827 <div class="body">
828 <p>I use the <a href="https://sourceforge.net/p/lsdvd/">lsdvd tool</a>
829 to handle my fairly large DVD collection. It is a nice command line
830 tool to get details about a DVD, like title, tracks, track length,
831 etc, in XML, Perl or human readable format. But lsdvd have not seen
832 any new development since 2006 and had a few irritating bugs affecting
833 its use with some DVDs. Upstream seemed to be dead, and in January I
834 sent a small probe asking for a version control repository for the
835 project, without any reply. But I use it regularly and would like to
836 get <a href="https://packages.qa.debian.org/lsdvd">an updated version
837 into Debian</a>. So two weeks ago I tried harder to get in touch with
838 the project admin, and after getting a reply from him explaining that
839 he was no longer interested in the project, I asked if I could take
840 over. And yesterday, I became project admin.</p>
841
842 <p>I've been in touch with a Gentoo developer and the Debian
843 maintainer interested in joining forces to maintain the upstream
844 project, and I hope we can get a new release out fairly quickly,
845 collecting the patches spread around on the internet into on place.
846 I've added the relevant Debian patches to the freshly created git
847 repository, and expect the Gentoo patches to make it too. If you got
848 a DVD collection and care about command line tools, check out
849 <a href="https://sourceforge.net/p/lsdvd/git/ci/master/tree/">the git source</a> and join
850 <a href="https://sourceforge.net/p/lsdvd/mailman/">the project mailing
851 list</a>. :)</p>
852
853 </div>
854 <div class="tags">
855
856
857 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/lsdvd">lsdvd</a>, <a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>.
858
859
860 </div>
861 </div>
862 <div class="padding"></div>
863
864 <div class="entry">
865 <div class="title">
866 <a href="http://people.skolelinux.org/pere/blog/Speeding_up_the_Debian_installer_using_eatmydata_and_dpkg_divert.html">Speeding up the Debian installer using eatmydata and dpkg-divert</a>
867 </div>
868 <div class="date">
869 16th September 2014
870 </div>
871 <div class="body">
872 <p>The <a href="https://www.debian.org/">Debian</a> installer could be
873 a lot quicker. When we install more than 2000 packages in
874 <a href="http://www.skolelinux.org/">Skolelinux / Debian Edu</a> using
875 tasksel in the installer, unpacking the binary packages take forever.
876 A part of the slow I/O issue was discussed in
877 <a href="https://bugs.debian.org/613428">bug #613428</a> about too
878 much file system sync-ing done by dpkg, which is the package
879 responsible for unpacking the binary packages. Other parts (like code
880 executed by postinst scripts) might also sync to disk during
881 installation. All this sync-ing to disk do not really make sense to
882 me. If the machine crash half-way through, I start over, I do not try
883 to salvage the half installed system. So the failure sync-ing is
884 supposed to protect against, hardware or system crash, is not really
885 relevant while the installer is running.</p>
886
887 <p>A few days ago, I thought of a way to get rid of all the file
888 system sync()-ing in a fairly non-intrusive way, without the need to
889 change the code in several packages. The idea is not new, but I have
890 not heard anyone propose the approach using dpkg-divert before. It
891 depend on the small and clever package
892 <a href="https://packages.qa.debian.org/eatmydata">eatmydata</a>, which
893 uses LD_PRELOAD to replace the system functions for syncing data to
894 disk with functions doing nothing, thus allowing programs to live
895 dangerous while speeding up disk I/O significantly. Instead of
896 modifying the implementation of dpkg, apt and tasksel (which are the
897 packages responsible for selecting, fetching and installing packages),
898 it occurred to me that we could just divert the programs away, replace
899 them with a simple shell wrapper calling
900 "eatmydata&nbsp;$program&nbsp;$@", to get the same effect.
901 Two days ago I decided to test the idea, and wrapped up a simple
902 implementation for the Debian Edu udeb.</p>
903
904 <p>The effect was stunning. In my first test it reduced the running
905 time of the pkgsel step (installing tasks) from 64 to less than 44
906 minutes (20 minutes shaved off the installation) on an old Dell
907 Latitude D505 machine. I am not quite sure what the optimised time
908 would have been, as I messed up the testing a bit, causing the debconf
909 priority to get low enough for two questions to pop up during
910 installation. As soon as I saw the questions I moved the installation
911 along, but do not know how long the question were holding up the
912 installation. I did some more measurements using Debian Edu Jessie,
913 and got these results. The time measured is the time stamp in
914 /var/log/syslog between the "pkgsel: starting tasksel" and the
915 "pkgsel: finishing up" lines, if you want to do the same measurement
916 yourself. In Debian Edu, the tasksel dialog do not show up, and the
917 timing thus do not depend on how quickly the user handle the tasksel
918 dialog.</p>
919
920 <p><table>
921
922 <tr>
923 <th>Machine/setup</th>
924 <th>Original tasksel</th>
925 <th>Optimised tasksel</th>
926 <th>Reduction</th>
927 </tr>
928
929 <tr>
930 <td>Latitude D505 Main+LTSP LXDE</td>
931 <td>64 min (07:46-08:50)</td>
932 <td><44 min (11:27-12:11)</td>
933 <td>>20 min 18%</td>
934 </tr>
935
936 <tr>
937 <td>Latitude D505 Roaming LXDE</td>
938 <td>57 min (08:48-09:45)</td>
939 <td>34 min (07:43-08:17)</td>
940 <td>23 min 40%</td>
941 </tr>
942
943 <tr>
944 <td>Latitude D505 Minimal</td>
945 <td>22 min (10:37-10:59)</td>
946 <td>11 min (11:16-11:27)</td>
947 <td>11 min 50%</td>
948 </tr>
949
950 <tr>
951 <td>Thinkpad X200 Minimal</td>
952 <td>6 min (08:19-08:25)</td>
953 <td>4 min (08:04-08:08)</td>
954 <td>2 min 33%</td>
955 </tr>
956
957 <tr>
958 <td>Thinkpad X200 Roaming KDE</td>
959 <td>19 min (09:21-09:40)</td>
960 <td>15 min (10:25-10:40)</td>
961 <td>4 min 21%</td>
962 </tr>
963
964 </table></p>
965
966 <p>The test is done using a netinst ISO on a USB stick, so some of the
967 time is spent downloading packages. The connection to the Internet
968 was 100Mbit/s during testing, so downloading should not be a
969 significant factor in the measurement. Download typically took a few
970 seconds to a few minutes, depending on the amount of packages being
971 installed.</p>
972
973 <p>The speedup is implemented by using two hooks in
974 <a href="https://www.debian.org/devel/debian-installer/">Debian
975 Installer</a>, the pre-pkgsel.d hook to set up the diverts, and the
976 finish-install.d hook to remove the divert at the end of the
977 installation. I picked the pre-pkgsel.d hook instead of the
978 post-base-installer.d hook because I test using an ISO without the
979 eatmydata package included, and the post-base-installer.d hook in
980 Debian Edu can only operate on packages included in the ISO. The
981 negative effect of this is that I am unable to activate this
982 optimization for the kernel installation step in d-i. If the code is
983 moved to the post-base-installer.d hook, the speedup would be larger
984 for the entire installation.</p>
985
986 <p>I've implemented this in the
987 <a href="https://packages.qa.debian.org/debian-edu-install">debian-edu-install</a>
988 git repository, and plan to provide the optimization as part of the
989 Debian Edu installation. If you want to test this yourself, you can
990 create two files in the installer (or in an udeb). One shell script
991 need do go into /usr/lib/pre-pkgsel.d/, with content like this:</p>
992
993 <p><blockquote><pre>
994 #!/bin/sh
995 set -e
996 . /usr/share/debconf/confmodule
997 info() {
998 logger -t my-pkgsel "info: $*"
999 }
1000 error() {
1001 logger -t my-pkgsel "error: $*"
1002 }
1003 override_install() {
1004 apt-install eatmydata || true
1005 if [ -x /target/usr/bin/eatmydata ] ; then
1006 for bin in dpkg apt-get aptitude tasksel ; do
1007 file=/usr/bin/$bin
1008 # Test that the file exist and have not been diverted already.
1009 if [ -f /target$file ] ; then
1010 info "diverting $file using eatmydata"
1011 printf "#!/bin/sh\neatmydata $bin.distrib \"\$@\"\n" \
1012 > /target$file.edu
1013 chmod 755 /target$file.edu
1014 in-target dpkg-divert --package debian-edu-config \
1015 --rename --quiet --add $file
1016 ln -sf ./$bin.edu /target$file
1017 else
1018 error "unable to divert $file, as it is missing."
1019 fi
1020 done
1021 else
1022 error "unable to find /usr/bin/eatmydata after installing the eatmydata pacage"
1023 fi
1024 }
1025
1026 override_install
1027 </pre></blockquote></p>
1028
1029 <p>To clean up, another shell script should go into
1030 /usr/lib/finish-install.d/ with code like this:
1031
1032 <p><blockquote><pre>
1033 #! /bin/sh -e
1034 . /usr/share/debconf/confmodule
1035 error() {
1036 logger -t my-finish-install "error: $@"
1037 }
1038 remove_install_override() {
1039 for bin in dpkg apt-get aptitude tasksel ; do
1040 file=/usr/bin/$bin
1041 if [ -x /target$file.edu ] ; then
1042 rm /target$file
1043 in-target dpkg-divert --package debian-edu-config \
1044 --rename --quiet --remove $file
1045 rm /target$file.edu
1046 else
1047 error "Missing divert for $file."
1048 fi
1049 done
1050 sync # Flush file buffers before continuing
1051 }
1052
1053 remove_install_override
1054 </pre></blockquote></p>
1055
1056 <p>In Debian Edu, I placed both code fragments in a separate script
1057 edu-eatmydata-install and call it from the pre-pkgsel.d and
1058 finish-install.d scripts.</p>
1059
1060 <p>By now you might ask if this change should get into the normal
1061 Debian installer too? I suspect it should, but am not sure the
1062 current debian-installer coordinators find it useful enough. It also
1063 depend on the side effects of the change. I'm not aware of any, but I
1064 guess we will see if the change is safe after some more testing.
1065 Perhaps there is some package in Debian depending on sync() and
1066 fsync() having effect? Perhaps it should go into its own udeb, to
1067 allow those of us wanting to enable it to do so without affecting
1068 everyone.</p>
1069
1070 <p>Update 2014-09-24: Since a few days ago, enabling this optimization
1071 will break installation of all programs using gnutls because of
1072 <a href="https://bugs.debian.org/702711">bug #702711</a>. An updated
1073 eatmydata package in Debian will solve it.</p>
1074
1075 <p>Update 2014-10-17: The bug mentioned above is fixed in testing and
1076 the optimization work again. And I have discovered that the
1077 dpkg-divert trick is not really needed and implemented a slightly
1078 simpler approach as part of the debian-edu-install package. See
1079 tools/edu-eatmydata-install in the source package.</p>
1080
1081 <p>Update 2014-11-11: Unfortunately, a new
1082 <a href="http://bugs.debian.org/765738">bug #765738</a> in eatmydata only
1083 triggering on i386 made it into testing, and broke this installation
1084 optimization again. If <a href="http://bugs.debian.org/768893">unblock
1085 request 768893</a> is accepted, it should be working again.</p>
1086
1087 </div>
1088 <div class="tags">
1089
1090
1091 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
1092
1093
1094 </div>
1095 </div>
1096 <div class="padding"></div>
1097
1098 <div class="entry">
1099 <div class="title">
1100 <a href="http://people.skolelinux.org/pere/blog/Good_bye_subkeys_pgp_net__welcome_pool_sks_keyservers_net.html">Good bye subkeys.pgp.net, welcome pool.sks-keyservers.net</a>
1101 </div>
1102 <div class="date">
1103 10th September 2014
1104 </div>
1105 <div class="body">
1106 <p>Yesterday, I had the pleasure of attending a talk with the
1107 <a href="http://www.nuug.no/">Norwegian Unix User Group</a> about
1108 <a href="http://www.nuug.no/aktiviteter/20140909-sks-keyservers/">the
1109 OpenPGP keyserver pool sks-keyservers.net</a>, and was very happy to
1110 learn that there is a large set of publicly available key servers to
1111 use when looking for peoples public key. So far I have used
1112 subkeys.pgp.net, and some times wwwkeys.nl.pgp.net when the former
1113 were misbehaving, but those days are ended. The servers I have used
1114 up until yesterday have been slow and some times unavailable. I hope
1115 those problems are gone now.</p>
1116
1117 <p>Behind the round robin DNS entry of the
1118 <a href="https://sks-keyservers.net/">sks-keyservers.net</a> service
1119 there is a pool of more than 100 keyservers which are checked every
1120 day to ensure they are well connected and up to date. It must be
1121 better than what I have used so far. :)</p>
1122
1123 <p>Yesterdays speaker told me that the service is the default
1124 keyserver provided by the default configuration in GnuPG, but this do
1125 not seem to be used in Debian. Perhaps it should?</p>
1126
1127 <p>Anyway, I've updated my ~/.gnupg/options file to now include this
1128 line:</p>
1129
1130 <p><blockquote><pre>
1131 keyserver pool.sks-keyservers.net
1132 </pre></blockquote></p>
1133
1134 <p>With GnuPG version 2 one can also locate the keyserver using SRV
1135 entries in DNS. Just for fun, I did just that at work, so now every
1136 user of GnuPG at the University of Oslo should find a OpenGPG
1137 keyserver automatically should their need it:</p>
1138
1139 <p><blockquote><pre>
1140 % host -t srv _pgpkey-http._tcp.uio.no
1141 _pgpkey-http._tcp.uio.no has SRV record 0 100 11371 pool.sks-keyservers.net.
1142 %
1143 </pre></blockquote></p>
1144
1145 <p>Now if only
1146 <a href="http://ietfreport.isoc.org/idref/draft-shaw-openpgp-hkp/">the
1147 HKP lookup protocol</a> supported finding signature paths, I would be
1148 very happy. It can look up a given key or search for a user ID, but I
1149 normally do not want that, but to find a trust path from my key to
1150 another key. Given a user ID or key ID, I would like to find (and
1151 download) the keys representing a signature path from my key to the
1152 key in question, to be able to get a trust path between the two keys.
1153 This is as far as I can tell not possible today. Perhaps something
1154 for a future version of the protocol?</p>
1155
1156 </div>
1157 <div class="tags">
1158
1159
1160 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>.
1161
1162
1163 </div>
1164 </div>
1165 <div class="padding"></div>
1166
1167 <div class="entry">
1168 <div class="title">
1169 <a href="http://people.skolelinux.org/pere/blog/Do_you_need_an_agreement_with_MPEG_LA_to_publish_and_broadcast_H_264_video_in_Norway_.html">Do you need an agreement with MPEG-LA to publish and broadcast H.264 video in Norway?</a>
1170 </div>
1171 <div class="date">
1172 25th August 2014
1173 </div>
1174 <div class="body">
1175 <p>Two years later, I am still not sure if it is legal here in Norway
1176 to use or publish a video in H.264 or MPEG4 format edited by the
1177 commercially licensed video editors, without limiting the use to
1178 create "personal" or "non-commercial" videos or get a license
1179 agreement with <a href="http://www.mpegla.com">MPEG LA</a>. If one
1180 want to publish and broadcast video in a non-personal or commercial
1181 setting, it might be that those tools can not be used, or that video
1182 format can not be used, without breaking their copyright license. I
1183 am not sure.
1184 <a href="http://people.skolelinux.org/pere/blog/Trenger_en_avtale_med_MPEG_LA_for___publisere_og_kringkaste_H_264_video_.html">Back
1185 then</a>, I found that the copyright license terms for Adobe Premiere
1186 and Apple Final Cut Pro both specified that one could not use the
1187 program to produce anything else without a patent license from MPEG
1188 LA. The issue is not limited to those two products, though. Other
1189 much used products like those from Avid and Sorenson Media have terms
1190 of use are similar to those from Adobe and Apple. The complicating
1191 factor making me unsure if those terms have effect in Norway or not is
1192 that the patents in question are not valid in Norway, but copyright
1193 licenses are.</p>
1194
1195 <p>These are the terms for Avid Artist Suite, according to their
1196 <a href="http://www.avid.com/US/about-avid/legal-notices/legal-enduserlicense2">published
1197 end user</a>
1198 <a href="http://www.avid.com/static/resources/common/documents/corporate/LICENSE.pdf">license
1199 text</a> (converted to lower case text for easier reading):</p>
1200
1201 <p><blockquote>
1202 <p>18.2. MPEG-4. MPEG-4 technology may be included with the
1203 software. MPEG LA, L.L.C. requires this notice: </p>
1204
1205 <p>This product is licensed under the MPEG-4 visual patent portfolio
1206 license for the personal and non-commercial use of a consumer for (i)
1207 encoding video in compliance with the MPEG-4 visual standard (“MPEG-4
1208 video”) and/or (ii) decoding MPEG-4 video that was encoded by a
1209 consumer engaged in a personal and non-commercial activity and/or was
1210 obtained from a video provider licensed by MPEG LA to provide MPEG-4
1211 video. No license is granted or shall be implied for any other
1212 use. Additional information including that relating to promotional,
1213 internal and commercial uses and licensing may be obtained from MPEG
1214 LA, LLC. See http://www.mpegla.com. This product is licensed under
1215 the MPEG-4 systems patent portfolio license for encoding in compliance
1216 with the MPEG-4 systems standard, except that an additional license
1217 and payment of royalties are necessary for encoding in connection with
1218 (i) data stored or replicated in physical media which is paid for on a
1219 title by title basis and/or (ii) data which is paid for on a title by
1220 title basis and is transmitted to an end user for permanent storage
1221 and/or use, such additional license may be obtained from MPEG LA,
1222 LLC. See http://www.mpegla.com for additional details.</p>
1223
1224 <p>18.3. H.264/AVC. H.264/AVC technology may be included with the
1225 software. MPEG LA, L.L.C. requires this notice:</p>
1226
1227 <p>This product is licensed under the AVC patent portfolio license for
1228 the personal use of a consumer or other uses in which it does not
1229 receive remuneration to (i) encode video in compliance with the AVC
1230 standard (“AVC video”) and/or (ii) decode AVC video that was encoded
1231 by a consumer engaged in a personal activity and/or was obtained from
1232 a video provider licensed to provide AVC video. No license is granted
1233 or shall be implied for any other use. Additional information may be
1234 obtained from MPEG LA, L.L.C. See http://www.mpegla.com.</p>
1235 </blockquote></p>
1236
1237 <p>Note the requirement that the videos created can only be used for
1238 personal or non-commercial purposes.</p>
1239
1240 <p>The Sorenson Media software have
1241 <a href="http://www.sorensonmedia.com/terms/">similar terms</a>:</p>
1242
1243 <p><blockquote>
1244
1245 <p>With respect to a license from Sorenson pertaining to MPEG-4 Video
1246 Decoders and/or Encoders: Any such product is licensed under the
1247 MPEG-4 visual patent portfolio license for the personal and
1248 non-commercial use of a consumer for (i) encoding video in compliance
1249 with the MPEG-4 visual standard (“MPEG-4 video”) and/or (ii) decoding
1250 MPEG-4 video that was encoded by a consumer engaged in a personal and
1251 non-commercial activity and/or was obtained from a video provider
1252 licensed by MPEG LA to provide MPEG-4 video. No license is granted or
1253 shall be implied for any other use. Additional information including
1254 that relating to promotional, internal and commercial uses and
1255 licensing may be obtained from MPEG LA, LLC. See
1256 http://www.mpegla.com.</p>
1257
1258 <p>With respect to a license from Sorenson pertaining to MPEG-4
1259 Consumer Recorded Data Encoder, MPEG-4 Systems Internet Data Encoder,
1260 MPEG-4 Mobile Data Encoder, and/or MPEG-4 Unique Use Encoder: Any such
1261 product is licensed under the MPEG-4 systems patent portfolio license
1262 for encoding in compliance with the MPEG-4 systems standard, except
1263 that an additional license and payment of royalties are necessary for
1264 encoding in connection with (i) data stored or replicated in physical
1265 media which is paid for on a title by title basis and/or (ii) data
1266 which is paid for on a title by title basis and is transmitted to an
1267 end user for permanent storage and/or use. Such additional license may
1268 be obtained from MPEG LA, LLC. See http://www.mpegla.com for
1269 additional details.</p>
1270
1271 </blockquote></p>
1272
1273 <p>Some free software like
1274 <a href="https://handbrake.fr/">Handbrake</A> and
1275 <a href="http://ffmpeg.org/">FFMPEG</a> uses GPL/LGPL licenses and do
1276 not have any such terms included, so for those, there is no
1277 requirement to limit the use to personal and non-commercial.</p>
1278
1279 </div>
1280 <div class="tags">
1281
1282
1283 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/opphavsrett">opphavsrett</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</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>.
1284
1285
1286 </div>
1287 </div>
1288 <div class="padding"></div>
1289
1290 <div class="entry">
1291 <div class="title">
1292 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Bernd_Zeitzen.html">Debian Edu interview: Bernd Zeitzen</a>
1293 </div>
1294 <div class="date">
1295 31st July 2014
1296 </div>
1297 <div class="body">
1298 <p>The complete and free “out of the box” software solution for
1299 schools, <a href="http://www.skolelinux.org/">Debian Edu /
1300 Skolelinux</a>, is used quite a lot in Germany, and one of the people
1301 involved is Bernd Zeitzen, who show up on the project mailing lists
1302 from time to time with interesting questions and tips on how to adjust
1303 the setup. I managed to interview him this summer.</p>
1304
1305 <p><strong>Who are you, and how do you spend your days?</strong></p>
1306
1307 <p>My name is Bernd Zeitzen and I'm married with Hedda, a self
1308 employed physiotherapist. My former profession is tool maker, but I
1309 haven't worked for 30 years in this job. 30 years ago I started to
1310 support my wife and become her officeworker and a few years later the
1311 administrator for a small computer network, today based on Ubuntu
1312 Server (Samba, OpenVPN). For her daily work she has to use Windows
1313 Desktops because the software she needs to organize her business only
1314 works with Windows . :-(</p>
1315
1316 <p>In 1988 we started with one PC and DOS, then I learned to use
1317 Windows 98, 2000, XP, …, 8, Ubuntu, MacOSX. Today we are running a
1318 Linux server with 6 Windows clients and 10 persons (teacher of
1319 children with special needs, speech therapist, occupational therapist,
1320 psychologist and officeworkers) using our Samba shares via OpenVPN to
1321 work with the documentations of our patients.</p>
1322
1323 <p><strong>How did you get in contact with the Skolelinux / Debian Edu
1324 project?</strong></p>
1325
1326 <p>Two years ago a friend of mine asked me, if I want to get a job in
1327 his school (<a href="http://www.gymnasium-harsewinkel.de/">Gymnasium
1328 Harsewinkel</a>). They started with Skolelinux / Debian Edu and they
1329 were looking for people to give support to the teachers using the
1330 software and the network and teaching the pupils increasing their
1331 computer skills in optional lessons. I'm spending 4-6 hours a week
1332 with this job.</p>
1333
1334 <p><strong>What do you see as the advantages of Skolelinux / Debian
1335 Edu?</strong></p>
1336
1337 <p>The independence.</p>
1338
1339 <p>First: Every person is allowed to use, share and develop the
1340 software. Even if you are poor, you are allowed to use the software
1341 included in Skolelinux/Debian Edu and all the other Free Software.</p>
1342
1343 <p>Second: The software runs on old machines and this gives us the
1344 possibility to recycle computers, weeded out from offices. The
1345 servers and desktops are running for more than two years and they are
1346 working reliable. </p>
1347
1348 <p>We have two servers (one tjener and one terminal server), 45
1349 workstations in three classrooms and seven laptops as a mobile
1350 solution for all classrooms. These machines are all booting from the
1351 terminal server. In the moment we are installing 30 laptops as mobile
1352 workstations. Then the pupils have the possibility to work with these
1353 machines in their classrooms. Internet access is realized by a WLAN
1354 router, connected to the schools network. This is all done without a
1355 dedicated system administrator or a computer science teacher.</p>
1356
1357 <p><strong>What do you see as the disadvantages of Skolelinux / Debian
1358 Edu?</strong></p>
1359
1360 <p>Teachers and pupils are Windows users. &lt;Irony on&gt; And Linux
1361 isn't cool. It's software for freaks using the command line. &lt;Irony
1362 off&gt; They don't realize the stability of the system. </p>
1363
1364 <p><strong>Which free software do you use daily?</strong></p>
1365
1366 <p>Firefox, Thunderbird, LibreOffice, Ubuntu Server 12.04 (Samba,
1367 Apache, MySQL, Joomla!, … and Skolelinux / Debian Edu)</p>
1368
1369 <p><strong>Which strategy do you believe is the right one to use to
1370 get schools to use free software?</strong></p>
1371
1372 <p>In Germany we have the situation: every school is free to decide
1373 which software they want to use. This decision is influenced by
1374 teachers who learned to use Windows and MS Office. They buy a PC with
1375 Windows preinstalled and an additional testing version of MS
1376 Office. They don't know about the possibility to use Free Software
1377 instead. Another problem are the publisher of school books. They
1378 develop their software, added to the school books, for Windows.</p>
1379
1380 </div>
1381 <div class="tags">
1382
1383
1384 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju</a>.
1385
1386
1387 </div>
1388 </div>
1389 <div class="padding"></div>
1390
1391 <div class="entry">
1392 <div class="title">
1393 <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>
1394 </div>
1395 <div class="date">
1396 23rd July 2014
1397 </div>
1398 <div class="body">
1399 <p>This summer I finally had time to continue working on the Norwegian
1400 <a href="http://www.docbook.org/">docbook</a> version of the 2004 book
1401 <a href="http://free-culture.cc/">Free Culture</a> by Lawrence Lessig,
1402 to get a Norwegian text explaining the problems with todays copyright
1403 law. Yesterday, I finally completed translated the book text. There
1404 are still some foot/end notes left to translate, the colophon page
1405 need to be rewritten, and a few words and phrases still need to be
1406 translated, but the Norwegian text is ready for the first proof
1407 reading. :) More spell checking is needed, and several illustrations
1408 need to be cleaned up. The work stopped up because I had to give
1409 priority to other projects the last year, and the progress graph of
1410 the translation show this very well:</p>
1411
1412 <p><img width="80%" align="center" src="https://github.com/petterreinholdtsen/free-culture-lessig/raw/master/progress.png"></p>
1413
1414 <p>If you want to read the result, check out the
1415 <a href="https://github.com/petterreinholdtsen/free-culture-lessig">github</a>
1416 project pages and the
1417 <a href="https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.pdf?raw=true">PDF</a>,
1418 <a href="https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.epub?raw=true">EPUB</a>
1419 and HTML version available in the
1420 <a href="https://github.com/petterreinholdtsen/free-culture-lessig/tree/master/archive">archive
1421 directory</a>.</p>
1422
1423 <p>Please report typos, bugs and improvements to the github project if
1424 you find any.</p>
1425
1426 </div>
1427 <div class="tags">
1428
1429
1430 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>.
1431
1432
1433 </div>
1434 </div>
1435 <div class="padding"></div>
1436
1437 <div class="entry">
1438 <div class="title">
1439 <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>
1440 </div>
1441 <div class="date">
1442 17th June 2014
1443 </div>
1444 <div class="body">
1445 <p>The <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux
1446 project</a> provide an instruction manual for teachers, system
1447 administrators and other users that contain useful tips for setting up
1448 and maintaining a Debian Edu installation. This text is about how the
1449 text processing of this manual is handled in the project.</p>
1450
1451 <p>One goal of the project is to provide information in the native
1452 language of its users, and for this we need to handle translations.
1453 But we also want to make sure each language contain the same
1454 information, so for this we need a good way to keep the translations
1455 in sync. And we want it to be easy for our users to improve the
1456 documentation, avoiding the need to learn special formats or tools to
1457 contribute, and the obvious way to do this is to make it possible to
1458 edit the documentation using a web browser. We also want it to be
1459 easy for translators to keep the translation up to date, and give them
1460 help in figuring out what need to be translated. Here is the list of
1461 tools and the process we have found trying to reach all these
1462 goals.</p>
1463
1464 <p>We maintain the authoritative source of our manual in the
1465 <a href="https://wiki.debian.org/DebianEdu/Documentation/Wheezy/">Debian
1466 wiki</a>, as several wiki pages written in English. It consist of one
1467 front page with references to the different chapters, several pages
1468 for each chapter, and finally one "collection page" gluing all the
1469 chapters together into one large web page (aka
1470 <a href="https://wiki.debian.org/DebianEdu/Documentation/Wheezy/AllInOne">the
1471 AllInOne page</a>). The AllInOne page is the one used for further
1472 processing and translations. Thanks to the fact that the
1473 <a href="http://moinmo.in/">MoinMoin</a> installation on
1474 wiki.debian.org support exporting pages in
1475 <a href="http://www.docbook.org/">the Docbook format</a>, we can fetch
1476 the list of pages to export using the raw version of the AllInOne
1477 page, loop over each of them to generate a Docbook XML version of the
1478 manual. This process also download images and transform image
1479 references to use the locally downloaded images. The generated
1480 Docbook XML files are slightly broken, so some post-processing is done
1481 using the <tt>documentation/scripts/get_manual</tt> program, and the
1482 result is a nice Docbook XML file (debian-edu-wheezy-manual.xml) and
1483 a handfull of images. The XML file can now be used to generate PDF, HTML
1484 and epub versions of the English manual. This is the basic step of
1485 our process, making PDF (using dblatex), HTML (using xsltproc) and
1486 epub (using dbtoepub) version from Docbook XML, and the resulting files
1487 are placed in the debian-edu-doc-en binary package.</p>
1488
1489 <p>But English documentation is not enough for us. We want translated
1490 documentation too, and we want to make it easy for translators to
1491 track the English original. For this we use the
1492 <a href="http://packages.qa.debian.org/p/poxml.html">poxml</a> package,
1493 which allow us to transform the English Docbook XML file into a
1494 translation file (a .pot file), usable with the normal gettext based
1495 translation tools used by those translating free software. The pot
1496 file is used to create and maintain translation files (several .po
1497 files), which the translations update with the native language
1498 translations of all titles, paragraphs and blocks of text in the
1499 original. The next step is combining the original English Docbook XML
1500 and the translation file (say debian-edu-wheezy-manual.nb.po), to
1501 create a translated Docbook XML file (in this case
1502 debian-edu-wheezy-manual.nb.xml). This translated (or partly
1503 translated, if the translation is not complete) Docbook XML file can
1504 then be used like the original to create a PDF, HTML and epub version
1505 of the documentation.</p>
1506
1507 <p>The translators use different tools to edit the .po files. We
1508 recommend using
1509 <a href="http://www.kde.org/applications/development/lokalize/">lokalize</a>,
1510 while some use emacs and vi, others can use web based editors like
1511 <a href="http://pootle.translatehouse.org/">Poodle</a> or
1512 <a href="https://www.transifex.com/">Transifex</a>. All we care about
1513 is where the .po file end up, in our git repository. Updated
1514 translations can either be committed directly to git, or submitted as
1515 <a href="https://bugs.debian.org/src:debian-edu-doc">bug reports
1516 against the debian-edu-doc package</a>.</p>
1517
1518 <p>One challenge is images, which both might need to be translated (if
1519 they show translated user applications), and are needed in different
1520 formats when creating PDF and HTML versions (epub is a HTML version in
1521 this regard). For this we transform the original PNG images to the
1522 needed density and format during build, and have a way to provide
1523 translated images by storing translated versions in
1524 images/$LANGUAGECODE/. I am a bit unsure about the details here. The
1525 package maintainers know more.</p>
1526
1527 <p>If you wonder what the result look like, we provide
1528 <a href="http://maintainer.skolelinux.org/debian-edu-doc/">the content
1529 of the documentation packages on the web</a>. See for example the
1530 <a href="http://maintainer.skolelinux.org/debian-edu-doc/it/debian-edu-wheezy-manual.pdf">Italian
1531 PDF version</a> or the
1532 <a href="http://maintainer.skolelinux.org/debian-edu-doc/de/debian-edu-wheezy-manual.html">German
1533 HTML version</a>. We do not yet build the epub version by default,
1534 but perhaps it will be done in the future.</p>
1535
1536 <p>To learn more, check out
1537 <a href="http://packages.qa.debian.org/d/debian-edu-doc.html">the
1538 debian-edu-doc package</a>,
1539 <a href="https://wiki.debian.org/DebianEdu/Documentation/Wheezy/">the
1540 manual on the wiki</a> and
1541 <a href="https://wiki.debian.org/DebianEdu/Documentation/Wheezy/Translations">the
1542 translation instructions</a> in the manual.</p>
1543
1544 </div>
1545 <div class="tags">
1546
1547
1548 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>.
1549
1550
1551 </div>
1552 </div>
1553 <div class="padding"></div>
1554
1555 <div class="entry">
1556 <div class="title">
1557 <a href="http://people.skolelinux.org/pere/blog/Free_software_car_computer_solution_.html">Free software car computer solution?</a>
1558 </div>
1559 <div class="date">
1560 29th May 2014
1561 </div>
1562 <div class="body">
1563 <p>Dear lazyweb. I'm planning to set up a small Raspberry Pi computer
1564 in my car, connected to
1565 <a href="http://www.dx.com/p/400a-4-0-tft-lcd-digital-monitor-for-vehicle-parking-reverse-camera-1440x272-12v-dc-57776">a
1566 small screen</a> next to the rear mirror. I plan to hook it up with a
1567 GPS and a USB wifi card too. The idea is to get my own
1568 "<a href="http://en.wikipedia.org/wiki/Carputer">Carputer</a>". But I
1569 wonder if someone already created a good free software solution for
1570 such car computer.</p>
1571
1572 <p>This is my current wish list for such system:</p>
1573
1574 <ul>
1575
1576 <li>Work on Raspberry Pi.</li>
1577
1578 <li>Show current speed limit based on location, and warn if going too
1579 fast (for example using color codes yellow and red on the screen,
1580 or make a sound). This could be done either using either data from
1581 <a href="http://www.openstreetmap.org/">Openstreetmap</a> or OCR
1582 info gathered from a dashboard camera.</li>
1583
1584 <li>Track automatic toll road passes and their cost, show total spent
1585 and make it possible to calculate toll costs for planned
1586 route.</li>
1587
1588 <li>Collect GPX tracks for use with OpenStreetMap.</li>
1589
1590 <li>Automatically detect and use any wireless connection to connect
1591 to home server. Try IP over DNS
1592 (<a href="http://dev.kryo.se/iodine/">iodine</a>) or ICMP
1593 (<a href="http://code.gerade.org/hans/">Hans</a>) if direct
1594 connection do not work.</li>
1595
1596 <li>Set up mesh network to talk to other cars with the same system,
1597 or some standard car mesh protocol.</li>
1598
1599 <li>Warn when approaching speed cameras and speed camera ranges
1600 (speed calculated between two cameras).</li>
1601
1602 <li>Suport dashboard/front facing camera to discover speed limits and
1603 run OCR to track registration number of passing cars.</li>
1604
1605 </ul>
1606
1607 <p>If you know of any free software car computer system supporting
1608 some or all of these features, please let me know.</p>
1609
1610 </div>
1611 <div class="tags">
1612
1613
1614 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
1615
1616
1617 </div>
1618 </div>
1619 <div class="padding"></div>
1620
1621 <div class="entry">
1622 <div class="title">
1623 <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>
1624 </div>
1625 <div class="date">
1626 29th April 2014
1627 </div>
1628 <div class="body">
1629 <p>I've been following <a href="http://www.getgnash.org/">the Gnash
1630 project</a> for quite a while now. It is a free software
1631 implementation of Adobe Flash, both a standalone player and a browser
1632 plugin. Gnash implement support for the AVM1 format (and not the
1633 newer AVM2 format - see
1634 <a href="http://lightspark.github.io/">Lightspark</a> for that one),
1635 allowing several flash based sites to work. Thanks to the friendly
1636 developers at Youtube, it also work with Youtube videos, because the
1637 Javascript code at Youtube detect Gnash and serve a AVM1 player to
1638 those users. :) Would be great if someone found time to implement AVM2
1639 support, but it has not happened yet. If you install both Lightspark
1640 and Gnash, Lightspark will invoke Gnash if it find a AVM1 flash file,
1641 so you can get both handled as free software. Unfortunately,
1642 Lightspark so far only implement a small subset of AVM2, and many
1643 sites do not work yet.</p>
1644
1645 <p>A few months ago, I started looking at
1646 <a href="http://scan.coverity.com/">Coverity</a>, the static source
1647 checker used to find heaps and heaps of bugs in free software (thanks
1648 to the donation of a scanning service to free software projects by the
1649 company developing this non-free code checker), and Gnash was one of
1650 the projects I decided to check out. Coverity is able to find lock
1651 errors, memory errors, dead code and more. A few days ago they even
1652 extended it to also be able to find the heartbleed bug in OpenSSL.
1653 There are heaps of checks being done on the instrumented code, and the
1654 amount of bogus warnings is quite low compared to the other static
1655 code checkers I have tested over the years.</p>
1656
1657 <p>Since a few weeks ago, I've been working with the other Gnash
1658 developers squashing bugs discovered by Coverity. I was quite happy
1659 today when I checked the current status and saw that of the 777 issues
1660 detected so far, 374 are marked as fixed. This make me confident that
1661 the next Gnash release will be more stable and more dependable than
1662 the previous one. Most of the reported issues were and are in the
1663 test suite, but it also found a few in the rest of the code.</p>
1664
1665 <p>If you want to help out, you find us on
1666 <a href="https://lists.gnu.org/mailman/listinfo/gnash-dev">the
1667 gnash-dev mailing list</a> and on
1668 <a href="irc://irc.freenode.net/#gnash">the #gnash channel on
1669 irc.freenode.net IRC server</a>.</p>
1670
1671 </div>
1672 <div class="tags">
1673
1674
1675 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>.
1676
1677
1678 </div>
1679 </div>
1680 <div class="padding"></div>
1681
1682 <div class="entry">
1683 <div class="title">
1684 <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>
1685 </div>
1686 <div class="date">
1687 23rd April 2014
1688 </div>
1689 <div class="body">
1690 <p>It would be nice if it was easier in Debian to get all the hardware
1691 related packages relevant for the computer installed automatically.
1692 So I implemented one, using
1693 <a href="http://packages.qa.debian.org/isenkram">my Isenkram
1694 package</a>. To use it, install the tasksel and isenkram packages and
1695 run tasksel as user root. You should be presented with a new option,
1696 "Hardware specific packages (autodetected by isenkram)". When you
1697 select it, tasksel will install the packages isenkram claim is fit for
1698 the current hardware, hot pluggable or not.<p>
1699
1700 <p>The implementation is in two files, one is the tasksel menu entry
1701 description, and the other is the script used to extract the list of
1702 packages to install. The first part is in
1703 <tt>/usr/share/tasksel/descs/isenkram.desc</tt> and look like
1704 this:</p>
1705
1706 <p><blockquote><pre>
1707 Task: isenkram
1708 Section: hardware
1709 Description: Hardware specific packages (autodetected by isenkram)
1710 Based on the detected hardware various hardware specific packages are
1711 proposed.
1712 Test-new-install: mark show
1713 Relevance: 8
1714 Packages: for-current-hardware
1715 </pre></blockquote></p>
1716
1717 <p>The second part is in
1718 <tt>/usr/lib/tasksel/packages/for-current-hardware</tt> and look like
1719 this:</p>
1720
1721 <p><blockquote><pre>
1722 #!/bin/sh
1723 #
1724 (
1725 isenkram-lookup
1726 isenkram-autoinstall-firmware -l
1727 ) | sort -u
1728 </pre></blockquote></p>
1729
1730 <p>All in all, a very short and simple implementation making it
1731 trivial to install the hardware dependent package we all may want to
1732 have installed on our machines. I've not been able to find a way to
1733 get tasksel to tell you exactly which packages it plan to install
1734 before doing the installation. So if you are curious or careful,
1735 check the output from the isenkram-* command line tools first.</p>
1736
1737 <p>The information about which packages are handling which hardware is
1738 fetched either from the isenkram package itself in
1739 /usr/share/isenkram/, from git.debian.org or from the APT package
1740 database (using the Modaliases header). The APT package database
1741 parsing have caused a nasty resource leak in the isenkram daemon (bugs
1742 <a href="http://bugs.debian.org/719837">#719837</a> and
1743 <a href="http://bugs.debian.org/730704">#730704</a>). The cause is in
1744 the python-apt code (bug
1745 <a href="http://bugs.debian.org/745487">#745487</a>), but using a
1746 workaround I was able to get rid of the file descriptor leak and
1747 reduce the memory leak from ~30 MiB per hardware detection down to
1748 around 2 MiB per hardware detection. It should make the desktop
1749 daemon a lot more useful. The fix is in version 0.7 uploaded to
1750 unstable today.</p>
1751
1752 <p>I believe the current way of mapping hardware to packages in
1753 Isenkram is is a good draft, but in the future I expect isenkram to
1754 use the AppStream data source for this. A proposal for getting proper
1755 AppStream support into Debian is floating around as
1756 <a href="https://wiki.debian.org/DEP-11">DEP-11</a>, and
1757 <a href="https://wiki.debian.org/SummerOfCode2014/Projects#SummerOfCode2014.2FProjects.2FAppStreamDEP11Implementation.AppStream.2FDEP-11_for_the_Debian_Archive">GSoC
1758 project</a> will take place this summer to improve the situation. I
1759 look forward to seeing the result, and welcome patches for isenkram to
1760 start using the information when it is ready.</p>
1761
1762 <p>If you want your package to map to some specific hardware, either
1763 add a "Xb-Modaliases" header to your control file like I did in
1764 <a href="http://packages.qa.debian.org/pymissile">the pymissile
1765 package</a> or submit a bug report with the details to the isenkram
1766 package. See also
1767 <a href="http://people.skolelinux.org/pere/blog/tags/isenkram/">all my
1768 blog posts tagged isenkram</a> for details on the notation. I expect
1769 the information will be migrated to AppStream eventually, but for the
1770 moment I got no better place to store it.</p>
1771
1772 </div>
1773 <div class="tags">
1774
1775
1776 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>.
1777
1778
1779 </div>
1780 </div>
1781 <div class="padding"></div>
1782
1783 <div class="entry">
1784 <div class="title">
1785 <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>
1786 </div>
1787 <div class="date">
1788 15th April 2014
1789 </div>
1790 <div class="body">
1791 <p>The <a href="https://wiki.debian.org/FreedomBox">Freedombox
1792 project</a> is working on providing the software and hardware to make
1793 it easy for non-technical people to host their data and communication
1794 at home, and being able to communicate with their friends and family
1795 encrypted and away from prying eyes. It is still going strong, and
1796 today a major mile stone was reached.</p>
1797
1798 <p>Today, the last of the packages currently used by the project to
1799 created the system images were accepted into Debian Unstable. It was
1800 the freedombox-setup package, which is used to configure the images
1801 during build and on the first boot. Now all one need to get going is
1802 the build code from the freedom-maker git repository and packages from
1803 Debian. And once the freedombox-setup package enter testing, we can
1804 build everything directly from Debian. :)</p>
1805
1806 <p>Some key packages used by Freedombox are
1807 <a href="http://packages.qa.debian.org/freedombox-setup">freedombox-setup</a>,
1808 <a href="http://packages.qa.debian.org/plinth">plinth</a>,
1809 <a href="http://packages.qa.debian.org/pagekite">pagekite</a>,
1810 <a href="http://packages.qa.debian.org/tor">tor</a>,
1811 <a href="http://packages.qa.debian.org/privoxy">privoxy</a>,
1812 <a href="http://packages.qa.debian.org/owncloud">owncloud</a> and
1813 <a href="http://packages.qa.debian.org/dnsmasq">dnsmasq</a>. There
1814 are plans to integrate more packages into the setup. User
1815 documentation is maintained on the Debian wiki. Please
1816 <a href="https://wiki.debian.org/FreedomBox/Manual/Jessie">check out
1817 the manual</a> and help us improve it.</p>
1818
1819 <p>To test for yourself and create boot images with the FreedomBox
1820 setup, run this on a Debian machine using a user with sudo rights to
1821 become root:</p>
1822
1823 <p><pre>
1824 sudo apt-get install git vmdebootstrap mercurial python-docutils \
1825 mktorrent extlinux virtualbox qemu-user-static binfmt-support \
1826 u-boot-tools
1827 git clone http://anonscm.debian.org/git/freedombox/freedom-maker.git \
1828 freedom-maker
1829 make -C freedom-maker dreamplug-image raspberry-image virtualbox-image
1830 </pre></p>
1831
1832 <p>Root access is needed to run debootstrap and mount loopback
1833 devices. See the README in the freedom-maker git repo for more
1834 details on the build. If you do not want all three images, trim the
1835 make line. Note that the virtualbox-image target is not really
1836 virtualbox specific. It create a x86 image usable in kvm, qemu,
1837 vmware and any other x86 virtual machine environment. You might need
1838 the version of vmdebootstrap in Jessie to get the build working, as it
1839 include fixes for a race condition with kpartx.</p>
1840
1841 <p>If you instead want to install using a Debian CD and the preseed
1842 method, boot a Debian Wheezy ISO and use this boot argument to load
1843 the preseed values:</p>
1844
1845 <p><pre>
1846 url=<a href="http://www.reinholdtsen.name/freedombox/preseed-jessie.dat">http://www.reinholdtsen.name/freedombox/preseed-jessie.dat</a>
1847 </pre></p>
1848
1849 <p>I have not tested it myself the last few weeks, so I do not know if
1850 it still work.</p>
1851
1852 <p>If you wonder how to help, one task you could look at is using
1853 systemd as the boot system. It will become the default for Linux in
1854 Jessie, so we need to make sure it is usable on the Freedombox. I did
1855 a simple test a few weeks ago, and noticed dnsmasq failed to start
1856 during boot when using systemd. I suspect there are other problems
1857 too. :) To detect problems, there is a test suite included, which can
1858 be run from the plinth web interface.</p>
1859
1860 <p>Give it a go and let us know how it goes on the mailing list, and help
1861 us get the new release published. :) Please join us on
1862 <a href="irc://irc.debian.org:6667/%23freedombox">IRC (#freedombox on
1863 irc.debian.org)</a> and
1864 <a href="http://lists.alioth.debian.org/mailman/listinfo/freedombox-discuss">the
1865 mailing list</a> if you want to help make this vision come true.</p>
1866
1867 </div>
1868 <div class="tags">
1869
1870
1871 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>.
1872
1873
1874 </div>
1875 </div>
1876 <div class="padding"></div>
1877
1878 <div class="entry">
1879 <div class="title">
1880 <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>
1881 </div>
1882 <div class="date">
1883 9th April 2014
1884 </div>
1885 <div class="body">
1886 <p>For a while now, I have been looking for a sensible offsite backup
1887 solution for use at home. My requirements are simple, it must be
1888 cheap and locally encrypted (in other words, I keep the encryption
1889 keys, the storage provider do not have access to my private files).
1890 One idea me and my friends had many years ago, before the cloud
1891 storage providers showed up, was to use Google mail as storage,
1892 writing a Linux block device storing blocks as emails in the mail
1893 service provided by Google, and thus get heaps of free space. On top
1894 of this one can add encryption, RAID and volume management to have
1895 lots of (fairly slow, I admit that) cheap and encrypted storage. But
1896 I never found time to implement such system. But the last few weeks I
1897 have looked at a system called
1898 <a href="https://bitbucket.org/nikratio/s3ql/">S3QL</a>, a locally
1899 mounted network backed file system with the features I need.</p>
1900
1901 <p>S3QL is a fuse file system with a local cache and cloud storage,
1902 handling several different storage providers, any with Amazon S3,
1903 Google Drive or OpenStack API. There are heaps of such storage
1904 providers. S3QL can also use a local directory as storage, which
1905 combined with sshfs allow for file storage on any ssh server. S3QL
1906 include support for encryption, compression, de-duplication, snapshots
1907 and immutable file systems, allowing me to mount the remote storage as
1908 a local mount point, look at and use the files as if they were local,
1909 while the content is stored in the cloud as well. This allow me to
1910 have a backup that should survive fire. The file system can not be
1911 shared between several machines at the same time, as only one can
1912 mount it at the time, but any machine with the encryption key and
1913 access to the storage service can mount it if it is unmounted.</p>
1914
1915 <p>It is simple to use. I'm using it on Debian Wheezy, where the
1916 package is included already. So to get started, run <tt>apt-get
1917 install s3ql</tt>. Next, pick a storage provider. I ended up picking
1918 Greenqloud, after reading their nice recipe on
1919 <a href="https://greenqloud.zendesk.com/entries/44611757-How-To-Use-S3QL-to-mount-a-StorageQloud-bucket-on-Debian-Wheezy">how
1920 to use S3QL with their Amazon S3 service</a>, because I trust the laws
1921 in Iceland more than those in USA when it come to keeping my personal
1922 data safe and private, and thus would rather spend money on a company
1923 in Iceland. Another nice recipe is available from the article
1924 <a href="http://www.admin-magazine.com/HPC/Articles/HPC-Cloud-Storage">S3QL
1925 Filesystem for HPC Storage</a> by Jeff Layton in the HPC section of
1926 Admin magazine. When the provider is picked, figure out how to get
1927 the API key needed to connect to the storage API. With Greencloud,
1928 the key did not show up until I had added payment details to my
1929 account.</p>
1930
1931 <p>Armed with the API access details, it is time to create the file
1932 system. First, create a new bucket in the cloud. This bucket is the
1933 file system storage area. I picked a bucket name reflecting the
1934 machine that was going to store data there, but any name will do.
1935 I'll refer to it as <tt>bucket-name</tt> below. In addition, one need
1936 the API login and password, and a locally created password. Store it
1937 all in ~root/.s3ql/authinfo2 like this:
1938
1939 <p><blockquote><pre>
1940 [s3c]
1941 storage-url: s3c://s.greenqloud.com:443/bucket-name
1942 backend-login: API-login
1943 backend-password: API-password
1944 fs-passphrase: local-password
1945 </pre></blockquote></p>
1946
1947 <p>I create my local passphrase using <tt>pwget 50</tt> or similar,
1948 but any sensible way to create a fairly random password should do it.
1949 Armed with these details, it is now time to run mkfs, entering the API
1950 details and password to create it:</p>
1951
1952 <p><blockquote><pre>
1953 # mkdir -m 700 /var/lib/s3ql-cache
1954 # mkfs.s3ql --cachedir /var/lib/s3ql-cache --authfile /root/.s3ql/authinfo2 \
1955 --ssl s3c://s.greenqloud.com:443/bucket-name
1956 Enter backend login:
1957 Enter backend password:
1958 Before using S3QL, make sure to read the user's guide, especially
1959 the 'Important Rules to Avoid Loosing Data' section.
1960 Enter encryption password:
1961 Confirm encryption password:
1962 Generating random encryption key...
1963 Creating metadata tables...
1964 Dumping metadata...
1965 ..objects..
1966 ..blocks..
1967 ..inodes..
1968 ..inode_blocks..
1969 ..symlink_targets..
1970 ..names..
1971 ..contents..
1972 ..ext_attributes..
1973 Compressing and uploading metadata...
1974 Wrote 0.00 MB of compressed metadata.
1975 # </pre></blockquote></p>
1976
1977 <p>The next step is mounting the file system to make the storage available.
1978
1979 <p><blockquote><pre>
1980 # mount.s3ql --cachedir /var/lib/s3ql-cache --authfile /root/.s3ql/authinfo2 \
1981 --ssl --allow-root s3c://s.greenqloud.com:443/bucket-name /s3ql
1982 Using 4 upload threads.
1983 Downloading and decompressing metadata...
1984 Reading metadata...
1985 ..objects..
1986 ..blocks..
1987 ..inodes..
1988 ..inode_blocks..
1989 ..symlink_targets..
1990 ..names..
1991 ..contents..
1992 ..ext_attributes..
1993 Mounting filesystem...
1994 # df -h /s3ql
1995 Filesystem Size Used Avail Use% Mounted on
1996 s3c://s.greenqloud.com:443/bucket-name 1.0T 0 1.0T 0% /s3ql
1997 #
1998 </pre></blockquote></p>
1999
2000 <p>The file system is now ready for use. I use rsync to store my
2001 backups in it, and as the metadata used by rsync is downloaded at
2002 mount time, no network traffic (and storage cost) is triggered by
2003 running rsync. To unmount, one should not use the normal umount
2004 command, as this will not flush the cache to the cloud storage, but
2005 instead running the umount.s3ql command like this:
2006
2007 <p><blockquote><pre>
2008 # umount.s3ql /s3ql
2009 #
2010 </pre></blockquote></p>
2011
2012 <p>There is a fsck command available to check the file system and
2013 correct any problems detected. This can be used if the local server
2014 crashes while the file system is mounted, to reset the "already
2015 mounted" flag. This is what it look like when processing a working
2016 file system:</p>
2017
2018 <p><blockquote><pre>
2019 # fsck.s3ql --force --ssl s3c://s.greenqloud.com:443/bucket-name
2020 Using cached metadata.
2021 File system seems clean, checking anyway.
2022 Checking DB integrity...
2023 Creating temporary extra indices...
2024 Checking lost+found...
2025 Checking cached objects...
2026 Checking names (refcounts)...
2027 Checking contents (names)...
2028 Checking contents (inodes)...
2029 Checking contents (parent inodes)...
2030 Checking objects (reference counts)...
2031 Checking objects (backend)...
2032 ..processed 5000 objects so far..
2033 ..processed 10000 objects so far..
2034 ..processed 15000 objects so far..
2035 Checking objects (sizes)...
2036 Checking blocks (referenced objects)...
2037 Checking blocks (refcounts)...
2038 Checking inode-block mapping (blocks)...
2039 Checking inode-block mapping (inodes)...
2040 Checking inodes (refcounts)...
2041 Checking inodes (sizes)...
2042 Checking extended attributes (names)...
2043 Checking extended attributes (inodes)...
2044 Checking symlinks (inodes)...
2045 Checking directory reachability...
2046 Checking unix conventions...
2047 Checking referential integrity...
2048 Dropping temporary indices...
2049 Backing up old metadata...
2050 Dumping metadata...
2051 ..objects..
2052 ..blocks..
2053 ..inodes..
2054 ..inode_blocks..
2055 ..symlink_targets..
2056 ..names..
2057 ..contents..
2058 ..ext_attributes..
2059 Compressing and uploading metadata...
2060 Wrote 0.89 MB of compressed metadata.
2061 #
2062 </pre></blockquote></p>
2063
2064 <p>Thanks to the cache, working on files that fit in the cache is very
2065 quick, about the same speed as local file access. Uploading large
2066 amount of data is to me limited by the bandwidth out of and into my
2067 house. Uploading 685 MiB with a 100 MiB cache gave me 305 kiB/s,
2068 which is very close to my upload speed, and downloading the same
2069 Debian installation ISO gave me 610 kiB/s, close to my download speed.
2070 Both were measured using <tt>dd</tt>. So for me, the bottleneck is my
2071 network, not the file system code. I do not know what a good cache
2072 size would be, but suspect that the cache should e larger than your
2073 working set.</p>
2074
2075 <p>I mentioned that only one machine can mount the file system at the
2076 time. If another machine try, it is told that the file system is
2077 busy:</p>
2078
2079 <p><blockquote><pre>
2080 # mount.s3ql --cachedir /var/lib/s3ql-cache --authfile /root/.s3ql/authinfo2 \
2081 --ssl --allow-root s3c://s.greenqloud.com:443/bucket-name /s3ql
2082 Using 8 upload threads.
2083 Backend reports that fs is still mounted elsewhere, aborting.
2084 #
2085 </pre></blockquote></p>
2086
2087 <p>The file content is uploaded when the cache is full, while the
2088 metadata is uploaded once every 24 hour by default. To ensure the
2089 file system content is flushed to the cloud, one can either umount the
2090 file system, or ask S3QL to flush the cache and metadata using
2091 s3qlctrl:
2092
2093 <p><blockquote><pre>
2094 # s3qlctrl upload-meta /s3ql
2095 # s3qlctrl flushcache /s3ql
2096 #
2097 </pre></blockquote></p>
2098
2099 <p>If you are curious about how much space your data uses in the
2100 cloud, and how much compression and deduplication cut down on the
2101 storage usage, you can use s3qlstat on the mounted file system to get
2102 a report:</p>
2103
2104 <p><blockquote><pre>
2105 # s3qlstat /s3ql
2106 Directory entries: 9141
2107 Inodes: 9143
2108 Data blocks: 8851
2109 Total data size: 22049.38 MB
2110 After de-duplication: 21955.46 MB (99.57% of total)
2111 After compression: 21877.28 MB (99.22% of total, 99.64% of de-duplicated)
2112 Database size: 2.39 MB (uncompressed)
2113 (some values do not take into account not-yet-uploaded dirty blocks in cache)
2114 #
2115 </pre></blockquote></p>
2116
2117 <p>I mentioned earlier that there are several possible suppliers of
2118 storage. I did not try to locate them all, but am aware of at least
2119 <a href="https://www.greenqloud.com/">Greenqloud</a>,
2120 <a href="http://drive.google.com/">Google Drive</a>,
2121 <a href="http://aws.amazon.com/s3/">Amazon S3 web serivces</a>,
2122 <a href="http://www.rackspace.com/">Rackspace</a> and
2123 <a href="http://crowncloud.net/">Crowncloud</A>. The latter even
2124 accept payment in Bitcoin. Pick one that suit your need. Some of
2125 them provide several GiB of free storage, but the prize models are
2126 quite different and you will have to figure out what suits you
2127 best.</p>
2128
2129 <p>While researching this blog post, I had a look at research papers
2130 and posters discussing the S3QL file system. There are several, which
2131 told me that the file system is getting a critical check by the
2132 science community and increased my confidence in using it. One nice
2133 poster is titled
2134 "<a href="http://www.lanl.gov/orgs/adtsc/publications/science_highlights_2013/docs/pg68_69.pdf">An
2135 Innovative Parallel Cloud Storage System using OpenStack’s SwiftObject
2136 Store and Transformative Parallel I/O Approach</a>" by Hsing-Bung
2137 Chen, Benjamin McClelland, David Sherrill, Alfred Torrez, Parks Fields
2138 and Pamela Smith. Please have a look.</p>
2139
2140 <p>Given my problems with different file systems earlier, I decided to
2141 check out the mounted S3QL file system to see if it would be usable as
2142 a home directory (in other word, that it provided POSIX semantics when
2143 it come to locking and umask handling etc). Running
2144 <a href="http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html">my
2145 test code to check file system semantics</a>, I was happy to discover that
2146 no error was found. So the file system can be used for home
2147 directories, if one chooses to do so.</p>
2148
2149 <p>If you do not want a locally file system, and want something that
2150 work without the Linux fuse file system, I would like to mention the
2151 <a href="http://www.tarsnap.com/">Tarsnap service</a>, which also
2152 provide locally encrypted backup using a command line client. It have
2153 a nicer access control system, where one can split out read and write
2154 access, allowing some systems to write to the backup and others to
2155 only read from it.</p>
2156
2157 <p>As usual, if you use Bitcoin and want to show your support of my
2158 activities, please send Bitcoin donations to my address
2159 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
2160
2161 </div>
2162 <div class="tags">
2163
2164
2165 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>.
2166
2167
2168 </div>
2169 </div>
2170 <div class="padding"></div>
2171
2172 <div class="entry">
2173 <div class="title">
2174 <a href="http://people.skolelinux.org/pere/blog/ReactOS_Windows_clone___nice_free_software.html">ReactOS Windows clone - nice free software</a>
2175 </div>
2176 <div class="date">
2177 1st April 2014
2178 </div>
2179 <div class="body">
2180 <p>Microsoft have announced that Windows XP reaches its end of life
2181 2014-04-08, in 7 days. But there are heaps of machines still running
2182 Windows XP, and depending on Windows XP to run their applications, and
2183 upgrading will be expensive, both when it comes to money and when it
2184 comes to the amount of effort needed to migrate from Windows XP to a
2185 new operating system. Some obvious options (buy new a Windows
2186 machine, buy a MacOSX machine, install Linux on the existing machine)
2187 are already well known and covered elsewhere. Most of them involve
2188 leaving the user applications installed on Windows XP behind and
2189 trying out replacements or updated versions. In this blog post I want
2190 to mention one strange bird that allow people to keep the hardware and
2191 the existing Windows XP applications and run them on a free software
2192 operating system that is Windows XP compatible.</p>
2193
2194 <p><a href="http://www.reactos.org/">ReactOS</a> is a free software
2195 operating system (GNU GPL licensed) working on providing a operating
2196 system that is binary compatible with Windows, able to run windows
2197 programs directly and to use Windows drivers for hardware directly.
2198 The project goal is for Windows user to keep their existing machines,
2199 drivers and software, and gain the advantages from user a operating
2200 system without usage limitations caused by non-free licensing. It is
2201 a Windows clone running directly on the hardware, so quite different
2202 from the approach taken by <a href="http://www.winehq.org/">the Wine
2203 project</a>, which make it possible to run Windows binaries on
2204 Linux.</p>
2205
2206 <p>The ReactOS project share code with the Wine project, so most
2207 shared libraries available on Windows are already implemented already.
2208 There is also a software manager like the one we are used to on Linux,
2209 allowing the user to install free software applications with a simple
2210 click directly from the Internet. Check out the
2211 <a href="http://www.reactos.org/screenshots">screen shots on the
2212 project web site</a> for an idea what it look like (it looks just like
2213 Windows before metro).</p>
2214
2215 <p>I do not use ReactOS myself, preferring Linux and Unix like
2216 operating systems. I've tested it, and it work fine in a virt-manager
2217 virtual machine. The browser, minesweeper, notepad etc is working
2218 fine as far as I can tell. Unfortunately, my main test application
2219 is the software included on a CD with the Lego Mindstorms NXT, which
2220 seem to install just fine from CD but fail to leave any binaries on
2221 the disk after the installation. So no luck with that test software.
2222 No idea why, but hope someone else figure out and fix the problem.
2223 I've tried the ReactOS Live ISO on a physical machine, and it seemed
2224 to work just fine. If you like Windows and want to keep running your
2225 old Windows binaries, check it out by
2226 <a href="http://www.reactos.org/download">downloading</a> the
2227 installation CD, the live CD or the preinstalled virtual machine
2228 image.</p>
2229
2230 </div>
2231 <div class="tags">
2232
2233
2234 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/reactos">reactos</a>.
2235
2236
2237 </div>
2238 </div>
2239 <div class="padding"></div>
2240
2241 <div class="entry">
2242 <div class="title">
2243 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Roger_Marsal.html">Debian Edu interview: Roger Marsal</a>
2244 </div>
2245 <div class="date">
2246 30th March 2014
2247 </div>
2248 <div class="body">
2249 <p><a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a>
2250 keep gaining new users. Some weeks ago, a person showed up on IRC,
2251 <a href="irc://irc.debian.org/#debian-edu">#debian-edu</a>, with a
2252 wish to contribute, and I managed to get a interview with this great
2253 contributor Roger Marsal to learn more about his background.</p>
2254
2255 <p><strong>Who are you, and how do you spend your days?</strong></p>
2256
2257 <p>My name is Roger Marsal, I'm 27 years old (1986 generation) and I
2258 live in Barcelona, Spain. I've got a strong business background and I
2259 work as a patrimony manager and as a real estate agent. Additionally,
2260 I've co-founded a British based tech company that is nowadays on the
2261 last development phase of a new social networking concept.</p>
2262
2263 <p>I'm a Linux enthusiast that started its journey with Ubuntu four years
2264 ago and have recently switched to Debian seeking rock solid stability
2265 and as a necessary step to gain expertise.</p>
2266
2267 <p>In a nutshell, I spend my days working and learning as much as I
2268 can to face both my job, entrepreneur project and feed my Linux
2269 hunger.</p>
2270
2271 <p><strong>How did you get in contact with the Skolelinux / Debian Edu
2272 project?</strong></p>
2273
2274 <p>I discovered the <a href="http://www.ltsp.org/">LTSP</a> advantages
2275 with "Ubuntu 12.04 alternate install" and after a year of use I
2276 started looking for an alternative. Even though I highly value and
2277 respect the Ubuntu project, I thought it was necessary for me to
2278 change to a more robust and stable alternative. As far as I was using
2279 Debian on my personal laptop I thought it would be fine to install
2280 Debian and configure an LTSP server myself. Surprised, I discovered
2281 that the Debian project also supported a kind of Edubuntu equivalent,
2282 and after having some pain I obtained a Debian Edu network up and
2283 running. I just loved it.</p>
2284
2285 <p><strong>What do you see as the advantages of Skolelinux / Debian
2286 Edu?</strong></p>
2287
2288 <p>I found a main advantage in that, once you know "the tips and
2289 tricks", a new installation just works out of the box. It's the most
2290 complete alternative I've found to create an LTSP network. All the
2291 other distributions seems to be made of plastic, Debian Edu seems to
2292 be made of steel.</p>
2293
2294 <p><strong>What do you see as the disadvantages of Skolelinux / Debian
2295 Edu?</strong></p>
2296
2297 <p>I found two main disadvantages.</p>
2298
2299 <p>I'm not an expert but I've got notions and I had to spent a considerable
2300 amount of time trying to bring up a standard network topology. I'm quite
2301 stubborn and I just worked until I did but I'm sure many people with few
2302 resources (not big schools, but academies for example) would have switched
2303 or dropped.</p>
2304
2305 <p>It's amazing how such a complex system like Debian Edu has achieved
2306 this out-of-the-box state. Even though tweaking without breaking gets
2307 more difficult, as more factors have to be considered. This can
2308 discourage many people too.</p>
2309
2310 <p><strong>Which free software do you use daily?</strong></p>
2311
2312 <p>I use Debian, Firefox, Okular, Inkscape, LibreOffice and
2313 Virtualbox.</p>
2314
2315
2316 <p><strong>Which strategy do you believe is the right one to use to
2317 get schools to use free software?</strong></p>
2318
2319 <p>I don't think there is a need for a particular strategy. The free
2320 attribute in both "freedom" and "no price" meanings is what will
2321 really bring free software to schools. In my experience I can think of
2322 the <a href="http://www.r-project.org/">"R" statistical language</a>; a
2323 few years a ago was an extremely nerd tool for university people.
2324 Today it's being increasingly used to teach statistics at many
2325 different level of studies. I believe free and open software will
2326 increasingly gain popularity, but I'm sure schools will be one of the
2327 first scenarios where this will happen.</p>
2328
2329 </div>
2330 <div class="tags">
2331
2332
2333 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju</a>.
2334
2335
2336 </div>
2337 </div>
2338 <div class="padding"></div>
2339
2340 <div class="entry">
2341 <div class="title">
2342 <a href="http://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html">Public Trusted Timestamping services for everyone</a>
2343 </div>
2344 <div class="date">
2345 25th March 2014
2346 </div>
2347 <div class="body">
2348 <p>Did you ever need to store logs or other files in a way that would
2349 allow it to be used as evidence in court, and needed a way to
2350 demonstrate without reasonable doubt that the file had not been
2351 changed since it was created? Or, did you ever need to document that
2352 a given document was received at some point in time, like some
2353 archived document or the answer to an exam, and not changed after it
2354 was received? The problem in these settings is to remove the need to
2355 trust yourself and your computers, while still being able to prove
2356 that a file is the same as it was at some given time in the past.</p>
2357
2358 <p>A solution to these problems is to have a trusted third party
2359 "stamp" the document and verify that at some given time the document
2360 looked a given way. Such
2361 <a href="https://en.wikipedia.org/wiki/Notarius">notarius</a> service
2362 have been around for thousands of years, and its digital equivalent is
2363 called a
2364 <a href="http://en.wikipedia.org/wiki/Trusted_timestamping">trusted
2365 timestamping service</a>. <a href="http://www.ietf.org/">The Internet
2366 Engineering Task Force</a> standardised how such service could work a
2367 few years ago as <a href="http://tools.ietf.org/html/rfc3161">RFC
2368 3161</a>. The mechanism is simple. Create a hash of the file in
2369 question, send it to a trusted third party which add a time stamp to
2370 the hash and sign the result with its private key, and send back the
2371 signed hash + timestamp. Both email, FTP and HTTP can be used to
2372 request such signature, depending on what is provided by the service
2373 used. Anyone with the document and the signature can then verify that
2374 the document matches the signature by creating their own hash and
2375 checking the signature using the trusted third party public key.
2376 There are several commercial services around providing such
2377 timestamping. A quick search for
2378 "<a href="https://duckduckgo.com/?q=rfc+3161+service">rfc 3161
2379 service</a>" pointed me to at least
2380 <a href="https://www.digistamp.com/technical/how-a-digital-time-stamp-works/">DigiStamp</a>,
2381 <a href="http://www.quovadisglobal.co.uk/CertificateServices/SigningServices/TimeStamp.aspx">Quo
2382 Vadis</a>,
2383 <a href="https://www.globalsign.com/timestamp-service/">Global Sign</a>
2384 and <a href="http://www.globaltrustfinder.com/TSADefault.aspx">Global
2385 Trust Finder</a>. The system work as long as the private key of the
2386 trusted third party is not compromised.</p>
2387
2388 <p>But as far as I can tell, there are very few public trusted
2389 timestamp services available for everyone. I've been looking for one
2390 for a while now. But yesterday I found one over at
2391 <a href="https://www.pki.dfn.de/zeitstempeldienst/">Deutches
2392 Forschungsnetz</a> mentioned in
2393 <a href="http://www.d-mueller.de/blog/dealing-with-trusted-timestamps-in-php-rfc-3161/">a
2394 blog by David Müller</a>. I then found
2395 <a href="http://www.rz.uni-greifswald.de/support/dfn-pki-zertifikate/zeitstempeldienst.html">a
2396 good recipe on how to use the service</a> over at the University of
2397 Greifswald.</p>
2398
2399 <p><a href="http://www.openssl.org/">The OpenSSL library</a> contain
2400 both server and tools to use and set up your own signing service. See
2401 the ts(1SSL), tsget(1SSL) manual pages for more details. The
2402 following shell script demonstrate how to extract a signed timestamp
2403 for any file on the disk in a Debian environment:</p>
2404
2405 <p><blockquote><pre>
2406 #!/bin/sh
2407 set -e
2408 url="http://zeitstempel.dfn.de"
2409 caurl="https://pki.pca.dfn.de/global-services-ca/pub/cacert/chain.txt"
2410 reqfile=$(mktemp -t tmp.XXXXXXXXXX.tsq)
2411 resfile=$(mktemp -t tmp.XXXXXXXXXX.tsr)
2412 cafile=chain.txt
2413 if [ ! -f $cafile ] ; then
2414 wget -O $cafile "$caurl"
2415 fi
2416 openssl ts -query -data "$1" -cert | tee "$reqfile" \
2417 | /usr/lib/ssl/misc/tsget -h "$url" -o "$resfile"
2418 openssl ts -reply -in "$resfile" -text 1>&2
2419 openssl ts -verify -data "$1" -in "$resfile" -CAfile "$cafile" 1>&2
2420 base64 < "$resfile"
2421 rm "$reqfile" "$resfile"
2422 </pre></blockquote></p>
2423
2424 <p>The argument to the script is the file to timestamp, and the output
2425 is a base64 encoded version of the signature to STDOUT and details
2426 about the signature to STDERR. Note that due to
2427 <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=742553">a bug
2428 in the tsget script</a>, you might need to modify the included script
2429 and remove the last line. Or just write your own HTTP uploader using
2430 curl. :) Now you too can prove and verify that files have not been
2431 changed.</p>
2432
2433 <p>But the Internet need more public trusted timestamp services.
2434 Perhaps something for <a href="http://www.uninett.no/">Uninett</a> or
2435 my work place the <a href="http://www.uio.no/">University of Oslo</a>
2436 to set up?</p>
2437
2438 </div>
2439 <div class="tags">
2440
2441
2442 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet</a>.
2443
2444
2445 </div>
2446 </div>
2447 <div class="padding"></div>
2448
2449 <div class="entry">
2450 <div class="title">
2451 <a href="http://people.skolelinux.org/pere/blog/Video_DVD_reader_library___python_dvdvideo___nice_free_software.html">Video DVD reader library / python-dvdvideo - nice free software</a>
2452 </div>
2453 <div class="date">
2454 21st March 2014
2455 </div>
2456 <div class="body">
2457 <p>Keeping your DVD collection safe from scratches and curious
2458 children fingers while still having it available when you want to see a
2459 movie is not straight forward. My preferred method at the moment is
2460 to store a full copy of the ISO on a hard drive, and use VLC, Popcorn
2461 Hour or other useful players to view the resulting file. This way the
2462 subtitles and bonus material are still available and using the ISO is
2463 just like inserting the original DVD record in the DVD player.</p>
2464
2465 <p>Earlier I used dd for taking security copies, but it do not handle
2466 DVDs giving read errors (which are quite a few of them). I've also
2467 tried using
2468 <a href="http://people.skolelinux.org/pere/blog/Ripping_problematic_DVDs_using_dvdbackup_and_genisoimage.html">dvdbackup
2469 and genisoimage</a>, but these days I use the marvellous python library
2470 and program
2471 <a href="http://bblank.thinkmo.de/blog/new-software-python-dvdvideo">python-dvdvideo</a>
2472 written by Bastian Blank. It is
2473 <a href="http://packages.qa.debian.org/p/python-dvdvideo.html">in Debian
2474 already</a> and the binary package name is python3-dvdvideo. Instead
2475 of trying to read every block from the DVD, it parses the file
2476 structure and figure out which block on the DVD is actually in used,
2477 and only read those blocks from the DVD. This work surprisingly well,
2478 and I have been able to almost backup my entire DVD collection using
2479 this method.</p>
2480
2481 <p>So far, python-dvdvideo have failed on between 10 and
2482 20 DVDs, which is a small fraction of my collection. The most common
2483 problem is
2484 <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=720831">DVDs
2485 using UTF-16 instead of UTF-8 characters</a>, which according to
2486 Bastian is against the DVD specification (and seem to cause some
2487 players to fail too). A rarer problem is what seem to be inconsistent
2488 DVD structures, as the python library
2489 <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=723079">claim
2490 there is a overlap between objects</a>. An equally rare problem claim
2491 <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=741878">some
2492 value is out of range</a>. No idea what is going on there. I wish I
2493 knew enough about the DVD format to fix these, to ensure my movie
2494 collection will stay with me in the future.</p>
2495
2496 <p>So, if you need to keep your DVDs safe, back them up using
2497 python-dvdvideo. :)</p>
2498
2499 </div>
2500 <div class="tags">
2501
2502
2503 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/opphavsrett">opphavsrett</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
2504
2505
2506 </div>
2507 </div>
2508 <div class="padding"></div>
2509
2510 <div class="entry">
2511 <div class="title">
2512 <a href="http://people.skolelinux.org/pere/blog/Freedombox_on_Dreamplug__Raspberry_Pi_and_virtual_x86_machine.html">Freedombox on Dreamplug, Raspberry Pi and virtual x86 machine</a>
2513 </div>
2514 <div class="date">
2515 14th March 2014
2516 </div>
2517 <div class="body">
2518 <p>The <a href="https://wiki.debian.org/FreedomBox">Freedombox
2519 project</a> is working on providing the software and hardware for
2520 making it easy for non-technical people to host their data and
2521 communication at home, and being able to communicate with their
2522 friends and family encrypted and away from prying eyes. It has been
2523 going on for a while, and is slowly progressing towards a new test
2524 release (0.2).</p>
2525
2526 <p>And what day could be better than the Pi day to announce that the
2527 new version will provide "hard drive" / SD card / USB stick images for
2528 Dreamplug, Raspberry Pi and VirtualBox (or any other virtualization
2529 system), and can also be installed using a Debian installer preseed
2530 file. The Debian based Freedombox is now based on Debian Jessie,
2531 where most of the needed packages used are already present. Only one,
2532 the freedombox-setup package, is missing. To try to build your own
2533 boot image to test the current status, fetch the freedom-maker scripts
2534 and build using
2535 <a href="http://packages.qa.debian.org/vmdebootstrap">vmdebootstrap</a>
2536 with a user with sudo access to become root:
2537
2538 <pre>
2539 git clone http://anonscm.debian.org/git/freedombox/freedom-maker.git \
2540 freedom-maker
2541 sudo apt-get install git vmdebootstrap mercurial python-docutils \
2542 mktorrent extlinux virtualbox qemu-user-static binfmt-support \
2543 u-boot-tools
2544 make -C freedom-maker dreamplug-image raspberry-image virtualbox-image
2545 </pre>
2546
2547 <p>Root access is needed to run debootstrap and mount loopback
2548 devices. See the README for more details on the build. If you do not
2549 want all three images, trim the make line. But note that thanks to <a
2550 href="https://bugs.debian.org/741407">a race condition in
2551 vmdebootstrap</a>, the build might fail without the patch to the
2552 kpartx call.</p>
2553
2554 <p>If you instead want to install using a Debian CD and the preseed
2555 method, boot a Debian Wheezy ISO and use this boot argument to load
2556 the preseed values:</p>
2557
2558 <pre>
2559 url=<a href="http://www.reinholdtsen.name/freedombox/preseed-jessie.dat">http://www.reinholdtsen.name/freedombox/preseed-jessie.dat</a>
2560 </pre>
2561
2562 <p>But note that due to <a href="https://bugs.debian.org/740673">a
2563 recently introduced bug in apt in Jessie</a>, the installer will
2564 currently hang while setting up APT sources. Killing the
2565 '<tt>apt-cdrom ident</tt>' process when it hang a few times during the
2566 installation will get the installation going. This affect all
2567 installations in Jessie, and I expect it will be fixed soon.</p>
2568
2569 <p>Give it a go and let us know how it goes on the mailing list, and help
2570 us get the new release published. :) Please join us on
2571 <a href="irc://irc.debian.org:6667/%23freedombox">IRC (#freedombox on
2572 irc.debian.org)</a> and
2573 <a href="http://lists.alioth.debian.org/mailman/listinfo/freedombox-discuss">the
2574 mailing list</a> if you want to help make this vision come true.</p>
2575
2576 </div>
2577 <div class="tags">
2578
2579
2580 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>.
2581
2582
2583 </div>
2584 </div>
2585 <div class="padding"></div>
2586
2587 <div class="entry">
2588 <div class="title">
2589 <a href="http://people.skolelinux.org/pere/blog/How_to_add_extra_storage_servers_in_Debian_Edu___Skolelinux.html">How to add extra storage servers in Debian Edu / Skolelinux</a>
2590 </div>
2591 <div class="date">
2592 12th March 2014
2593 </div>
2594 <div class="body">
2595 <p>On larger sites, it is useful to use a dedicated storage server for
2596 storing user home directories and data. The design for handling this
2597 in <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a>, is
2598 to update the automount rules in LDAP and let the automount daemon on
2599 the clients take care of the rest. I was reminded about the need to
2600 document this better when one of the customers of
2601 <a href="http://www.slxdrift.no/">Skolelinux Drift AS</a>, where I am
2602 on the board of directors, asked about how to do this. The steps to
2603 get this working are the following:</p>
2604
2605 <p><ol>
2606
2607 <li>Add new storage server in DNS. I use nas-server.intern as the
2608 example host here.</li>
2609
2610 <li>Add automoun LDAP information about this server in LDAP, to allow
2611 all clients to automatically mount it on reqeust.</li>
2612
2613 <li>Add the relevant entries in tjener.intern:/etc/fstab, because
2614 tjener.intern do not use automount to avoid mounting loops.</li>
2615
2616 </ol></p>
2617
2618 <p>DNS entries are added in GOsa², and not described here. Follow the
2619 <a href="https://wiki.debian.org/DebianEdu/Documentation/Wheezy/GettingStarted">instructions
2620 in the manual</a> (Machine Management with GOsa² in section Getting
2621 started).</p>
2622
2623 <p>Ensure that the NFS export points on the server are exported to the
2624 relevant subnets or machines:</p>
2625
2626 <p><blockquote><pre>
2627 root@tjener:~# showmount -e nas-server
2628 Export list for nas-server:
2629 /storage 10.0.0.0/8
2630 root@tjener:~#
2631 </pre></blockquote></p>
2632
2633 <p>Here everything on the backbone network is granted access to the
2634 /storage export. With NFSv3 it is slightly better to limit it to
2635 netgroup membership or single IP addresses to have some limits on the
2636 NFS access.</p>
2637
2638 <p>The next step is to update LDAP. This can not be done using GOsa²,
2639 because it lack a module for automount. Instead, use ldapvi and add
2640 the required LDAP objects using an editor.</p>
2641
2642 <p><blockquote><pre>
2643 ldapvi --ldap-conf -ZD '(cn=admin)' -b ou=automount,dc=skole,dc=skolelinux,dc=no
2644 </pre></blockquote></p>
2645
2646 <p>When the editor show up, add the following LDAP objects at the
2647 bottom of the document. The "/&" part in the last LDAP object is a
2648 wild card matching everything the nas-server exports, removing the
2649 need to list individual mount points in LDAP.</p>
2650
2651 <p><blockquote><pre>
2652 add cn=nas-server,ou=auto.skole,ou=automount,dc=skole,dc=skolelinux,dc=no
2653 objectClass: automount
2654 cn: nas-server
2655 automountInformation: -fstype=autofs --timeout=60 ldap:ou=auto.nas-server,ou=automount,dc=skole,dc=skolelinux,dc=no
2656
2657 add ou=auto.nas-server,ou=automount,dc=skole,dc=skolelinux,dc=no
2658 objectClass: top
2659 objectClass: automountMap
2660 ou: auto.nas-server
2661
2662 add cn=/,ou=auto.nas-server,ou=automount,dc=skole,dc=skolelinux,dc=no
2663 objectClass: automount
2664 cn: /
2665 automountInformation: -fstype=nfs,tcp,rsize=32768,wsize=32768,rw,intr,hard,nodev,nosuid,noatime nas-server.intern:/&
2666 </pre></blockquote></p>
2667
2668 <p>The last step to remember is to mount the relevant mount points in
2669 tjener.intern by adding them to /etc/fstab, creating the mount
2670 directories using mkdir and running "mount -a" to mount them.</p>
2671
2672 <p>When this is done, your users should be able to access the files on
2673 the storage server directly by just visiting the
2674 /tjener/nas-server/storage/ directory using any application on any
2675 workstation, LTSP client or LTSP server.</p>
2676
2677 </div>
2678 <div class="tags">
2679
2680
2681 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap</a>.
2682
2683
2684 </div>
2685 </div>
2686 <div class="padding"></div>
2687
2688 <div class="entry">
2689 <div class="title">
2690 <a href="http://people.skolelinux.org/pere/blog/New_home_and_release_1_0_for_netgroup_and_innetgr__aka_ng_utils_.html">New home and release 1.0 for netgroup and innetgr (aka ng-utils)</a>
2691 </div>
2692 <div class="date">
2693 22nd February 2014
2694 </div>
2695 <div class="body">
2696 <p>Many years ago, I wrote a GPL licensed version of the netgroup and
2697 innetgr tools, because I needed them in
2698 <a href="http://www.skolelinux.org/">Skolelinux</a>. I called the project
2699 ng-utils, and it has served me well. I placed the project under the
2700 <a href="http://www.hungry.com/">Hungry Programmer</a> umbrella, and it was maintained in our CVS
2701 repository. But many years ago, the CVS repository was dropped (lost,
2702 not migrated to new hardware, not sure), and the project have lacked a
2703 proper home since then.</p>
2704
2705 <p>Last summer, I had a look at the package and made a new release
2706 fixing a irritating crash bug, but was unable to store the changes in
2707 a proper source control system. I applied for a project on
2708 <a href="https://alioth.debian.org/">Alioth</a>, but did not have time
2709 to follow up on it. Until today. :)</p>
2710
2711 <p>After many hours of cleaning and migration, the ng-utils project
2712 now have a new home, and a git repository with the highlight of the
2713 history of the project. I published all release tarballs and imported
2714 them into the git repository. As the project is really stable and not
2715 expected to gain new features any time soon, I decided to make a new
2716 release and call it 1.0. Visit the new project home on
2717 <a href="https://alioth.debian.org/projects/ng-utils/">https://alioth.debian.org/projects/ng-utils/</a>
2718 if you want to check it out. The new version is also uploaded into
2719 <a href="http://packages.qa.debian.org/n/ng-utils.html">Debian Unstable</a>.</p>
2720
2721 </div>
2722 <div class="tags">
2723
2724
2725 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>.
2726
2727
2728 </div>
2729 </div>
2730 <div class="padding"></div>
2731
2732 <div class="entry">
2733 <div class="title">
2734 <a href="http://people.skolelinux.org/pere/blog/Testing_sysvinit_from_experimental_in_Debian_Hurd.html">Testing sysvinit from experimental in Debian Hurd</a>
2735 </div>
2736 <div class="date">
2737 3rd February 2014
2738 </div>
2739 <div class="body">
2740 <p>A few days ago I decided to try to help the Hurd people to get
2741 their changes into sysvinit, to allow them to use the normal sysvinit
2742 boot system instead of their old one. This follow up on the
2743 <a href="https://teythoon.cryptobitch.de//categories/gsoc.html">great
2744 Google Summer of Code work</a> done last summer by Justus Winter to
2745 get Debian on Hurd working more like Debian on Linux. To get started,
2746 I downloaded a prebuilt hard disk image from
2747 <a href="http://ftp.debian-ports.org/debian-cd/hurd-i386/current/debian-hurd.img.tar.gz">http://ftp.debian-ports.org/debian-cd/hurd-i386/current/debian-hurd.img.tar.gz</a>,
2748 and started it using virt-manager.</p>
2749
2750 <p>The first think I had to do after logging in (root without any
2751 password) was to get the network operational. I followed
2752 <a href="https://www.debian.org/ports/hurd/hurd-install">the
2753 instructions on the Debian GNU/Hurd ports page</a> and ran these
2754 commands as root to get the machine to accept a IP address from the
2755 kvm internal DHCP server:</p>
2756
2757 <p><blockquote><pre>
2758 settrans -fgap /dev/netdde /hurd/netdde
2759 kill $(ps -ef|awk '/[p]finet/ { print $2}')
2760 kill $(ps -ef|awk '/[d]evnode/ { print $2}')
2761 dhclient /dev/eth0
2762 </pre></blockquote></p>
2763
2764 <p>After this, the machine had internet connectivity, and I could
2765 upgrade it and install the sysvinit packages from experimental and
2766 enable it as the default boot system in Hurd.</p>
2767
2768 <p>But before I did that, I set a password on the root user, as ssh is
2769 running on the machine it for ssh login to work a password need to be
2770 set. Also, note that a bug somewhere in openssh on Hurd block
2771 compression from working. Remember to turn that off on the client
2772 side.</p>
2773
2774 <p>Run these commands as root to upgrade and test the new sysvinit
2775 stuff:</p>
2776
2777 <p><blockquote><pre>
2778 cat > /etc/apt/sources.list.d/experimental.list &lt;&lt;EOF
2779 deb http://http.debian.net/debian/ experimental main
2780 EOF
2781 apt-get update
2782 apt-get dist-upgrade
2783 apt-get install -t experimental initscripts sysv-rc sysvinit \
2784 sysvinit-core sysvinit-utils
2785 update-alternatives --config runsystem
2786 </pre></blockquote></p>
2787
2788 <p>To reboot after switching boot system, you have to use
2789 <tt>reboot-hurd</tt> instead of just <tt>reboot</tt>, as there is not
2790 yet a sysvinit process able to receive the signals from the normal
2791 'reboot' command. After switching to sysvinit as the boot system,
2792 upgrading every package and rebooting, the network come up with DHCP
2793 after boot as it should, and the settrans/pkill hack mentioned at the
2794 start is no longer needed. But for some strange reason, there are no
2795 longer any login prompt in the virtual console, so I logged in using
2796 ssh instead.
2797
2798 <p>Note that there are some race conditions in Hurd making the boot
2799 fail some times. No idea what the cause is, but hope the Hurd porters
2800 figure it out. At least Justus said on IRC (#debian-hurd on
2801 irc.debian.org) that they are aware of the problem. A way to reduce
2802 the impact is to upgrade to the Hurd packages built by Justus by
2803 adding this repository to the machine:</p>
2804
2805 <p><blockquote><pre>
2806 cat > /etc/apt/sources.list.d/hurd-ci.list &lt;&lt;EOF
2807 deb http://darnassus.sceen.net/~teythoon/hurd-ci/ sid main
2808 EOF
2809 </pre></blockquote></p>
2810
2811 <p>At the moment the prebuilt virtual machine get some packages from
2812 http://ftp.debian-ports.org/debian, because some of the packages in
2813 unstable do not yet include the required patches that are lingering in
2814 BTS. This is the completely list of "unofficial" packages installed:</p>
2815
2816 <p><blockquote><pre>
2817 # aptitude search '?narrow(?version(CURRENT),?origin(Debian Ports))'
2818 i emacs - GNU Emacs editor (metapackage)
2819 i gdb - GNU Debugger
2820 i hurd-recommended - Miscellaneous translators
2821 i isc-dhcp-client - ISC DHCP client
2822 i isc-dhcp-common - common files used by all the isc-dhcp* packages
2823 i libc-bin - Embedded GNU C Library: Binaries
2824 i libc-dev-bin - Embedded GNU C Library: Development binaries
2825 i libc0.3 - Embedded GNU C Library: Shared libraries
2826 i A libc0.3-dbg - Embedded GNU C Library: detached debugging symbols
2827 i libc0.3-dev - Embedded GNU C Library: Development Libraries and Hea
2828 i multiarch-support - Transitional package to ensure multiarch compatibilit
2829 i A x11-common - X Window System (X.Org) infrastructure
2830 i xorg - X.Org X Window System
2831 i A xserver-xorg - X.Org X server
2832 i A xserver-xorg-input-all - X.Org X server -- input driver metapackage
2833 #
2834 </pre></blockquote></p>
2835
2836 <p>All in all, testing hurd has been an interesting experience. :)
2837 X.org did not work out of the box and I never took the time to follow
2838 the porters instructions to fix it. This time I was interested in the
2839 command line stuff.<p>
2840
2841 </div>
2842 <div class="tags">
2843
2844
2845 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
2846
2847
2848 </div>
2849 </div>
2850 <div class="padding"></div>
2851
2852 <div class="entry">
2853 <div class="title">
2854 <a href="http://people.skolelinux.org/pere/blog/A_fist_full_of_non_anonymous_Bitcoins.html">A fist full of non-anonymous Bitcoins</a>
2855 </div>
2856 <div class="date">
2857 29th January 2014
2858 </div>
2859 <div class="body">
2860 <p>Bitcoin is a incredible use of peer to peer communication and
2861 encryption, allowing direct and immediate money transfer without any
2862 central control. It is sometimes claimed to be ideal for illegal
2863 activity, which I believe is quite a long way from the truth. At least
2864 I would not conduct illegal money transfers using a system where the
2865 details of every transaction are kept forever. This point is
2866 investigated in
2867 <a href="https://www.usenix.org/publications/login">USENIX ;login:</a>
2868 from December 2013, in the article
2869 "<a href="https://www.usenix.org/system/files/login/articles/03_meiklejohn-online.pdf">A
2870 Fistful of Bitcoins - Characterizing Payments Among Men with No
2871 Names</a>" by Sarah Meiklejohn, Marjori Pomarole,Grant Jordan, Kirill
2872 Levchenko, Damon McCoy, Geoffrey M. Voelker, and Stefan Savage. They
2873 analyse the transaction log in the Bitcoin system, using it to find
2874 addresses belong to individuals and organisations and follow the flow
2875 of money from both Bitcoin theft and trades on Silk Road to where the
2876 money end up. This is how they wrap up their article:</p>
2877
2878 <p><blockquote>
2879 <p>"To demonstrate the usefulness of this type of analysis, we turned
2880 our attention to criminal activity. In the Bitcoin economy, criminal
2881 activity can appear in a number of forms, such as dealing drugs on
2882 Silk Road or simply stealing someone else’s bitcoins. We followed the
2883 flow of bitcoins out of Silk Road (in particular, from one notorious
2884 address) and from a number of highly publicized thefts to see whether
2885 we could track the bitcoins to known services. Although some of the
2886 thieves attempted to use sophisticated mixing techniques (or possibly
2887 mix services) to obscure the flow of bitcoins, for the most part
2888 tracking the bitcoins was quite straightforward, and we ultimately saw
2889 large quantities of bitcoins flow to a variety of exchanges directly
2890 from the point of theft (or the withdrawal from Silk Road).</p>
2891
2892 <p>As acknowledged above, following stolen bitcoins to the point at
2893 which they are deposited into an exchange does not in itself identify
2894 the thief; however, it does enable further de-anonymization in the
2895 case in which certain agencies can determine (through, for example,
2896 subpoena power) the real-world owner of the account into which the
2897 stolen bitcoins were deposited. Because such exchanges seem to serve
2898 as chokepoints into and out of the Bitcoin economy (i.e., there are
2899 few alternative ways to cash out), we conclude that using Bitcoin for
2900 money laundering or other illicit purposes does not (at least at
2901 present) seem to be particularly attractive."</p>
2902 </blockquote><p>
2903
2904 <p>These researches are not the first to analyse the Bitcoin
2905 transaction log. The 2011 paper
2906 "<a href="http://arxiv.org/abs/1107.4524">An Analysis of Anonymity in
2907 the Bitcoin System</A>" by Fergal Reid and Martin Harrigan is
2908 summarized like this:</p>
2909
2910 <p><blockquote>
2911 "Anonymity in Bitcoin, a peer-to-peer electronic currency system, is a
2912 complicated issue. Within the system, users are identified by
2913 public-keys only. An attacker wishing to de-anonymize its users will
2914 attempt to construct the one-to-many mapping between users and
2915 public-keys and associate information external to the system with the
2916 users. Bitcoin tries to prevent this attack by storing the mapping of
2917 a user to his or her public-keys on that user's node only and by
2918 allowing each user to generate as many public-keys as required. In
2919 this chapter we consider the topological structure of two networks
2920 derived from Bitcoin's public transaction history. We show that the
2921 two networks have a non-trivial topological structure, provide
2922 complementary views of the Bitcoin system and have implications for
2923 anonymity. We combine these structures with external information and
2924 techniques such as context discovery and flow analysis to investigate
2925 an alleged theft of Bitcoins, which, at the time of the theft, had a
2926 market value of approximately half a million U.S. dollars."
2927 </blockquote></p>
2928
2929 <p>I hope these references can help kill the urban myth that Bitcoin
2930 is anonymous. It isn't really a good fit for illegal activites. Use
2931 cash if you need to stay anonymous, at least until regular DNA
2932 sampling of notes and coins become the norm. :)</p>
2933
2934 <p>As usual, if you use Bitcoin and want to show your support of my
2935 activities, please send Bitcoin donations to my address
2936 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
2937
2938 </div>
2939 <div class="tags">
2940
2941
2942 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin</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>.
2943
2944
2945 </div>
2946 </div>
2947 <div class="padding"></div>
2948
2949 <div class="entry">
2950 <div class="title">
2951 <a href="http://people.skolelinux.org/pere/blog/New_chrpath_release_0_16.html">New chrpath release 0.16</a>
2952 </div>
2953 <div class="date">
2954 14th January 2014
2955 </div>
2956 <div class="body">
2957 <p><a href="http://www.coverity.com/">Coverity</a> is a nice tool to
2958 find problems in C, C++ and Java code using static source code
2959 analysis. It can detect a lot of different problems, and is very
2960 useful to find memory and locking bugs in the error handling part of
2961 the source. The company behind it provide
2962 <a href="https://scan.coverity.com/">check of free software projects as
2963 a community service</a>, and many hundred free software projects are
2964 already checked. A few days ago I decided to have a closer look at
2965 the Coverity system, and discovered that the
2966 <a href="http://www.gnu.org/software/gnash/">gnash</a> and
2967 <a href="http://sourceforge.net/projects/ipmitool/">ipmitool</a>
2968 projects I am involved with was already registered. But these are
2969 fairly big, and I would also like to have a small and easy project to
2970 check, and decided to <a href="http://scan.coverity.com/projects/1179">request
2971 checking of the chrpath project</a>. It was
2972 added to the checker and discovered seven potential defects. Six of
2973 these were real, mostly resource "leak" when the program detected an
2974 error. Nothing serious, as the resources would be released a fraction
2975 of a second later when the program exited because of the error, but it
2976 is nice to do it right in case the source of the program some time in
2977 the future end up in a library. Having fixed all defects and added
2978 <a href="https://lists.alioth.debian.org/mailman/listinfo/chrpath-devel">a
2979 mailing list for the chrpath developers</a>, I decided it was time to
2980 publish a new release. These are the release notes:</p>
2981
2982 <p>New in 0.16 released 2014-01-14:</p>
2983
2984 <ul>
2985
2986 <li>Fixed all minor bugs discovered by Coverity.</li>
2987 <li>Updated config.sub and config.guess from the GNU project.</li>
2988 <li>Mention new project mailing list in the documentation.</li>
2989
2990 </ul>
2991
2992 <p>You can
2993 <a href="https://alioth.debian.org/frs/?group_id=31052">download the
2994 new version 0.16 from alioth</a>. Please let us know via the Alioth
2995 project if something is wrong with the new release. The test suite
2996 did not discover any old errors, so if you find a new one, please also
2997 include a test suite check.</p>
2998
2999 </div>
3000 <div class="tags">
3001
3002
3003 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
3004
3005
3006 </div>
3007 </div>
3008 <div class="padding"></div>
3009
3010 <div class="entry">
3011 <div class="title">
3012 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Dominik_George.html">Debian Edu interview: Dominik George</a>
3013 </div>
3014 <div class="date">
3015 25th December 2013
3016 </div>
3017 <div class="body">
3018 <p>The <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux
3019 project</a> consist of both newcomers and old timers, and this time I
3020 was able to get an interview with a newcomer in the project who showed
3021 up on the IRC channel a few weeks ago to let us know about his
3022 successful installation of Debian Edu Wheezy in his School. Say hello
3023 to <a href="https://www.ohloh.net/accounts/Natureshadow">Dominik
3024 George</a>.</p>
3025
3026 <!-- http://www.dominik-george.de/images/foto.jpg -->
3027
3028 <p><strong>Who are you, and how do you spend your days?</strong></p>
3029
3030 <p>I am a 23 year-old student from Germany who has spent half of his
3031 life with open source. In "real life", I am, as already mentioned, a
3032 student in the fields of Computer Science, Electrical Engineering,
3033 Information Technologies and Anglistics. Due to my (only partially
3034 voluntary) huge engagement in the open source world, these things are
3035 a bit vacant right now however.</p>
3036
3037 <p>I also have been working as a project teacher at a Gymasnium
3038 (public school) for various years now. I took up that work some time
3039 around 2005 when still attending that school myself and have continued
3040 it until today. I also had been running the (kind of very advanced)
3041 network of that school together with a team of very interested and
3042 talented students in the age of 11 to 15 years, who took the chance to
3043 learn a lot about open source and networking before I left the school
3044 to help building another school's informational education concept from
3045 scratch.</p>
3046
3047 <p>That said, one might see me as a kind of "glue" between school kids
3048 and the elderly of teachers as well as between the open source
3049 ecosystem and the (even more complex) educational ecosystem.</p>
3050
3051 <p>When I am not busy with open source or education, I like Geocaching
3052 and cycling.</p>
3053
3054 <p><strong>How did you get in contact with the Skolelinux / Debian Edu
3055 project?</strong></p>
3056
3057 <p>I think that happened some time around 2009 when I first attended
3058 <a href="http://www.froscon.org">FrOSCon</a> and visited the project
3059 booth. I think I wasn't too interested back then because I used to
3060 have an attitude of disliking software that does too much stuff on its
3061 own. Maybe I was too inexperienced to realise the upsides of an
3062 "out-of-the-box" solution ;).</p>
3063
3064 <p>The first time I actively talked to Skolelinux people was at
3065 <a href="http://www.openrheinruhr.de">OpenRheinRuhr</a> 2011 when the
3066 BiscuIT project, a home-grewn software used by my school for various
3067 really cool things from timetables and class contact lists to lunch
3068 ordering, student ID card printing and project elections first got to
3069 a stage where it could have been published. I asked the Skolelinux
3070 guys running the booth if the project were interested in it and gave a
3071 small demonstration, but there wasn't any real feedback and the guys
3072 seemed rather uninterested.</p>
3073
3074 <p>After I left the school where I developed the software, it got
3075 mostly lost, but I am now reimplementing it for my new school. I have
3076 reusability and compatibility in mind, and I hop there will be a new
3077 basis for contributing it to the Skolelinux project ;)!</p>
3078
3079 <p><strong>What do you see as the advantages of Skolelinux / Debian
3080 Edu?</strong></p>
3081
3082 <p>The most important advantage seems to be that it "just
3083 works". After overcoming some minor (but still very annoying) glitches
3084 in the installer, I got a fully functional, working school network,
3085 without the month-long hassle I experienced when setting all that up
3086 from scratch in earlier years. And above that, it rocked - I didn't
3087 have any real hardware at hand, because the school was just founded
3088 and has no money whatsoever, so I installed a combined server (main
3089 server, terminal services and workstation) in a VM on my personal
3090 notebook, bridging the LTSP network interface to the ethernet port,
3091 and then PXE-booted the Windows notebooks that were lying around from
3092 it. I could use 8 clients without any performance issues, by using a
3093 tiny little VM on a tiny little notebook. I think that's enough to say
3094 that it rocks!</p>
3095
3096 <p>Secondly, there are marketing reasons. Life's bad, and so no
3097 politician will ever permit a setup described as "Debian, an universal
3098 operating system, with some really cool educational tools" while they
3099 will be jsut fine with "Skolelinux, a single-purpose solution for your
3100 school network", even if both turn out to be the very same thing (yes,
3101 this is unfair towards the Skolelinux project, and must not be taken
3102 too seriously - you get the idea, anyway).</p>
3103
3104 <p><strong>What do you see as the disadvantages of Skolelinux / Debian
3105 Edu?</strong></p>
3106
3107 <p>I have not been involved with Skolelinux long enough to really
3108 answer this question in a fair way. Thus, please allow me to put it in
3109 other words: "What do you expect from Skolelinux to keep liking it?" I
3110 can list a few points about that:</p>
3111
3112 <ul>
3113
3114 <li>always strive to get all things integrated into Debian upstream
3115 <li>be open to discussion about changes and the like, even with newcomers
3116 <li>be helpful at being helpful ;)
3117
3118 </ul>
3119
3120 <p>I'm really sorry I cannot say much more about that :(!</p>
3121
3122 <p><strong>Which free software do you use daily?</strong></p>
3123
3124 <p>First of all, all software I use is free and open. I have abandoned
3125 all non-free software (except for firmware on my darned phone) this
3126 year.</p>
3127
3128 <p>I run Debian GNU/Linux on all PC systems I use. On that, I mostly
3129 run text tools. I use
3130 <a href="https://www.mirbsd.org/mksh.htm">mksh</a> as shell,
3131 <a href="https://www.mirbsd.org/jupp.htm">jupp</a> as very advanced
3132 text editor (I even got the developer to help me write a script/macro
3133 based full-featured student management software with the two),
3134 <a href="http://mcabber.com/">mcabber</a> for XMPP and
3135 <a href="http://www.irssi.org/">irssi</a> for IRC. For that overly
3136 coloured world called the WWW, I use
3137 <a href="https://www.mozilla.org/en-US/firefox/new/">Iceweasel
3138 (Firefox)</a>. Oh, and <a href="http://www.mutt.org/">mutt</a> for
3139 e-mail.</p>
3140
3141 <p>However, while I am personally aware of the fact that text tools
3142 are more efficient and powerful than anything else, I also use (or at
3143 least operate) some tools that are suitable to bring open source to
3144 kids. One of these things is <a href="http://jappix.org/">Jappix</a>,
3145 which I already introduced to some kids even before they got aware of
3146 Facebook, making them see for themselves that they do not need
3147 Facebook now ;).</p>
3148
3149 <p><strong>Which strategy do you believe is the right one to use to
3150 get schools to use free software?</strong></p>
3151
3152 <p>Well, that's a two-sided thing. One side is what I believe, and one
3153 side is what I have experienced.</p>
3154
3155 <p>I believe that the right strategy is showing them the benefits. But
3156 that won't work out as long as the acceptance of free alternatives
3157 grows globally. What I mean is that if all the kids are almost forced
3158 to use Windows, Facebook, Skype, you name it at home, they will not
3159 see why they would want to use alternatives at school. I have seen
3160 students take seat in front of a fully-functional, modern Debian
3161 desktop that could do anything their Windows at home could do, and
3162 they jsut refused to use it because "Linux sucks". It is something
3163 that makes the council of our city spend around 600000 € to buy
3164 software - not including hardware, mind you - for operating school
3165 networks, and for installing a system that, as has been proved, does
3166 not work. For those of you readers who are good at maths, have you
3167 already found out how many lives could have been saved with that money
3168 if we had instead used it to bring education to parts of the world
3169 that need it? I have, and found it to be nothing less dramatic than
3170 plain criminal.</p>
3171
3172 <p>That said, the only feasible way appears to be the bottom up
3173 method. We have to bring free software to kids and parents. I have
3174 founded an association named
3175 <a href="https://www.teckids.org">Teckids</a> here in Germany that does
3176 just that. We organise several events for kids and adolescents in the
3177 area of free and open source software, for example the
3178 <a href="http://kids.froscon.org">FrogLabs</a>, which share staff with
3179 Teckids and are the youth programme of
3180 <a href="http://www.froscon.org">the Free and Open Source Software
3181 Conference (FrOSCon)</a>. We do a lot more than most other conferences
3182 - this year, we first offered the FrogLabs as a holiday camp for kids
3183 aged 10 to 16. It was a huge success, with approx. 30 kids taking part
3184 and learning with and about free software through a whole weekend. All
3185 of us had a lot of fun, and the results were really exciting.</p>
3186
3187 <p>Apart from that, we are preparing a campaign that is supposed to bring
3188 the message of free alternatives to stuff kids use every day to them and
3189 their parents, e.g. the use of Jabber / Jappix instead of Facebook and
3190 Skype. To make that possible, we are planning to get together a team of
3191 clever kids who understand very well what their peers need and can bring
3192 it across to them. So we will have a peer-driven network of adolescents
3193 who teach each other and collect feedback from the community of minors.
3194 We then take that feedback and our own experience to work closely with
3195 open source projects, such as Skolelinux or Jappix, at improving their
3196 software in a way that makes it more and more attractive for the target
3197 group. At least I hope that we will have good cooperation with
3198 Skolelinux in the future ;)!</p>
3199
3200 <p>So in conclusion, what I believe is that, if it weren't for the world
3201 being so bad, it should be very clear to the political decision makers
3202 that the only way to go nowadays is free software for various reasons,
3203 but I have learnt that the only way that seems to work is bottom up.</p>
3204
3205 <!--
3206
3207 > * Who should be interviewed with this questions in the future?
3208
3209 That's probably the hardest question of them all, as I do not know the
3210 community. However, I would be willing to do the following:
3211
3212 <li>Run an interview with a German headteacher who is very open to
3213 free software, and also prefers it, but cannot really use it because
3214 of the decision makers above;
3215 <li>Run interviews with some kids, both with and without previous
3216 knowledge about free software
3217
3218 If that is wanted, just let me know ;).
3219
3220 -->
3221
3222 </div>
3223 <div class="tags">
3224
3225
3226 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju</a>.
3227
3228
3229 </div>
3230 </div>
3231 <div class="padding"></div>
3232
3233 <div class="entry">
3234 <div class="title">
3235 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Klaus_Knopper.html">Debian Edu interview: Klaus Knopper</a>
3236 </div>
3237 <div class="date">
3238 6th December 2013
3239 </div>
3240 <div class="body">
3241 <p>It has been a while since I managed to publish the last interview,
3242 but the <a href="http://www.skolelinux.org/">Debian Edu /
3243 Skolelinux</a> community is still going strong, and yesterday we even
3244 had a new school administrator show up on
3245 <a href="irc://irc.debian.org/#debian-edu">#debian-edu</a> to share
3246 his success story with installing Debian Edu at their school. This
3247 time I have been able to get some helpful comments from the creator of
3248 Knoppix, Klaus Knopper, who was involved in a Skolelinux project in
3249 Germany a few years ago.</p>
3250
3251 <p><strong>Who are you, and how do you spend your days?</strong></p>
3252
3253 <p>I am Klaus Knopper. I have a master degree in electrical
3254 engineering, and is currently professor in information management at
3255 the university of applied sciences Kaiserslautern / Germany and
3256 freelance Open Source software developer and consultant.</p>
3257
3258 <p>All of this is pretty much of the work I spend my days with. Apart
3259 from teaching, I'm also conducting some more or less experimental
3260 projects like the <a href="http://www.knoppix.org">Knoppix GNU/Linux live
3261 system</a> (Debian-based like Skolelinux),
3262 <a href="http://www.knopper.net/knoppix-adriane/index-en.html">ADRIANE</a>
3263 (a blind-friendly talking desktop system) and
3264 <a href="http://www.knopper.net/linbo/index-en.html">LINBO</a>
3265 (Linux-based network boot console, a fast remote install and repair
3266 system supporting various operating systems).</p>
3267
3268 <p><strong>How did you get in contact with the Skolelinux / Debian Edu
3269 project?</strong></p>
3270
3271 <p>The credit for this have to go to Kurt Gramlich, who is the German
3272 coordinator for Skolelinux. We were looking for an all-in-one open
3273 source community-supported distribution for schools, and Kurt
3274 introduced us to Skolelinux for this purpose.</p>
3275
3276 <p><strong>What do you see as the advantages of Skolelinux / Debian
3277 Edu?</strong></p>
3278
3279 <ul>
3280 <li>Quick installation,</li>
3281 <li>works (almost) out of the box,</li>
3282 <li>contains many useful software packages for teaching and learning,</li>
3283 <li>is a purely community-based distro and not controlled by a
3284 single company,</li>
3285 <li>has a large number of supporters and teachers who share their
3286 experience and problem solutions.</li>
3287 </ul>
3288
3289 <p><strong>What do you see as the disadvantages of Skolelinux / Debian
3290 Edu?</strong></p>
3291
3292 <ul>
3293 <li>Skolelinux is - as we had to learn - not easily upgradable to
3294 the next version. Opposed to its genuine Debian base, upgrading to
3295 a new version means a full new installation from scratch to get it
3296 working again reliably.
3297
3298 <li>Skolelinux is based on Debian/stable, and therefore always a
3299 little outdated in terms of program versions compared to Edubuntu or
3300 similar educational Linux distros, which rather use Debian/testing
3301 as their base.
3302
3303 <li>Skolelinux has some very self-opinionated and stubborn default
3304 configuration which in my opinion adds unnecessary complexity and is
3305 not always suitable for a schools needs, the preset network
3306 configuration is actually a core definition feature of Skolelinux
3307 and not easy to change, so schools sometimes have to change their
3308 network configuration to make it "Skolelinux-compatible".
3309
3310 <li>Some proposed extensions, which were made available as
3311 contribution, like secure examination mode and lecture material
3312 distribution and collection, were not accepted into the mainline
3313 Skolelinux development and are now not easy to maintain in the
3314 future because of Skolelinux somewhat undeterministic update
3315 schemes.</li>
3316
3317 <li>Skolelinux has only a very tiny number of base developers
3318 compared to Debian.</li>
3319
3320 </ul>
3321
3322 <p>For these reasons and experience from our project, I would now
3323 rather consider using plain Debian for schools next time, until
3324 Skolelinux is more closely integrated into Debian and becomes
3325 upgradeable without reinstallation.</p>
3326
3327 <p><strong>Which free software do you use daily?</strong></p>
3328
3329 <p>GNU/Linux with LXDE desktop, bash for interactive dialog and
3330 programming, texlive for documentation and correspondence,
3331 occasionally LibreOffice for document format conversion. Various
3332 programming languages for teaching.</p>
3333
3334 <p><strong>Which strategy do you believe is the right one to use to
3335 get schools to use free software?</strong></p>
3336
3337 <p>Strong arguments are</p>
3338
3339 <ul>
3340
3341 <li>Knowledge is free, and so should be methods and tools for
3342 teaching and learning.</li>
3343
3344 <li>Students can learn with and use the same software at school, at
3345 home, and at their working place without running into license or
3346 conversion problems.</li>
3347
3348 <li>Closed source or proprietary software hides knowledge rather
3349 than exposing it, and proprietary software vendors try to bind
3350 customers to certain products. But teachers need to teach
3351 science, not products.</li>
3352
3353 <li>If you have everything you for daily work as open source, what
3354 would you need proprietary software for?</li>
3355
3356 </ul>
3357
3358 </div>
3359 <div class="tags">
3360
3361
3362 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju</a>.
3363
3364
3365 </div>
3366 </div>
3367 <div class="padding"></div>
3368
3369 <div class="entry">
3370 <div class="title">
3371 <a href="http://people.skolelinux.org/pere/blog/Dugnadsnett_for_alle__a_wireless_community_network_in_Oslo__take_shape.html">Dugnadsnett for alle, a wireless community network in Oslo, take shape</a>
3372 </div>
3373 <div class="date">
3374 30th November 2013
3375 </div>
3376 <div class="body">
3377 <p>If you want the ability to electronically communicate directly with
3378 your neighbors and friends using a network controlled by your peers in
3379 stead of centrally controlled by a few corporations, or would like to
3380 experiment with interesting network technology, the
3381 <a href="http://www.dugnadsnett.no/">Dugnasnett for alle i Oslo</a>
3382 might be project for you. 39 mesh nodes are currently being planned,
3383 in the freshly started initiative from NUUG and Hackeriet to create a
3384 wireless community network. The work is inspired by
3385 <a href="http://freifunk.net/">Freifunk</a>,
3386 <a href="http://www.awmn.net/">Athens Wireless Metropolitan
3387 Network</a>, <a href="http://en.wikipedia.org/wiki/Roofnet">Roofnet</a>
3388 and other successful mesh networks around the globe. Two days ago we
3389 held a workshop to try to get people started on setting up their own
3390 mesh node, and there we decided to create a new mailing list
3391 <a href="http://lists.nuug.no/mailman/listinfo/dugnadsnett">dugnadsnett
3392 (at) nuug.no</a> and IRC channel
3393 <a href="irc://irc.freenode.net/#dugnadsnett.no">#dugnadsnett.no</a> to
3394 coordinate the work. See also the NUUG blog post
3395 <a href="http://www.nuug.no/news/E_postliste_og_IRC_kanal_for_Dugnadsnett_for_alle_i_Oslo.shtml">announcing
3396 the mailing list and IRC channel</a>.</p>
3397
3398 </div>
3399 <div class="tags">
3400
3401
3402 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
3403
3404
3405 </div>
3406 </div>
3407 <div class="padding"></div>
3408
3409 <div class="entry">
3410 <div class="title">
3411 <a href="http://people.skolelinux.org/pere/blog/New_chrpath_release_0_15.html">New chrpath release 0.15</a>
3412 </div>
3413 <div class="date">
3414 24th November 2013
3415 </div>
3416 <div class="body">
3417 <p>After many years break from the package and a vain hope that
3418 development would be continued by someone else, I finally pulled my
3419 acts together this morning and wrapped up a new release of chrpath,
3420 the command line tool to modify the rpath and runpath of already
3421 compiled ELF programs. The update was triggered by the persistence of
3422 Isha Vishnoi at IBM, which needed a new config.guess file to get
3423 support for the ppc64le architecture (powerpc 64-bit Little Endian) he
3424 is working on. I checked the
3425 <a href="http://packages.qa.debian.org/chrpath">Debian</a>,
3426 <a href="https://launchpad.net/ubuntu/+source/chrpath">Ubuntu</a> and
3427 <a href="https://admin.fedoraproject.org/pkgdb/acls/name/chrpath">Fedora</a>
3428 packages for interesting patches (failed to find the source from
3429 OpenSUSE and Mandriva packages), and found quite a few nice fixes.
3430 These are the release notes:</p>
3431
3432 <p>New in 0.15 released 2013-11-24:</p>
3433
3434 <ul>
3435
3436 <li>Updated config.sub and config.guess from the GNU project to work
3437 with newer architectures. Thanks to isha vishnoi for the heads
3438 up.</li>
3439
3440 <li>Updated README with current URLs.</li>
3441
3442 <li>Added byteswap fix found in Ubuntu, credited Jeremy Kerr and
3443 Matthias Klose.</li>
3444
3445 <li>Added missing help for -k|--keepgoing option, using patch by
3446 Petr Machata found in Fedora.</li>
3447
3448 <li>Rewrite removal of RPATH/RUNPATH to make sure the entry in
3449 .dynamic is a NULL terminated string. Based on patch found in
3450 Fedora credited Axel Thimm and Christian Krause.</li>
3451
3452 </ul>
3453
3454 <p>You can
3455 <a href="https://alioth.debian.org/frs/?group_id=31052">download the
3456 new version 0.15 from alioth</a>. Please let us know via the Alioth
3457 project if something is wrong with the new release. The test suite
3458 did not discover any old errors, so if you find a new one, please also
3459 include a testsuite check.</p>
3460
3461 </div>
3462 <div class="tags">
3463
3464
3465 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
3466
3467
3468 </div>
3469 </div>
3470 <div class="padding"></div>
3471
3472 <div class="entry">
3473 <div class="title">
3474 <a href="http://people.skolelinux.org/pere/blog/All_drones_should_be_radio_marked_with_what_they_do_and_who_they_belong_to.html">All drones should be radio marked with what they do and who they belong to</a>
3475 </div>
3476 <div class="date">
3477 21st November 2013
3478 </div>
3479 <div class="body">
3480 <p>Drones, flying robots, are getting more and more popular. The most
3481 know ones are the killer drones used by some government to murder
3482 people they do not like without giving them the chance of a fair
3483 trial, but the technology have many good uses too, from mapping and
3484 forest maintenance to photography and search and rescue. I am sure it
3485 is just a question of time before "bad drones" are in the hands of
3486 private enterprises and not only state criminals but petty criminals
3487 too. The drone technology is very useful and very dangerous. To have
3488 some control over the use of drones, I agree with Daniel Suarez in his
3489 TED talk
3490 "<a href="https://archive.org/details/DanielSuarez_2013G">The kill
3491 decision shouldn't belong to a robot</a>", where he suggested this
3492 little gem to keep the good while limiting the bad use of drones:</p>
3493
3494 <blockquote>
3495
3496 <p>Each robot and drone should have a cryptographically signed
3497 I.D. burned in at the factory that can be used to track its movement
3498 through public spaces. We have license plates on cars, tail numbers on
3499 aircraft. This is no different. And every citizen should be able to
3500 download an app that shows the population of drones and autonomous
3501 vehicles moving through public spaces around them, both right now and
3502 historically. And civic leaders should deploy sensors and civic drones
3503 to detect rogue drones, and instead of sending killer drones of their
3504 own up to shoot them down, they should notify humans to their
3505 presence. And in certain very high-security areas, perhaps civic
3506 drones would snare them and drag them off to a bomb disposal facility.</p>
3507
3508 <p>But notice, this is more an immune system than a weapons system. It
3509 would allow us to avail ourselves of the use of autonomous vehicles
3510 and drones while still preserving our open, civil society.</p>
3511
3512 </blockquote>
3513
3514 <p>The key is that <em>every citizen</em> should be able to read the
3515 radio beacons sent from the drones in the area, to be able to check
3516 both the government and others use of drones. For such control to be
3517 effective, everyone must be able to do it. What should such beacon
3518 contain? At least formal owner, purpose, contact information and GPS
3519 location. Probably also the origin and target position of the current
3520 flight. And perhaps some registration number to be able to look up
3521 the drone in a central database tracking their movement. Robots
3522 should not have privacy. It is people who need privacy.</p>
3523
3524 </div>
3525 <div class="tags">
3526
3527
3528 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/robot">robot</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>.
3529
3530
3531 </div>
3532 </div>
3533 <div class="padding"></div>
3534
3535 <div class="entry">
3536 <div class="title">
3537 <a href="http://people.skolelinux.org/pere/blog/Lets_make_a_wireless_community_network_in_Oslo_.html">Lets make a wireless community network in Oslo!</a>
3538 </div>
3539 <div class="date">
3540 13th November 2013
3541 </div>
3542 <div class="body">
3543 <p>Today NUUG and Hackeriet announced
3544 <a href="http://www.nuug.no/news/Bli_med___bygge_dugnadsnett_for_alle_i_Oslo.shtml">our
3545 plans to join forces and create a wireless community network in
3546 Oslo</a>. The workshop to help people get started will take place
3547 Thursday 2013-11-28, but we already are collecting the geolocation of
3548 people joining forces to make this happen. We have
3549 <a href="https://github.com/petterreinholdtsen/meshfx-node/blob/master/oslo-nodes.geojson">9
3550 locations plotted on the map</a>, but we will need more before we have
3551 a connected mesh spread across Oslo. If this sound interesting to
3552 you, please join us at the workshop. If you are too impatient to wait
3553 15 days, please join us on the IRC channel
3554 <a href="irc://irc.freenode.net/%23nuug">#nuug on irc.freenode.net</a>
3555 right away. :)</p>
3556
3557 </div>
3558 <div class="tags">
3559
3560
3561 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
3562
3563
3564 </div>
3565 </div>
3566 <div class="padding"></div>
3567
3568 <div class="entry">
3569 <div class="title">
3570 <a href="http://people.skolelinux.org/pere/blog/Running_TP_Link_MR3040_as_a_batman_adv_mesh_node_using_openwrt.html">Running TP-Link MR3040 as a batman-adv mesh node using openwrt</a>
3571 </div>
3572 <div class="date">
3573 10th November 2013
3574 </div>
3575 <div class="body">
3576 <p>Continuing my research into mesh networking, I was recommended to
3577 use TP-Link 3040 and 3600 access points as mesh nodes, and the pair I
3578 bought arrived on Friday. Here are my notes on how to set up the
3579 MR3040 as a mesh node using
3580 <a href="http://www.openwrt.org/">OpenWrt</a>.</p>
3581
3582 <p>I started by following the instructions on the OpenWRT wiki for
3583 <a href="http://wiki.openwrt.org/toh/tp-link/tl-mr3040">TL-MR3040</a>,
3584 and downloaded
3585 <a href="http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-mr3040-v2-squashfs-factory.bin">the
3586 recommended firmware image</a>
3587 (openwrt-ar71xx-generic-tl-mr3040-v2-squashfs-factory.bin) and
3588 uploaded it into the original web interface. The flashing went fine,
3589 and the machine was available via telnet on the ethernet port. After
3590 logging in and setting the root password, ssh was available and I
3591 could start to set it up as a batman-adv mesh node.</p>
3592
3593 <p>I started off by reading the instructions from
3594 <a href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=Antoine's_Research">Wireless
3595 Africa</a>, which had quite a lot of useful information, but
3596 eventually I followed the recipe from the Open Mesh wiki for
3597 <a href="http://www.open-mesh.org/projects/batman-adv/wiki/Batman-adv-openwrt-config">using
3598 batman-adv on OpenWrt</a>. A small snag was the fact that the
3599 <tt>opkg install kmod-batman-adv</tt> command did not work as it
3600 should. The batman-adv kernel module would fail to load because its
3601 dependency crc16 was not already loaded. I
3602 <a href="https://dev.openwrt.org/ticket/14452">reported the bug</a> to
3603 the openwrt project and hope it will be fixed soon. But the problem
3604 only seem to affect initial testing of batman-adv, as configuration
3605 seem to work when booting from scratch.</p>
3606
3607 <p>The setup is done using files in /etc/config/. I did not bridge
3608 the Ethernet and mesh interfaces this time, to be able to hook up the
3609 box on my local network and log into it for configuration updates.
3610 The following files were changed and look like this after modifying
3611 them:</p>
3612
3613 <p><tt>/etc/config/network</tt></p>
3614
3615 <pre>
3616
3617 config interface 'loopback'
3618 option ifname 'lo'
3619 option proto 'static'
3620 option ipaddr '127.0.0.1'
3621 option netmask '255.0.0.0'
3622
3623 config globals 'globals'
3624 option ula_prefix 'fdbf:4c12:3fed::/48'
3625
3626 config interface 'lan'
3627 option ifname 'eth0'
3628 option type 'bridge'
3629 option proto 'dhcp'
3630 option ipaddr '192.168.1.1'
3631 option netmask '255.255.255.0'
3632 option hostname 'tl-mr3040'
3633 option ip6assign '60'
3634
3635 config interface 'mesh'
3636 option ifname 'adhoc0'
3637 option mtu '1528'
3638 option proto 'batadv'
3639 option mesh 'bat0'
3640 </pre>
3641
3642 <p><tt>/etc/config/wireless</tt></p>
3643 <pre>
3644
3645 config wifi-device 'radio0'
3646 option type 'mac80211'
3647 option channel '11'
3648 option hwmode '11ng'
3649 option path 'platform/ar933x_wmac'
3650 option htmode 'HT20'
3651 list ht_capab 'SHORT-GI-20'
3652 list ht_capab 'SHORT-GI-40'
3653 list ht_capab 'RX-STBC1'
3654 list ht_capab 'DSSS_CCK-40'
3655 option disabled '0'
3656
3657 config wifi-iface 'wmesh'
3658 option device 'radio0'
3659 option ifname 'adhoc0'
3660 option network 'mesh'
3661 option encryption 'none'
3662 option mode 'adhoc'
3663 option bssid '02:BA:00:00:00:01'
3664 option ssid 'meshfx@hackeriet'
3665 </pre>
3666 <p><tt>/etc/config/batman-adv</tt></p>
3667 <pre>
3668
3669 config 'mesh' 'bat0'
3670 option interfaces 'adhoc0'
3671 option 'aggregated_ogms'
3672 option 'ap_isolation'
3673 option 'bonding'
3674 option 'fragmentation'
3675 option 'gw_bandwidth'
3676 option 'gw_mode'
3677 option 'gw_sel_class'
3678 option 'log_level'
3679 option 'orig_interval'
3680 option 'vis_mode'
3681 option 'bridge_loop_avoidance'
3682 option 'distributed_arp_table'
3683 option 'network_coding'
3684 option 'hop_penalty'
3685
3686 # yet another batX instance
3687 # config 'mesh' 'bat5'
3688 # option 'interfaces' 'second_mesh'
3689 </pre>
3690
3691 <p>The mesh node is now operational. I have yet to test its range,
3692 but I hope it is good. I have not yet tested the TP-Link 3600 box
3693 still wrapped up in plastic.</p>
3694
3695 </div>
3696 <div class="tags">
3697
3698
3699 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
3700
3701
3702 </div>
3703 </div>
3704 <div class="padding"></div>
3705
3706 <div class="entry">
3707 <div class="title">
3708 <a href="http://people.skolelinux.org/pere/blog/Debian_init_d_boot_script_example_for_rsyslog.html">Debian init.d boot script example for rsyslog</a>
3709 </div>
3710 <div class="date">
3711 2nd November 2013
3712 </div>
3713 <div class="body">
3714 <p>If one of the points of switching to a new init system in Debian is
3715 <a href="http://thomas.goirand.fr/blog/?p=147">to get rid of huge
3716 init.d scripts</a>, I doubt we need to switch away from sysvinit and
3717 init.d scripts at all. Here is an example init.d script, ie a rewrite
3718 of /etc/init.d/rsyslog:</p>
3719
3720 <p><pre>
3721 #!/lib/init/init-d-script
3722 ### BEGIN INIT INFO
3723 # Provides: rsyslog
3724 # Required-Start: $remote_fs $time
3725 # Required-Stop: umountnfs $time
3726 # X-Stop-After: sendsigs
3727 # Default-Start: 2 3 4 5
3728 # Default-Stop: 0 1 6
3729 # Short-Description: enhanced syslogd
3730 # Description: Rsyslog is an enhanced multi-threaded syslogd.
3731 # It is quite compatible to stock sysklogd and can be
3732 # used as a drop-in replacement.
3733 ### END INIT INFO
3734 DESC="enhanced syslogd"
3735 DAEMON=/usr/sbin/rsyslogd
3736 </pre></p>
3737
3738 <p>Pretty minimalistic to me... For the record, the original sysv-rc
3739 script was 137 lines, and the above is just 15 lines, most of it meta
3740 info/comments.</p>
3741
3742 <p>How to do this, you ask? Well, one create a new script
3743 /lib/init/init-d-script looking something like this:
3744
3745 <p><pre>
3746 #!/bin/sh
3747
3748 # Define LSB log_* functions.
3749 # Depend on lsb-base (>= 3.2-14) to ensure that this file is present
3750 # and status_of_proc is working.
3751 . /lib/lsb/init-functions
3752
3753 #
3754 # Function that starts the daemon/service
3755
3756 #
3757 do_start()
3758 {
3759 # Return
3760 # 0 if daemon has been started
3761 # 1 if daemon was already running
3762 # 2 if daemon could not be started
3763 start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
3764 || return 1
3765 start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
3766 $DAEMON_ARGS \
3767 || return 2
3768 # Add code here, if necessary, that waits for the process to be ready
3769 # to handle requests from services started subsequently which depend
3770 # on this one. As a last resort, sleep for some time.
3771 }
3772
3773 #
3774 # Function that stops the daemon/service
3775 #
3776 do_stop()
3777 {
3778 # Return
3779 # 0 if daemon has been stopped
3780 # 1 if daemon was already stopped
3781 # 2 if daemon could not be stopped
3782 # other if a failure occurred
3783 start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
3784 RETVAL="$?"
3785 [ "$RETVAL" = 2 ] && return 2
3786 # Wait for children to finish too if this is a daemon that forks
3787 # and if the daemon is only ever run from this initscript.
3788 # If the above conditions are not satisfied then add some other code
3789 # that waits for the process to drop all resources that could be
3790 # needed by services started subsequently. A last resort is to
3791 # sleep for some time.
3792 start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
3793 [ "$?" = 2 ] && return 2
3794 # Many daemons don't delete their pidfiles when they exit.
3795 rm -f $PIDFILE
3796 return "$RETVAL"
3797 }
3798
3799 #
3800 # Function that sends a SIGHUP to the daemon/service
3801 #
3802 do_reload() {
3803 #
3804 # If the daemon can reload its configuration without
3805 # restarting (for example, when it is sent a SIGHUP),
3806 # then implement that here.
3807 #
3808 start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
3809 return 0
3810 }
3811
3812 SCRIPTNAME=$1
3813 scriptbasename="$(basename $1)"
3814 echo "SN: $scriptbasename"
3815 if [ "$scriptbasename" != "init-d-library" ] ; then
3816 script="$1"
3817 shift
3818 . $script
3819 else
3820 exit 0
3821 fi
3822
3823 NAME=$(basename $DAEMON)
3824 PIDFILE=/var/run/$NAME.pid
3825
3826 # Exit if the package is not installed
3827 #[ -x "$DAEMON" ] || exit 0
3828
3829 # Read configuration variable file if it is present
3830 [ -r /etc/default/$NAME ] && . /etc/default/$NAME
3831
3832 # Load the VERBOSE setting and other rcS variables
3833 . /lib/init/vars.sh
3834
3835 case "$1" in
3836 start)
3837 [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
3838 do_start
3839 case "$?" in
3840 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
3841 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
3842 esac
3843 ;;
3844 stop)
3845 [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
3846 do_stop
3847 case "$?" in
3848 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
3849 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
3850 esac
3851 ;;
3852 status)
3853 status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
3854 ;;
3855 #reload|force-reload)
3856 #
3857 # If do_reload() is not implemented then leave this commented out
3858 # and leave 'force-reload' as an alias for 'restart'.
3859 #
3860 #log_daemon_msg "Reloading $DESC" "$NAME"
3861 #do_reload
3862 #log_end_msg $?
3863 #;;
3864 restart|force-reload)
3865 #
3866 # If the "reload" option is implemented then remove the
3867 # 'force-reload' alias
3868 #
3869 log_daemon_msg "Restarting $DESC" "$NAME"
3870 do_stop
3871 case "$?" in
3872 0|1)
3873 do_start
3874 case "$?" in
3875 0) log_end_msg 0 ;;
3876 1) log_end_msg 1 ;; # Old process is still running
3877 *) log_end_msg 1 ;; # Failed to start
3878 esac
3879 ;;
3880 *)
3881 # Failed to stop
3882 log_end_msg 1
3883 ;;
3884 esac
3885 ;;
3886 *)
3887 echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
3888 exit 3
3889 ;;
3890 esac
3891
3892 :
3893 </pre></p>
3894
3895 <p>It is based on /etc/init.d/skeleton, and could be improved quite a
3896 lot. I did not really polish the approach, so it might not always
3897 work out of the box, but you get the idea. I did not try very hard to
3898 optimize it nor make it more robust either.</p>
3899
3900 <p>A better argument for switching init system in Debian than reducing
3901 the size of init scripts (which is a good thing to do anyway), is to
3902 get boot system that is able to handle the kernel events sensibly and
3903 robustly, and do not depend on the boot to run sequentially. The boot
3904 and the kernel have not behaved sequentially in years.</p>
3905
3906 </div>
3907 <div class="tags">
3908
3909
3910 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
3911
3912
3913 </div>
3914 </div>
3915 <div class="padding"></div>
3916
3917 <div class="entry">
3918 <div class="title">
3919 <a href="http://people.skolelinux.org/pere/blog/Browser_plugin_for_SPICE__spice_xpi__uploaded_to_Debian.html">Browser plugin for SPICE (spice-xpi) uploaded to Debian</a>
3920 </div>
3921 <div class="date">
3922 1st November 2013
3923 </div>
3924 <div class="body">
3925 <p><a href="http://www.spice-space.org/">The SPICE protocol</a> for
3926 remote display access is the preferred solution with oVirt and RedHat
3927 Enterprise Virtualization, and I was sad to discover the other day
3928 that the browser plugin needed to use these systems seamlessly was
3929 missing in Debian. The <a href="http://bugs.debian.org/668284">request
3930 for a package</a> was from 2012-04-10 with no progress since
3931 2013-04-01, so I decided to wrap up a package based on the great work
3932 from Cajus Pollmeier and put it in a collab-maint maintained git
3933 repository to get a package I could use. I would very much like
3934 others to help me maintain the package (or just take over, I do not
3935 mind), but as no-one had volunteered so far, I just uploaded it to
3936 NEW. I hope it will be available in Debian in a few days.</p>
3937
3938 <p>The source is now available from
3939 <a href="http://anonscm.debian.org/gitweb/?p=collab-maint/spice-xpi.git;a=summary">http://anonscm.debian.org/gitweb/?p=collab-maint/spice-xpi.git;a=summary</a>.</p>
3940
3941 </div>
3942 <div class="tags">
3943
3944
3945 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>.
3946
3947
3948 </div>
3949 </div>
3950 <div class="padding"></div>
3951
3952 <div class="entry">
3953 <div class="title">
3954 <a href="http://people.skolelinux.org/pere/blog/Teaching_vmdebootstrap_to_create_Raspberry_Pi_SD_card_images.html">Teaching vmdebootstrap to create Raspberry Pi SD card images</a>
3955 </div>
3956 <div class="date">
3957 27th October 2013
3958 </div>
3959 <div class="body">
3960 <p>The
3961 <a href="http://packages.qa.debian.org/v/vmdebootstrap.html">vmdebootstrap</a>
3962 program is a a very nice system to create virtual machine images. It
3963 create a image file, add a partition table, mount it and run
3964 debootstrap in the mounted directory to create a Debian system on a
3965 stick. Yesterday, I decided to try to teach it how to make images for
3966 <a href="https://wiki.debian.org/RaspberryPi">Raspberry Pi</a>, as part
3967 of a plan to simplify the build system for
3968 <a href="https://wiki.debian.org/FreedomBox">the FreedomBox
3969 project</a>. The FreedomBox project already uses vmdebootstrap for
3970 the virtualbox images, but its current build system made multistrap
3971 based system for Dreamplug images, and it is lacking support for
3972 Raspberry Pi.</p>
3973
3974 <p>Armed with the knowledge on how to build "foreign" (aka non-native
3975 architecture) chroots for Raspberry Pi, I dived into the vmdebootstrap
3976 code and adjusted it to be able to build armel images on my amd64
3977 Debian laptop. I ended up giving vmdebootstrap five new options,
3978 allowing me to replicate the image creation process I use to make
3979 <a href="http://people.skolelinux.org/pere/blog/A_Raspberry_Pi_based_batman_adv_Mesh_network_node.html">Debian
3980 Jessie based mesh node images for the Raspberry Pi</a>. First, the
3981 <tt>--foreign /path/to/binfm_handler</tt> option tell vmdebootstrap to
3982 call debootstrap with --foreign and to copy the handler into the
3983 generated chroot before running the second stage. This allow
3984 vmdebootstrap to create armel images on an amd64 host. Next I added
3985 two new options <tt>--bootsize size</tt> and <tt>--boottype
3986 fstype</tt> to teach it to create a separate /boot/ partition with the
3987 given file system type, allowing me to create an image with a vfat
3988 partition for the /boot/ stuff. I also added a <tt>--variant
3989 variant</tt> option to allow me to create smaller images without the
3990 Debian base system packages installed. Finally, I added an option
3991 <tt>--no-extlinux</tt> to tell vmdebootstrap to not install extlinux
3992 as a boot loader. It is not needed on the Raspberry Pi and probably
3993 most other non-x86 architectures. The changes were accepted by the
3994 upstream author of vmdebootstrap yesterday and today, and is now
3995 available from
3996 <a href="http://git.liw.fi/cgi-bin/cgit/cgit.cgi/vmdebootstrap/">the
3997 upstream project page</a>.</p>
3998
3999 <p>To use it to build a Raspberry Pi image using Debian Jessie, first
4000 create a small script (the customize script) to add the non-free
4001 binary blob needed to boot the Raspberry Pi and the APT source
4002 list:</p>
4003
4004 <p><pre>
4005 #!/bin/sh
4006 set -e # Exit on first error
4007 rootdir="$1"
4008 cd "$rootdir"
4009 cat &lt;&lt;EOF > etc/apt/sources.list
4010 deb http://http.debian.net/debian/ jessie main contrib non-free
4011 EOF
4012 # Install non-free binary blob needed to boot Raspberry Pi. This
4013 # install a kernel somewhere too.
4014 wget https://raw.github.com/Hexxeh/rpi-update/master/rpi-update \
4015 -O $rootdir/usr/bin/rpi-update
4016 chmod a+x $rootdir/usr/bin/rpi-update
4017 mkdir -p $rootdir/lib/modules
4018 touch $rootdir/boot/start.elf
4019 chroot $rootdir rpi-update
4020 </pre></p>
4021
4022 <p>Next, fetch the latest vmdebootstrap script and call it like this
4023 to build the image:</p>
4024
4025 <pre>
4026 sudo ./vmdebootstrap \
4027 --variant minbase \
4028 --arch armel \
4029 --distribution jessie \
4030 --mirror http://http.debian.net/debian \
4031 --image test.img \
4032 --size 600M \
4033 --bootsize 64M \
4034 --boottype vfat \
4035 --log-level debug \
4036 --verbose \
4037 --no-kernel \
4038 --no-extlinux \
4039 --root-password raspberry \
4040 --hostname raspberrypi \
4041 --foreign /usr/bin/qemu-arm-static \
4042 --customize `pwd`/customize \
4043 --package netbase \
4044 --package git-core \
4045 --package binutils \
4046 --package ca-certificates \
4047 --package wget \
4048 --package kmod
4049 </pre></p>
4050
4051 <p>The list of packages being installed are the ones needed by
4052 rpi-update to make the image bootable on the Raspberry Pi, with the
4053 exception of netbase, which is needed by debootstrap to find
4054 /etc/hosts with the minbase variant. I really wish there was a way to
4055 set up an Raspberry Pi using only packages in the Debian archive, but
4056 that is not possible as far as I know, because it boots from the GPU
4057 using a non-free binary blob.</p>
4058
4059 <p>The build host need debootstrap, kpartx and qemu-user-static and
4060 probably a few others installed. I have not checked the complete
4061 build dependency list.</p>
4062
4063 <p>The resulting image will not use the hardware floating point unit
4064 on the Raspberry PI, because the armel architecture in Debian is not
4065 optimized for that use. So the images created will be a bit slower
4066 than <a href="http://www.raspbian.org/">Raspbian</a> based images.</p>
4067
4068 </div>
4069 <div class="tags">
4070
4071
4072 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/mesh network">mesh network</a>.
4073
4074
4075 </div>
4076 </div>
4077 <div class="padding"></div>
4078
4079 <div class="entry">
4080 <div class="title">
4081 <a href="http://people.skolelinux.org/pere/blog/A_Raspberry_Pi_based_batman_adv_Mesh_network_node.html">A Raspberry Pi based batman-adv Mesh network node</a>
4082 </div>
4083 <div class="date">
4084 21st October 2013
4085 </div>
4086 <div class="body">
4087 <p>The last few days I have been experimenting with
4088 <a href="http://www.open-mesh.org/projects/batman-adv/wiki">the
4089 batman-adv mesh technology</a>. I want to gain some experience to see
4090 if it will fit <a href="https://wiki.debian.org/FreedomBox">the
4091 Freedombox project</a>, and together with my neighbors try to build a
4092 mesh network around the park where I live. Batman-adv is a layer 2
4093 mesh system ("ethernet" in other words), where the mesh network appear
4094 as if all the mesh clients are connected to the same switch.</p>
4095
4096 <p>My hardware of choice was the Linksys WRT54GL routers I had lying
4097 around, but I've been unable to get them working with batman-adv. So
4098 instead, I started playing with a
4099 <a href="http://www.raspberrypi.org/">Raspberry Pi</a>, and tried to
4100 get it working as a mesh node. My idea is to use it to create a mesh
4101 node which function as a switch port, where everything connected to
4102 the Raspberry Pi ethernet plug is connected (bridged) to the mesh
4103 network. This allow me to hook a wifi base station like the Linksys
4104 WRT54GL to the mesh by plugging it into a Raspberry Pi, and allow
4105 non-mesh clients to hook up to the mesh. This in turn is useful for
4106 Android phones using <a href="http://servalproject.org/">the Serval
4107 Project</a> voip client, allowing every one around the playground to
4108 phone and message each other for free. The reason is that Android
4109 phones do not see ad-hoc wifi networks (they are filtered away from
4110 the GUI view), and can not join the mesh without being rooted. But if
4111 they are connected using a normal wifi base station, they can talk to
4112 every client on the local network.</p>
4113
4114 <p>To get this working, I've created a debian package
4115 <a href="https://github.com/petterreinholdtsen/meshfx-node">meshfx-node</a>
4116 and a script
4117 <a href="https://github.com/petterreinholdtsen/meshfx-node/blob/master/build-rpi-mesh-node">build-rpi-mesh-node</a>
4118 to create the Raspberry Pi boot image. I'm using Debian Jessie (and
4119 not Raspbian), to get more control over the packages available.
4120 Unfortunately a huge binary blob need to be inserted into the boot
4121 image to get it booting, but I'll ignore that for now. Also, as
4122 Debian lack support for the CPU features available in the Raspberry
4123 Pi, the system do not use the hardware floating point unit. I hope
4124 the routing performance isn't affected by the lack of hardware FPU
4125 support.</p>
4126
4127 <p>To create an image, run the following with a sudo enabled user
4128 after inserting the target SD card into the build machine:</p>
4129
4130 <p><pre>
4131 % wget -O build-rpi-mesh-node \
4132 https://raw.github.com/petterreinholdtsen/meshfx-node/master/build-rpi-mesh-node
4133 % sudo bash -x ./build-rpi-mesh-node > build.log 2>&1
4134 % dd if=/root/rpi/rpi_basic_jessie_$(date +%Y%m%d).img of=/dev/mmcblk0 bs=1M
4135 %
4136 </pre></p>
4137
4138 <p>Booting with the resulting SD card on a Raspberry PI with a USB
4139 wifi card inserted should give you a mesh node. At least it does for
4140 me with a the wifi card I am using. The default mesh settings are the
4141 ones used by the Oslo mesh project at Hackeriet, as I mentioned in
4142 <a href="http://people.skolelinux.org/pere/blog/Oslo_community_mesh_network___with_NUUG_and_Hackeriet_at_Hausmania.html">an
4143 earlier blog post about this mesh testing</a>.</p>
4144
4145 <p>The mesh node was not horribly expensive either. I bought
4146 everything over the counter in shops nearby. If I had ordered online
4147 from the lowest bidder, the price should be significantly lower:</p>
4148
4149 <p><table>
4150
4151 <tr><th>Supplier</th><th>Model</th><th>NOK</th></tr>
4152 <tr><td>Teknikkmagasinet</td><td>Raspberry Pi model B</td><td>349.90</td></tr>
4153 <tr><td>Teknikkmagasinet</td><td>Raspberry Pi type B case</td><td>99.90</td></tr>
4154 <tr><td>Lefdal</td><td>Jensen Air:Link 25150</td><td>295.-</td></tr>
4155 <tr><td>Clas Ohlson</td><td>Kingston 16 GB SD card</td><td>199.-</td></tr>
4156 <tr><td>Total cost</td><td></td><td>943.80</td></tr>
4157
4158 </table></p>
4159
4160 <p>Now my mesh network at home consist of one laptop in the basement
4161 connected to my production network, one Raspberry Pi node on the 1th
4162 floor that can be seen by my neighbor across the park, and one
4163 play-node I use to develop the image building script. And some times
4164 I hook up my work horse laptop to the mesh to test it. I look forward
4165 to figuring out what kind of latency the batman-adv setup will give,
4166 and how much packet loss we will experience around the park. :)</p>
4167
4168 </div>
4169 <div class="tags">
4170
4171
4172 Tags: <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/mesh network">mesh network</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
4173
4174
4175 </div>
4176 </div>
4177 <div class="padding"></div>
4178
4179 <div class="entry">
4180 <div class="title">
4181 <a href="http://people.skolelinux.org/pere/blog/Perl_library_to_control_the_Spykee_robot_moved_to_github.html">Perl library to control the Spykee robot moved to github</a>
4182 </div>
4183 <div class="date">
4184 19th October 2013
4185 </div>
4186 <div class="body">
4187 <p>Back in 2010, I created a Perl library to talk to
4188 <a href="http://en.wikipedia.org/wiki/Spykee">the Spykee robot</a>
4189 (with two belts, wifi, USB and Linux) and made it available from my
4190 web page. Today I concluded that it should move to a site that is
4191 easier to use to cooperate with others, and moved it to github. If
4192 you got a Spykee robot, you might want to check out
4193 <a href="https://github.com/petterreinholdtsen/libspykee-perl">the
4194 libspykee-perl github repository</a>.</p>
4195
4196 </div>
4197 <div class="tags">
4198
4199
4200 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/robot">robot</a>.
4201
4202
4203 </div>
4204 </div>
4205 <div class="padding"></div>
4206
4207 <div class="entry">
4208 <div class="title">
4209 <a href="http://people.skolelinux.org/pere/blog/Good_causes__Debian_Outreach_Program_for_Women__EFF_documenting_the_spying_and_Open_access_in_Norway.html">Good causes: Debian Outreach Program for Women, EFF documenting the spying and Open access in Norway</a>
4210 </div>
4211 <div class="date">
4212 15th October 2013
4213 </div>
4214 <div class="body">
4215 <p>The last few days I came across a few good causes that should get
4216 wider attention. I recommend signing and donating to each one of
4217 these. :)</p>
4218
4219 <p>Via <a href="http://www.debian.org/News/weekly/2013/18/">Debian
4220 Project News for 2013-10-14</a> I came across the Outreach Program for
4221 Women program which is a Google Summer of Code like initiative to get
4222 more women involved in free software. One debian sponsor has offered
4223 to match <a href="http://debian.ch/opw2013">any donation done to Debian
4224 earmarked</a> for this initiative. I donated a few minutes ago, and
4225 hope you will to. :)</p>
4226
4227 <p>And the Electronic Frontier Foundation just announced plans to
4228 create <a href="https://supporters.eff.org/donate/nsa-videos">video
4229 documentaries about the excessive spying</a> on every Internet user that
4230 take place these days, and their need to fund the work. I've already
4231 donated. Are you next?</p>
4232
4233 <p>For my Norwegian audience, the organisation Studentenes og
4234 Akademikernes Internasjonale Hjelpefond is collecting signatures for a
4235 statement under the heading
4236 <a href="http://saih.no/Bloggers_United/">Bloggers United for Open
4237 Access</a> for those of us asking for more focus on open access in the
4238 Norwegian government. So far 499 signatures. I hope you will sign it
4239 too.</p>
4240
4241 </div>
4242 <div class="tags">
4243
4244
4245 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/opphavsrett">opphavsrett</a>, <a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance</a>.
4246
4247
4248 </div>
4249 </div>
4250 <div class="padding"></div>
4251
4252 <div class="entry">
4253 <div class="title">
4254 <a href="http://people.skolelinux.org/pere/blog/Oslo_community_mesh_network___with_NUUG_and_Hackeriet_at_Hausmania.html">Oslo community mesh network - with NUUG and Hackeriet at Hausmania</a>
4255 </div>
4256 <div class="date">
4257 11th October 2013
4258 </div>
4259 <div class="body">
4260 <p>Wireless mesh networks are self organising and self healing
4261 networks that can be used to connect computers across small and large
4262 areas, depending on the radio technology used. Normal wifi equipment
4263 can be used to create home made radio networks, and there are several
4264 successful examples like
4265 <a href="http://www.freifunk.net/">Freifunk</a> and
4266 <a href="http://www.awmn.net/">Athens Wireless Metropolitan Network</a>
4267 (see
4268 <a href="http://en.wikipedia.org/wiki/List_of_wireless_community_networks_by_region#Greece">wikipedia
4269 for a large list</a>) around the globe. To give you an idea how it
4270 work, check out the nice overview of the Kiel Freifunk community which
4271 can be seen from their
4272 <a href="http://freifunk.in-kiel.de/ffmap/nodes.html">dynamically
4273 updated node graph and map</a>, where one can see how the mesh nodes
4274 automatically handle routing and recover from nodes disappearing.
4275 There is also a small community mesh network group in Oslo, Norway,
4276 and that is the main topic of this blog post.</p>
4277
4278 <p>I've wanted to check out mesh networks for a while now, and hoped
4279 to do it as part of my involvement with the <a
4280 href="http://www.nuug.no/">NUUG member organisation</a> community, and
4281 my recent involvement in
4282 <a href="https://wiki.debian.org/FreedomBox">the Freedombox project</a>
4283 finally lead me to give mesh networks some priority, as I suspect a
4284 Freedombox should use mesh networks to connect neighbours and family
4285 when possible, given that most communication between people are
4286 between those nearby (as shown for example by research on Facebook
4287 communication patterns). It also allow people to communicate without
4288 any central hub to tap into for those that want to listen in on the
4289 private communication of citizens, which have become more and more
4290 important over the years.</p>
4291
4292 <p>So far I have only been able to find one group of people in Oslo
4293 working on community mesh networks, over at the hack space
4294 <a href="http://hackeriet.no/">Hackeriet</a> at Husmania. They seem to
4295 have started with some Freifunk based effort using OLSR, called
4296 <a href="http://oslo.freifunk.net/index.php?title=Main_Page">the Oslo
4297 Freifunk project</a>, but that effort is now dead and the people
4298 behind it have moved on to a batman-adv based system called
4299 <a href="http://meshfx.org/trac">meshfx</a>. Unfortunately the wiki
4300 site for the Oslo Freifunk project is no longer possible to update to
4301 reflect this fact, so the old project page can't be updated to point to
4302 the new project. A while back, the people at Hackeriet invited people
4303 from the Freifunk community to Oslo to talk about mesh networks. I
4304 came across this video where Hans Jørgen Lysglimt interview the
4305 speakers about this talk (from
4306 <a href="https://www.youtube.com/watch?v=N2Kd7CLkhSY">youtube</a>):</p>
4307
4308 <p><iframe width="420" height="315" src="https://www.youtube.com/embed/N2Kd7CLkhSY" frameborder="0" allowfullscreen></iframe></p>
4309
4310 <p>I mentioned OLSR and batman-adv, which are mesh routing protocols.
4311 There are heaps of different protocols, and I am still struggling to
4312 figure out which one would be "best" for some definitions of best, but
4313 given that the community mesh group in Oslo is so small, I believe it
4314 is best to hook up with the existing one instead of trying to create a
4315 completely different setup, and thus I have decided to focus on
4316 batman-adv for now. It sure help me to know that the very cool
4317 <a href="http://www.servalproject.org/">Serval project in Australia</a>
4318 is using batman-adv as their meshing technology when it create a self
4319 organizing and self healing telephony system for disaster areas and
4320 less industrialized communities. Check out this cool video presenting
4321 that project (from
4322 <a href="https://www.youtube.com/watch?v=30qNfzJCQOA">youtube</a>):</p>
4323
4324 <p><iframe width="560" height="315" src="https://www.youtube.com/embed/30qNfzJCQOA" frameborder="0" allowfullscreen></iframe></p>
4325
4326 <p>According to the wikipedia page on
4327 <a href="http://en.wikipedia.org/wiki/Wireless_mesh_network">Wireless
4328 mesh network</a> there are around 70 competing schemes for routing
4329 packets across mesh networks, and OLSR, B.A.T.M.A.N. and
4330 B.A.T.M.A.N. advanced are protocols used by several free software
4331 based community mesh networks.</p>
4332
4333 <p>The batman-adv protocol is a bit special, as it provide layer 2
4334 (as in ethernet ) routing, allowing ipv4 and ipv6 to work on the same
4335 network. One way to think about it is that it provide a mesh based
4336 vlan you can bridge to or handle like any other vlan connected to your
4337 computer. The required drivers are already in the Linux kernel at
4338 least since Debian Wheezy, and it is fairly easy to set up. A
4339 <a href="http://www.open-mesh.org/projects/batman-adv/wiki/Quick-start-guide">good
4340 introduction</a> is available from the Open Mesh project. These are
4341 the key settings needed to join the Oslo meshfx network:</p>
4342
4343 <p><table>
4344 <tr><th>Setting</th><th>Value</th></tr>
4345 <tr><td>Protocol / kernel module</td><td>batman-adv</td></tr>
4346 <tr><td>ESSID</td><td>meshfx@hackeriet</td></tr>
4347 <td>Channel / Frequency</td><td>11 / 2462</td></tr>
4348 <td>Cell ID</td><td>02:BA:00:00:00:01</td>
4349 </table></p>
4350
4351 <p>The reason for setting ad-hoc wifi Cell ID is to work around bugs
4352 in firmware used in wifi card and wifi drivers. (See a nice post from
4353 VillageTelco about
4354 "<a href="http://tiebing.blogspot.no/2009/12/ad-hoc-cell-splitting-re-post-original.html">Information
4355 about cell-id splitting, stuck beacons, and failed IBSS merges!</a>
4356 for details.) When these settings are activated and you have some
4357 other mesh node nearby, your computer will be connected to the mesh
4358 network and can communicate with any mesh node that is connected to
4359 any of the nodes in your network of nodes. :)</p>
4360
4361 <p>My initial plan was to reuse my old Linksys WRT54GL as a mesh node,
4362 but that seem to be very hard, as I have not been able to locate a
4363 firmware supporting batman-adv. If anyone know how to use that old
4364 wifi access point with batman-adv these days, please let me know.</p>
4365
4366 <p>If you find this project interesting and want to join, please join
4367 us on IRC, either channel
4368 <a href="irc://irc.freenode.net/#oslohackerspace">#oslohackerspace</a>
4369 or <a href="irc://irc.freenode.net/#nuug">#nuug</a> on
4370 irc.freenode.net.</p>
4371
4372 <p>While investigating mesh networks in Oslo, I came across an old
4373 research paper from the university of Stavanger and Telenor Research
4374 and Innovation called
4375 <a href="http://folk.uio.no/paalee/publications/netrel-egeland-iswcs-2008.pdf">The
4376 reliability of wireless backhaul mesh networks</a> and elsewhere
4377 learned that Telenor have been experimenting with mesh networks at
4378 Grünerløkka in Oslo. So mesh networks are also interesting for
4379 commercial companies, even though Telenor discovered that it was hard
4380 to figure out a good business plan for mesh networking and as far as I
4381 know have closed down the experiment. Perhaps Telenor or others would
4382 be interested in a cooperation?</p>
4383
4384 <p><strong>Update 2013-10-12</strong>: I was just
4385 <a href="http://lists.alioth.debian.org/pipermail/freedombox-discuss/2013-October/005900.html">told
4386 by the Serval project developers</a> that they no longer use
4387 batman-adv (but are compatible with it), but their own crypto based
4388 mesh system.</p>
4389
4390 </div>
4391 <div class="tags">
4392
4393
4394 Tags: <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/mesh network">mesh network</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
4395
4396
4397 </div>
4398 </div>
4399 <div class="padding"></div>
4400
4401 <div class="entry">
4402 <div class="title">
4403 <a href="http://people.skolelinux.org/pere/blog/Skolelinux___Debian_Edu_7_1_install_and_overview_video_from_Marcelo_Salvador.html">Skolelinux / Debian Edu 7.1 install and overview video from Marcelo Salvador</a>
4404 </div>
4405 <div class="date">
4406 8th October 2013
4407 </div>
4408 <div class="body">
4409 <p>The other day I was pleased and surprised to discover that Marcelo
4410 Salvador had published a
4411 <a href="https://www.youtube.com/watch?v=w-GgpdqgLFc">video on
4412 Youtube</a> showing how to install the standalone Debian Edu /
4413 Skolelinux profile. This is the profile intended for use at home or
4414 on laptops that should not be integrated into the provided network
4415 services (no central home directory, no Kerberos / LDAP directory etc,
4416 in other word a single user machine). The result is 11 minutes long,
4417 and show some user applications (seem to be rather randomly picked).
4418 Missed a few of my favorites like celestia, planets and chromium
4419 showing the <a href="http://www.zygotebody.com/">Zygote Body 3D model
4420 of the human body</a>, but I guess he did not know about those or find
4421 other programs more interesting. :) And the video do not show the
4422 advantages I believe is one of the most valuable featuers in Debian
4423 Edu, its central school server making it possible to run hundreds of
4424 computers without hard drives by installing one central
4425 <a href="http://www.ltsp.org/">LTSP server</a>.</p>
4426
4427 <p>Anyway, check out the video, embedded below and linked to above:</p>
4428
4429 <iframe width="420" height="315" src="http://www.youtube.com/embed/w-GgpdqgLFc" frameborder="0" allowfullscreen></iframe>
4430
4431 <p>Are there other nice videos demonstrating Skolelinux? Please let
4432 me know. :)</p>
4433
4434 </div>
4435 <div class="tags">
4436
4437
4438 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
4439
4440
4441 </div>
4442 </div>
4443 <div class="padding"></div>
4444
4445 <div class="entry">
4446 <div class="title">
4447 <a href="http://people.skolelinux.org/pere/blog/Finally__Debian_Edu_Wheezy_is_released_today_.html">Finally, Debian Edu Wheezy is released today!</a>
4448 </div>
4449 <div class="date">
4450 29th September 2013
4451 </div>
4452 <div class="body">
4453 <p>A few hours ago, the announcement for the first stable release of
4454 Debian Edu Wheezy went out from the Debian publicity team. The
4455 complete announcement text can be found at
4456 <a href="http://www.debian.org/News/2013/20130928">the Debian News
4457 section</a>, translated to several languages. Please check it out.</p>
4458
4459 <p>There is one minor known problem that we will fix very soon. One
4460 can not install a amd64 Thin Client Server using PXE, as the /var/
4461 partition is too small. A workaround is to extend the partition (use
4462 lvresize + resize2fs in tty 2 while installing).</p>
4463
4464 </div>
4465 <div class="tags">
4466
4467
4468 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
4469
4470
4471 </div>
4472 </div>
4473 <div class="padding"></div>
4474
4475 <div class="entry">
4476 <div class="title">
4477 <a href="http://people.skolelinux.org/pere/blog/Videos_about_the_Freedombox_project___for_inspiration_and_learning.html">Videos about the Freedombox project - for inspiration and learning</a>
4478 </div>
4479 <div class="date">
4480 27th September 2013
4481 </div>
4482 <div class="body">
4483 <p>The <a href="http://www.freedomboxfoundation.org/">Freedombox
4484 project</a> have been going on for a while, and have presented the
4485 vision, ideas and solution several places. Here is a little
4486 collection of videos of talks and presentation of the project.</p>
4487
4488 <ul>
4489
4490 <li><a href="http://www.youtube.com/watch?v=ukvUz5taxvA">FreedomBox -
4491 2,5 minute marketing film</a> (Youtube)</li>
4492
4493 <li><a href="http://www.youtube.com/watch?v=SzW25QTVWsE">Eben Moglen
4494 discusses the Freedombox on CBS news 2011</a> (Youtube)</li>
4495
4496 <li><a href="http://www.youtube.com/watch?v=Ae8SZbxfE0g">Eben Moglen -
4497 Freedom in the Cloud - Software Freedom, Privacy and and Security for
4498 Web 2.0 and Cloud computing at ISOC-NY Public Meeting 2010</a>
4499 (Youtube)</li>
4500
4501 <li><a href="http://www.youtube.com/watch?v=vNaIji_3xBE">Fosdem 2011
4502 Keynote by Eben Moglen presenting the Freedombox</a> (Youtube)</li>
4503
4504 <li><a href="http://www.youtube.com/watch?v=9bDDUyJSQ9s">Presentation of
4505 the Freedombox by James Vasile at Elevate in Gratz 2011</a> (Youtube)</li>
4506
4507 <li><a href="http://www.youtube.com/watch?v=zQTmnk27g9s"> Freedombox -
4508 Discovery, Identity, and Trust by Nick Daly at Freedombox Hackfest New
4509 York City in 2012</a> (Youtube)</li>
4510
4511 <li><a href="http://www.youtube.com/watch?v=tkbSB4Ba7Ck">Introduction
4512 to the Freedombox at Freedombox Hackfest New York City in 2012</a>
4513 (Youtube)</li>
4514
4515 <li><a href="http://www.youtube.com/watch?v=z-P2Jaeg0aQ">Freedom, Out
4516 of the Box! by Bdale Garbee at linux.conf.au Ballarat, 2012</a> (Youtube) </li>
4517
4518 <li><a href="https://archive.fosdem.org/2013/schedule/event/freedombox/">Freedombox
4519 1.0 by Eben Moglen and Bdale Garbee at Fosdem 2013</a> (FOSDEM) </li>
4520
4521 <li><a href="http://www.youtube.com/watch?v=e1LpYX2zVYg">What is the
4522 FreedomBox today by Bdale Garbee at Debconf13 in Vaumarcus
4523 2013</a> (Youtube)</li>
4524
4525 </ul>
4526
4527 <p>A larger list is available from
4528 <a href="https://wiki.debian.org/FreedomBox/TalksAndPresentations">the
4529 Freedombox Wiki</a>.</p>
4530
4531 <p>On other news, I am happy to report that Freedombox based on Debian
4532 Jessie is coming along quite well, and soon both Owncloud and using
4533 Tor should be available for testers of the Freedombox solution. :) In
4534 a few weeks I hope everything needed to test it is included in Debian.
4535 The withsqlite package is already in Debian, and the plinth package is
4536 pending in NEW. The third and vital part of that puzzle is the
4537 metapackage/setup framework, which is still pending an upload. Join
4538 us on <a href="irc://irc.debian.org:6667/%23freedombox">IRC
4539 (#freedombox on irc.debian.org)</a> and
4540 <a href="http://lists.alioth.debian.org/mailman/listinfo/freedombox-discuss">the
4541 mailing list</a> if you want to help make this vision come true.</p>
4542
4543 </div>
4544 <div class="tags">
4545
4546
4547 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>.
4548
4549
4550 </div>
4551 </div>
4552 <div class="padding"></div>
4553
4554 <div class="entry">
4555 <div class="title">
4556 <a href="http://people.skolelinux.org/pere/blog/Third_and_probably_last_beta_release_of_Debian_Edu_Wheezy.html">Third and probably last beta release of Debian Edu Wheezy</a>
4557 </div>
4558 <div class="date">
4559 16th September 2013
4560 </div>
4561 <div class="body">
4562 <p>The third wheezy based beta release of Debian Edu was wrapped up
4563 today. This is the release announcement from Holger Levsen:</p>
4564
4565 <blockquote>
4566 <p>Hi,</p>
4567
4568 <p>it is my pleasure to announce the third beta release (beta 2 for
4569 short) of <a href="http://www.skolelinux.org/">Debian Edu /
4570 Skolelinux</a> based on Debian Wheezy!</p>
4571
4572 <p>Please test these images extensivly, if no new problems are found
4573 we plan to do this final Debian Edu Wheezy release this coming
4574 weekend. We are not aware of any major problems or blockers in beta2,
4575 if you find something, please notify us immediately!</p>
4576
4577 <p>(More about the remaining steps for the Edu Wheezy release in
4578 another mail to the edu list tonight or tomorrow...)</p>
4579
4580 <p>Noteworthy changes and software updates for Debian Edu 7.1+edu0~b2
4581 compared to beta1:</p>
4582
4583 <ul>
4584
4585 <li>The KDE proxy setup has been adjusted to use the provided wpad.dat. This
4586 also gets Chromium to use this proxy.</li>
4587 <li>Install kdepim-groupware with KDE desktops to make sure korganizer
4588 understand ical/dav sources.</li>
4589 <li>Increased default maximum size of /var/spool/squid and /skole/backup on the
4590 main server.</li>
4591 <li>A source DVD image containing all source packages is now available as well.</li>
4592 <li>Updates for chromium (29.0.1547.57-1~deb7u1), imagemagick
4593 (6.7.7.10-5+deb7u2), php5 (5.4.4-14+deb7u4), libmodplug
4594 (0.8.8.4-3+deb7u1+git20130828), tiff (4.0.2-6+deb7u2), linux-image
4595 (3.2.0-4-486_3.2.46-1+deb7u1).</li>
4596
4597 </ul>
4598
4599 <p>Where to get it:</p>
4600
4601 <p>To download the multiarch netinstall CD release you can use</p>
4602
4603 <ul>
4604 <li><a href="ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b2-CD.iso">ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b2-CD.iso</a></li>
4605 <li><a href="http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b2-CD.iso">http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b2-CD.iso</a></li>
4606 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b2-CD.iso .</li>
4607 </ul>
4608
4609 <p>The SHA1SUM of this image is: 3a1c89f4666df80eebcd46c5bf5fedb866f9472f</p>
4610
4611 <p>To download the multiarch USB stick ISO release you can use
4612 <ul>
4613 <li><a href="ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b2-USB.iso">ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b2-USB.iso</a></li>
4614 <li><a href="http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b2-USB.iso">http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b2-USB.iso</a></li>
4615 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b2-USB.iso .</li>
4616 </ul>
4617
4618 <p>The SHA1SUM of this image is: 702d1718548f401c74bfa6df9f032cc3ee16597e</p>
4619
4620 <p>The Source DVD image has the filename
4621 debian-edu-7.1+edu0~b2-source-DVD.iso and the SHA1SUM
4622 089eed8b3f962db47aae1f6a9685e9bb2fa30ca5 and is available the same way
4623 as the other isos.</p>
4624
4625 <p>How to report bugs</p>
4626
4627 <p>For information how to report bugs please see
4628 <br><a href="http://wiki.debian.org/DebianEdu/HowTo/ReportBugs">http://wiki.debian.org/DebianEdu/HowTo/ReportBugs</a></p>
4629
4630
4631 <p>About Debian Edu and Skolelinux</p>
4632
4633 <p>Debian Edu, also known as Skolelinux, is a Linux distribution based
4634 on Debian providing an out-of-the box environment of a completely
4635 configured school network. Immediately after installation a school
4636 server running all services needed for a school network is set up just
4637 waiting for users and machines being added via GOsa², a comfortable
4638 Web-UI. A netbooting environment is prepared using PXE, so after
4639 initial installation of the main server from CD or USB stick all other
4640 machines can be installed via the network. The provided school server
4641 provides LDAP database and Kerberos authentication service,
4642 centralized home directories, DHCP server, web proxy and many other
4643 services. The desktop contains more than 60 educational software
4644 packages and more are available from the Debian archive, and schools
4645 can choose between KDE, Gnome, LXDE and Xfce desktop environment.</p>
4646
4647 <p>This is the seventh test release based on Debian Wheezy. Basically
4648 this is an updated and slightly improved version compared to the
4649 Squeeze release.</p>
4650
4651 <p>Notes for upgrades from Alpha Prereleases</p>
4652
4653 <p>Alpha based installations should reinstall or downgrade the
4654 versions of gosa and libpam-mklocaluser to the ones used in this beta
4655 release. Both alpha and beta0 based installations should reinstall or
4656 deal with gosa.conf manually; there are two options: (1) Keep
4657 gosa.conf and edit this file as outlined on the mailing list. (2)
4658 Accept the new version of gosa.conf and replace both contained admin
4659 password placeholders with the password hashes found in the old one
4660 (backup copy!). In both cases all users need to change their password
4661 to make sure a password is set for CIFS access to their home
4662 directory.</p>
4663
4664
4665 <p>cheers,
4666 <br> Holger</p>
4667 </blockquote>
4668
4669 </div>
4670 <div class="tags">
4671
4672
4673 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
4674
4675
4676 </div>
4677 </div>
4678 <div class="padding"></div>
4679
4680 <div class="entry">
4681 <div class="title">
4682 <a href="http://people.skolelinux.org/pere/blog/Recipe_to_test_the_Freedombox_project_on_amd64_or_Raspberry_Pi.html">Recipe to test the Freedombox project on amd64 or Raspberry Pi</a>
4683 </div>
4684 <div class="date">
4685 10th September 2013
4686 </div>
4687 <div class="body">
4688 <p>I was introduced to the
4689 <a href="http://www.freedomboxfoundation.org/">Freedombox project</a>
4690 in 2010, when Eben Moglen presented his vision about serving the need
4691 of non-technical people to keep their personal information private and
4692 within the legal protection of their own homes. The idea is to give
4693 people back the power over their network and machines, and return
4694 Internet back to its intended peer-to-peer architecture. Instead of
4695 depending on a central service, the Freedombox will give everyone
4696 control over their own basic infrastructure.</p>
4697
4698 <p>I've intended to join the effort since then, but other tasks have
4699 taken priority. But this summers nasty news about the misuse of trust
4700 and privilege exercised by the "western" intelligence gathering
4701 communities increased my eagerness to contribute to a point where I
4702 actually started working on the project a while back.</p>
4703
4704 <p>The <a href="https://alioth.debian.org/projects/freedombox/">initial
4705 Debian initiative</a> based on the vision from Eben Moglen, is to
4706 create a simple and cheap Debian based appliance that anyone can hook
4707 up in their home and get access to secure and private services and
4708 communication. The initial deployment platform have been the
4709 <a href="http://www.globalscaletechnologies.com/t-dreamplugdetails.aspx">Dreamplug</a>,
4710 which is a piece of hardware I do not own. So to be able to test what
4711 the current Freedombox setup look like, I had to come up with a way to install
4712 it on some hardware I do have access to. I have rewritten the
4713 <a href="https://github.com/NickDaly/freedom-maker">freedom-maker</a>
4714 image build framework to use .deb packages instead of only copying
4715 setup into the boot images, and thanks to this rewrite I am able to
4716 set up any machine supported by Debian Wheezy as a Freedombox, using
4717 the previously mentioned deb (and a few support debs for packages
4718 missing in Debian).</p>
4719
4720 <p>The current Freedombox setup consist of a set of bootstrapping
4721 scripts
4722 (<a href="https://github.com/petterreinholdtsen/freedombox-setup">freedombox-setup</a>),
4723 and a administrative web interface
4724 (<a href="https://github.com/NickDaly/Plinth">plinth</a> + exmachina +
4725 withsqlite), as well as a privacy enhancing proxy based on
4726 <a href="http://packages.qa.debian.org/privoxy">privoxy</a>
4727 (freedombox-privoxy). There is also a web/javascript based XMPP
4728 client (<a href="http://packages.qa.debian.org/jwchat">jwchat</a>)
4729 trying (unsuccessfully so far) to talk to the XMPP server
4730 (<a href="http://packages.qa.debian.org/ejabberd">ejabberd</a>). The
4731 web interface is pluggable, and the goal is to use it to enable OpenID
4732 services, mesh network connectivity, use of TOR, etc, etc. Not much of
4733 this is really working yet, see
4734 <a href="https://github.com/NickDaly/freedombox-todos/blob/master/TODO">the
4735 project TODO</a> for links to GIT repositories. Most of the code is
4736 on github at the moment. The HTTP proxy is operational out of the
4737 box, and the admin web interface can be used to add/remove plinth
4738 users. I've not been able to do anything else with it so far, but
4739 know there are several branches spread around github and other places
4740 with lots of half baked features.</p>
4741
4742 <p>Anyway, if you want to have a look at the current state, the
4743 following recipes should work to give you a test machine to poke
4744 at.</p>
4745
4746 <p><strong>Debian Wheezy amd64</strong></p>
4747
4748 <ol>
4749
4750 <li>Fetch normal Debian Wheezy installation ISO.</li>
4751 <li>Boot from it, either as CD or USB stick.</li>
4752 <li><p>Press [tab] on the boot prompt and add this as a boot argument
4753 to the Debian installer:<p>
4754 <pre>url=<a href="http://www.reinholdtsen.name/freedombox/preseed-wheezy.dat">http://www.reinholdtsen.name/freedombox/preseed-wheezy.dat</a></pre></li>
4755
4756 <li>Answer the few language/region/password questions and pick disk to
4757 install on.</li>
4758
4759 <li>When the installation is finished and the machine have rebooted a
4760 few times, your Freedombox is ready for testing.</li>
4761
4762 </ol>
4763
4764 <p><strong>Raspberry Pi Raspbian</strong></p>
4765
4766 <ol>
4767
4768 <li>Fetch a Raspbian SD card image, create SD card.</li>
4769 <li>Boot from SD card, extend file system to fill the card completely.</li>
4770 <li><p>Log in and add this to /etc/sources.list:</p>
4771 <pre>
4772 deb <a href="http://www.reinholdtsen.name/freedombox/">http://www.reinholdtsen.name/freedombox</a> wheezy main
4773 </pre></li>
4774 <li><p>Run this as root:</p>
4775 <pre>
4776 wget -O - http://www.reinholdtsen.name/freedombox/BE1A583D.asc | \
4777 apt-key add -
4778 apt-get update
4779 apt-get install freedombox-setup
4780 /usr/lib/freedombox/setup
4781 </pre></li>
4782 <li>Reboot into your freshly created Freedombox.</li>
4783
4784 </ol>
4785
4786 <p>You can test it on other architectures too, but because the
4787 freedombox-privoxy package is binary, it will only work as intended on
4788 the architectures where I have had time to build the binary and put it
4789 in my APT repository. But do not let this stop you. It is only a
4790 short "<tt>apt-get source -b freedombox-privoxy</tt>" away. :)</p>
4791
4792 <p>Note that by default Freedombox is a DHCP server on the
4793 192.168.1.0/24 subnet, so if this is your subnet be careful and turn
4794 off the DHCP server by running "<tt>update-rc.d isc-dhcp-server
4795 disable</tt>" as root.</p>
4796
4797 <p>Please let me know if this works for you, or if you have any
4798 problems. We gather on the IRC channel
4799 <a href="irc://irc.debian.org:6667/%23freedombox">#freedombox</a> on
4800 irc.debian.org and the
4801 <a href="http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/freedombox-discuss">project
4802 mailing list</a>.</p>
4803
4804 <p>Once you get your freedombox operational, you can visit
4805 <tt>http://your-host-name:8001/</tt> to see the state of the plint
4806 welcome screen (dead end - do not be surprised if you are unable to
4807 get past it), and next visit <tt>http://your-host-name:8001/help/</tt>
4808 to look at the rest of plinth. The default user is 'admin' and the
4809 default password is 'secret'.</p>
4810
4811 </div>
4812 <div class="tags">
4813
4814
4815 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>.
4816
4817
4818 </div>
4819 </div>
4820 <div class="padding"></div>
4821
4822 <div class="entry">
4823 <div class="title">
4824 <a href="http://people.skolelinux.org/pere/blog/Second_beta_release__beta_1__of_Debian_Edu_Skolelinux_based_on_Debian_Wheezy.html">Second beta release (beta 1) of Debian Edu/Skolelinux based on Debian Wheezy</a>
4825 </div>
4826 <div class="date">
4827 22nd August 2013
4828 </div>
4829 <div class="body">
4830 <p>The second wheezy based beta release of Debian Edu was wrapped up
4831 today, slightly delayed because of some bugs in the initial Windows
4832 integration fixes . This is the release announcement:</p>
4833
4834 <p><strong>New features for Debian Edu 7.1+edu0~b1 released 2013-08-22</strong></p>
4835
4836 <p>These are the release notes for Debian Edu / Skolelinux
4837 7.1+edu0~b1, based on Debian with codename "Wheezy".</p>
4838
4839 <p><strong>About Debian Edu and Skolelinux</strong></p>
4840
4841 <p><a href="http://www.skolelinux.org/">Debian Edu, also known as
4842 Skolelinux</a>, is a Linux distribution based on Debian providing an
4843 out-of-the box environment of a completely configured school
4844 network. Immediately after installation a school server running all
4845 services needed for a school network is set up just waiting for users
4846 and machines being added via GOsa², a comfortable Web-UI. A netbooting
4847 environment is prepared using PXE, so after initial installation of
4848 the main server from CD or USB stick all other machines can be
4849 installed via the network. The provided school server provides LDAP
4850 database and Kerberos authentication service, centralized home
4851 directories, DHCP server, web proxy and many other services. The
4852 desktop contains
4853 <a href="http://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html">more
4854 than 60 educational software packages</a> and more are available from
4855 the Debian archive, and schools can choose between KDE, Gnome, LXDE
4856 and Xfce desktop environment.</p>
4857
4858 <p>This is the sixth test release based on Debian Wheezy. Basically this
4859 is an updated and slightly improved version compared to the Squeeze
4860 release.</p>
4861
4862 <p>ALERT: Alpha based installations should reinstall or downgrade the
4863 versions of gosa and libpam-mklocaluser to the ones used in this beta
4864 release. Both alpha and beta0 based installations should reinstall or
4865 deal with gosa.conf manually; there are two options: (1) Keep
4866 gosa.conf and edit this file as outlined
4867 <a href="http://lists.debian.org/debian-edu/2013/08/msg00127.html">on
4868 the mailing list</a>. (2) Accept the new version of gosa.conf and
4869 replace both contained admin password placeholders with the password
4870 hashes found in the old one (backup copy!). In both cases every user
4871 need to change their their password to make sure a password is set for
4872 CIFS access to their home directory.</p>
4873
4874 <p><strong>Software updates</strong></p>
4875
4876 <ul>
4877
4878 <li>Added ssh askpass packages to default installation, to ensure ssh
4879 work also without a attached tty.</li>
4880 <li>Add the command-not-found package to the default installation to
4881 make it easier to figure out where to find missing command line
4882 tools. Please note, that the command 'update-command-not-found'
4883 has to be run as root to actually make it useful (internet access
4884 required).</li>
4885
4886 </ul>
4887
4888 <p><strong>Other changes</strong></p>
4889
4890 <ul>
4891
4892 <li>Adjusted the USB stick ISO image build to include every tool
4893 needed for desktop=xfce installations.</li>
4894 <li>Adjust thin-client-server task to work when installing from USB
4895 stick ISO image.</li>
4896 <li>Made new grub artwork (changed png from indexed to RGB format).</li>
4897 <li>Minor cleanup in the CUPS setup.</li>
4898 <li>Make sure that bootstrapping of the Samba domain really happens
4899 during installation of the main server and adjust SID handling to
4900 cope with this.</li>
4901 <li>Make Samba passwords changeable (again) via GOsa².</li>
4902 <li>Fix generation of LM and NT password hashes via GOsa² to avoid
4903 empty password hashes.</li>
4904 <li>Adapted Samba machine domain joining to latest change in the
4905 smbldap-tools Perl package, fixing bugs blocking Windows machines
4906 from joining the Samba domain.</li>
4907
4908 </ul>
4909
4910 <p><strong>Known issues</strong></p>
4911
4912 <ul>
4913
4914 <li>KDE fails to understand the wpad.dat file provided, causing it to
4915 not use the http proxy as it should.</li>
4916 <li>Chromium also fails to use the proxy when using the KDE desktop
4917 (using the KDE configuration).</li>
4918
4919 </ul>
4920
4921 <p><strong>Where to get it</strong></p>
4922
4923 <p>To download the multiarch netinstall CD release you can use</p>
4924
4925 <ul>
4926
4927 <li><a href="ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-CD.iso">ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-CD.iso</a></li>
4928
4929 <li><a href="http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-CD.iso">http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-CD.iso</a></li>
4930
4931 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-CD.iso .</li>
4932
4933 </ul>
4934
4935 <p>The MD5SUM of this image is: 1e357f80b55e703523f2254adde6d78b
4936 <br>The SHA1SUM of this image is: 7157f9be5fd27c7694d713c6ecfed61c3edda3b2</p>
4937
4938 <p>To download the multiarch USB stick ISO release you can use</p>
4939
4940 <ul>
4941
4942 <li><a href="ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-USB.iso">ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-USB.iso</a></li>
4943 <li><a href="http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-USB.iso">http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-USB.iso</a></li>
4944 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-USB.iso .</li>
4945
4946 </ul>
4947
4948 <p>The MD5SUM of this image is: 7a8408ead59cf7e3cef25afb6e91590b
4949 <br>The SHA1SUM of this image is: f1817c031f02790d5edb3bfa0dcf8451088ad119</p>
4950
4951
4952 <p><strong>How to report bugs</strong></p>
4953
4954 <p><a href="http://wiki.debian.org/DebianEdu/HowTo/ReportBugs">http://wiki.debian.org/DebianEdu/HowTo/ReportBugs</a>
4955
4956 </div>
4957 <div class="tags">
4958
4959
4960 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
4961
4962
4963 </div>
4964 </div>
4965 <div class="padding"></div>
4966
4967 <div class="entry">
4968 <div class="title">
4969 <a href="http://people.skolelinux.org/pere/blog/Intel_180_SSD_disk_with_Lenovo_firmware_can_not_use_Intel_firmware.html">Intel 180 SSD disk with Lenovo firmware can not use Intel firmware</a>
4970 </div>
4971 <div class="date">
4972 18th August 2013
4973 </div>
4974 <div class="body">
4975 <p>Earlier, I reported about
4976 <a href="http://people.skolelinux.org/pere/blog/How_to_fix_a_Thinkpad_X230_with_a_broken_180_GB_SSD_disk.html">my
4977 problems using an Intel SSD 520 Series 180 GB disk</a>. Friday I was
4978 told by IBM that the original disk should be thrown away. And as
4979 there no longer was a problem if I bricked the firmware, I decided
4980 today to try to install Intel firmware to replace the Lenovo firmware
4981 currently on the disk.</p>
4982
4983 <p>I searched the Intel site for firmware, and found
4984 <a href="https://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&ProdId=3472&DwnldID=18363&ProductFamily=Solid-State+Drives+and+Caching&ProductLine=Intel%c2%ae+High+Performance+Solid-State+Drive&ProductProduct=Intel%c2%ae+SSD+520+Series+(180GB%2c+2.5in+SATA+6Gb%2fs%2c+25nm%2c+MLC)&lang=eng">issdfut_2.0.4.iso</a>
4985 (aka Intel SATA Solid-State Drive Firmware Update Tool) which
4986 according to the site should contain the latest firmware for SSD
4987 disks. I inserted the broken disk in one of my spare laptops and
4988 booted the ISO from a USB stick. The disk was recognized, but the
4989 program claimed the newest firmware already were installed and refused
4990 to insert any Intel firmware. So no change, and the disk is still
4991 unable to handle write load. :( I guess the only way to get them
4992 working would be if Lenovo releases new firmware. No idea how likely
4993 that is. Anyway, just blogging about this test for completeness. I
4994 got a working Samsung disk, and see no point in spending more time on
4995 the broken disks.</p>
4996
4997 </div>
4998 <div class="tags">
4999
5000
5001 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>.
5002
5003
5004 </div>
5005 </div>
5006 <div class="padding"></div>
5007
5008 <div class="entry">
5009 <div class="title">
5010 <a href="http://people.skolelinux.org/pere/blog/90_percent_done_with_the_Norwegian_draft_translation_of_Free_Culture.html">90 percent done with the Norwegian draft translation of Free Culture</a>
5011 </div>
5012 <div class="date">
5013 2nd August 2013
5014 </div>
5015 <div class="body">
5016 <p>It has been a while since my last update. Since last summer, I
5017 have worked on a Norwegian
5018 <a href="http://www.docbook.org/">docbook</a> version of the 2004 book
5019 <a href="http://free-culture.cc/">Free Culture</a> by Lawrence Lessig,
5020 to get a Norwegian text explaining the problems with the copyright
5021 law. Yesterday, I finally broken the 90% mark, when counting the
5022 number of strings to translate. Due to real life constraints, I have
5023 not had time to work on it since March, but when the summer broke out,
5024 I found time to work on it again. Still lots of work left, but the
5025 first draft is nearing completion. I created a graph to show the
5026 progress of the translation:</p>
5027
5028 <p><img width="80%" align="center" src="https://github.com/petterreinholdtsen/free-culture-lessig/raw/master/progress.png"></p>
5029
5030 <p>When the first draft is done, the translated text need to be
5031 proof read, and the remaining formatting problems with images and SVG
5032 drawings need to be fixed. There are probably also some index entries
5033 missing that need to be added. This can be done by comparing the
5034 index entries listed in the SiSU version of the book, or comparing the
5035 English docbook version with the paper version. Last, the colophon
5036 page with ISBN numbers etc need to be wrapped up before the release is
5037 done. I should also figure out how to get correct Norwegian sorting
5038 of the index pages. All docbook tools I have tried so far (xmlto,
5039 docbook-xsl, dblatex) get the order of symbols and the special
5040 Norwegian letters ÆØÅ wrong.</p>
5041
5042 <p>There is still need for translators and people with docbook
5043 knowledge, to be able to get a good looking book (I still struggle
5044 with dblatex, xmlto and docbook-xsl) as well as to do the draft
5045 translation and proof reading. And I would like the figures to be
5046 redrawn as SVGs to make it easy to translate them. Any SVG master
5047 around? There are also some legal terms that are unfamiliar to me.
5048 If you want to help, please get in touch with me, and check out the
5049 project files currently available from
5050 <a href="https://github.com/petterreinholdtsen/free-culture-lessig">github</a>.</p>
5051
5052 <p>If you are curious what the translated book currently look like,
5053 the updated
5054 <a href="https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.pdf?raw=true">PDF</a>
5055 and
5056 <a href="https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.epub?raw=true">EPUB</a>
5057 are published on github. The HTML version is published as well, but
5058 github hand it out with MIME type text/plain, confusing browsers, so I
5059 saw no point in linking to that version.</p>
5060
5061 </div>
5062 <div class="tags">
5063
5064
5065 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>.
5066
5067
5068 </div>
5069 </div>
5070 <div class="padding"></div>
5071
5072 <div class="entry">
5073 <div class="title">
5074 <a href="http://people.skolelinux.org/pere/blog/First_beta_release_of_Debian_Edu_Skolelinux_based_on_Debian_Wheezy.html">First beta release of Debian Edu/Skolelinux based on Debian Wheezy</a>
5075 </div>
5076 <div class="date">
5077 27th July 2013
5078 </div>
5079 <div class="body">
5080 <p>The first wheezy based beta release of Debian Edu was wrapped up
5081 today. This is the release announcement:</p>
5082
5083 <p><strong>New features for Debian Edu 7.1+edu0~b0 released
5084 2013-07-27</strong></p>
5085
5086 <p>These are the release notes for for Debian Edu / Skolelinux
5087 7.1+edu0~b0, based on Debian with codename "Wheezy".</p>
5088
5089 <p><strong>About Debian Edu and Skolelinux</strong></p>
5090
5091 <p><a href="http://www.skolelinux.org/">Debian Edu, also known as
5092 Skolelinux</a>, is a Linux distribution based on Debian providing an
5093 out-of-the box environment of a completely configured school
5094 network. Immediately after installation a school server running all
5095 services needed for a school network is set up just waiting for users
5096 and machines being added via GOsa², a comfortable Web-UI. A netbooting
5097 environment is prepared using PXE, so after initial installation of
5098 the main server from CD, DVD or USB stick all other machines can be
5099 installed via the network. The provided school server provides LDAP
5100 database and Kerberos authentication service, centralized home
5101 directories, DHCP server, web proxy and many other services. The
5102 desktop contains
5103 <a href="http://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html">more
5104 than 60 educational software packages</a> and more are available from
5105 the Debian archive, and schools can choose between KDE, Gnome, LXDE
5106 and Xfce desktop environment.</p>
5107
5108 <p>This is the fifth test release based on Debian Wheezy. Basically
5109 this is an updated and slightly improved version compared to the
5110 Squeeze release.</p>
5111
5112 <p>ALERT: Alpha based installations should reinstall or downgrade the
5113 versions of gosa and libpam-mklocaluser to the ones used in this beta
5114 release.</p>
5115
5116 <p><strong>Software updates</strong></p>
5117
5118 <ul>
5119
5120 <li>Switched roaming workstation profiles from wicd to network-manager
5121 for network configuration, as wicd didn't work any more.</li>
5122 <li>Changed version numbers of patched gosa and libpam-mklocaluser
5123 packages to make sure our locally patched versions will be replaced
5124 by the official packages when they are released from Debian. Those
5125 installing alpha version need to reinstall or manually downgrade gosa
5126 and libpam-mklocaluser.</li>
5127 <li>Added bluetooth tools to the default desktop (bluedevil, blueman).</li>
5128 <li>Added tools for sharing the desktop on KDE (krdc, krfb).</li>
5129 <li>Added valgrind to the default installation for easier debugging of
5130 crash bugs.</li>
5131
5132 </ul>
5133
5134 <p><strong>Other changes</strong></p>
5135
5136 <ul>
5137
5138 <li>Fixed artwork package to work with gnome, no longer break
5139 desktop=gnome installations.</li>
5140 <li>Adjusted installer to now work when forced to use a proxy with the
5141 netinst CD.</li>
5142 <li>Fixed code detecting and setting/loading hardware specific
5143 setup/firmware to work more robust out of the box.</li>
5144 <li>Adjusted Kerberos setup to detect realm and server settings at
5145 install time instead of dynamically at run time. This avoid a crash
5146 with krb5-auth-dialog on diskless workstations without a DNS name.</li>
5147 <li>Worked around misfeature in network-manager not calling the dhclient
5148 exit hooks, causing automatic proxy configuration and automatic host
5149 name setting at run time to work again.</li>
5150 <li>Fixed feature setting the default Iceweasel start page from URL
5151 fetched from LDAP, to allow schools to set the global default by
5152 updating the dc=skole,dc=skolelinux,dc=no LDAP object.</li>
5153 <li>Changed default host name on all networked machines to be unique
5154 (generated from MAC or reverse DNS) after boot.</li>
5155 <li>Adjusted partition sizes to make sure they are big enough.</li>
5156
5157 </ul>
5158
5159 <p><strong>Known issues</strong></p>
5160
5161 <ul>
5162
5163 <li>Grub is missing the new artwork.</li>
5164 <li>KDE fail to understand the wpad.dat file provided, causing it to
5165 not use the http proxy as it should.</li>
5166 <li>Chromium also fail to use the proxy.</li>
5167
5168 </ul>
5169
5170 <p><strong>Where to get it</strong></p>
5171
5172 <p>To download the multiarch netinstall CD release you can use</p>
5173
5174 <ul>
5175
5176 <li><a href="ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-CD.iso">ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-CD.iso</a></li>
5177
5178 <li><a href="http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-CD.iso">http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-CD.iso</a></li>
5179
5180 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-CD.iso .</li>
5181
5182 </ul>
5183
5184 <p>The MD5SUM of this image is: 55d5de9765b6dccd5d9ec33cf1a07109
5185 <br>The SHA1SUM of this image is: 996a1d9517740e4d627d100de2d12b23dd545a3f</p>
5186
5187 <p>To download the multiarch USB stick ISO release you can use</p>
5188
5189 <ul>
5190
5191 <li><a href="ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-USB.iso">ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-USB.iso</a></li>
5192 <li><a href="http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-USB.iso">http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-USB.iso</a></li>
5193 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-USB.iso .</li>
5194
5195 </ul>
5196
5197 <p>The MD5SUM of this image is: d8f0818c51a78d357de794066f289f69
5198 <br>The SHA1SUM of this image is: 49185ca354e8d0543240423746924f76a6cee733</p>
5199
5200
5201 <p><strong>How to report bugs</strong></p>
5202
5203 <p><a href="http://wiki.debian.org/DebianEdu/HowTo/ReportBugs">http://wiki.debian.org/DebianEdu/HowTo/ReportBugs</a>
5204
5205 </div>
5206 <div class="tags">
5207
5208
5209 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
5210
5211
5212 </div>
5213 </div>
5214 <div class="padding"></div>
5215
5216 <div class="entry">
5217 <div class="title">
5218 <a href="http://people.skolelinux.org/pere/blog/How_to_fix_a_Thinkpad_X230_with_a_broken_180_GB_SSD_disk.html">How to fix a Thinkpad X230 with a broken 180 GB SSD disk</a>
5219 </div>
5220 <div class="date">
5221 17th July 2013
5222 </div>
5223 <div class="body">
5224 <p>Today I switched to
5225 <a href="http://people.skolelinux.org/pere/blog/The_Thinkpad_is_dead__long_live_the_Thinkpad_X230_.html">my
5226 new laptop</a>. I've previously written about the problems I had with
5227 my new Thinkpad X230, which was delivered with an
5228 <a href="http://people.skolelinux.org/pere/blog/Intel_SSD_520_Series_180_GB_with_Lenovo_firmware_still_lock_up_from_sustained_writes.html">180
5229 GB Intel SSD disk with Lenovo firmware</a> that did not handle
5230 sustained writes. My hardware supplier have been very forthcoming in
5231 trying to find a solution, and after first trying with another
5232 identical 180 GB disks they decided to send me a 256 GB Samsung SSD
5233 disk instead to fix it once and for all. The Samsung disk survived
5234 the installation of Debian with encrypted disks (filling the disk with
5235 random data during installation killed the first two), and I thus
5236 decided to trust it with my data. I have installed it as a Debian Edu
5237 Wheezy roaming workstation hooked up with my Debian Edu Squeeze main
5238 server at home using Kerberos and LDAP, and will use it as my work
5239 station from now on.</p>
5240
5241 <p>As this is a solid state disk with no moving parts, I believe the
5242 Debian Wheezy default installation need to be tuned a bit to increase
5243 performance and increase life time of the disk. The Linux kernel and
5244 user space applications do not yet adjust automatically to such
5245 environment. To make it easier for my self, I created a draft Debian
5246 package <tt>ssd-setup</tt> to handle this tuning. The
5247 <a href="http://anonscm.debian.org/gitweb/?p=collab-maint/ssd-setup.git">source
5248 for the ssd-setup package</a> is available from collab-maint, and it
5249 is set up to adjust the setup of the machine by just installing the
5250 package. If there is any non-SSD disk in the machine, the package
5251 will refuse to install, as I did not try to write any logic to sort
5252 file systems in SSD and non-SSD file systems.</p>
5253
5254 <p>I consider the package a draft, as I am a bit unsure how to best
5255 set up Debian Wheezy with an SSD. It is adjusted to my use case,
5256 where I set up the machine with one large encrypted partition (in
5257 addition to /boot), put LVM on top of this and set up partitions on
5258 top of this again. See the README file in the package source for the
5259 references I used to pick the settings. At the moment these
5260 parameters are tuned:</p>
5261
5262 <ul>
5263
5264 <li>Set up cryptsetup to pass TRIM commands to the physical disk
5265 (adding discard to /etc/crypttab)</li>
5266
5267 <li>Set up LVM to pass on TRIM commands to the underlying device (in
5268 this case a cryptsetup partition) by changing issue_discards from
5269 0 to 1 in /etc/lvm/lvm.conf.</li>
5270
5271 <li>Set relatime as a file system option for ext3 and ext4 file
5272 systems.</li>
5273
5274 <li>Tell swap to use TRIM commands by adding 'discard' to
5275 /etc/fstab.</li>
5276
5277 <li>Change I/O scheduler from cfq to deadline using a udev rule.</li>
5278
5279 <li>Run fstrim on every ext3 and ext4 file system every night (from
5280 cron.daily).</li>
5281
5282 <li>Adjust sysctl values vm.swappiness to 1 and vm.vfs_cache_pressure
5283 to 50 to reduce the kernel eagerness to swap out processes.</li>
5284
5285 </ul>
5286
5287 <p>During installation, I cancelled the part where the installer fill
5288 the disk with random data, as this would kill the SSD performance for
5289 little gain. My goal with the encrypted file system is to ensure
5290 those stealing my laptop end up with a brick and not a working
5291 computer. I have no hope in keeping the really resourceful people
5292 from getting the data on the disk (see
5293 <a href="http://xkcd.com/538/">XKCD #538</a> for an explanation why).
5294 Thus I concluded that adding the discard option to crypttab is the
5295 right thing to do.</p>
5296
5297 <p>I considered using the noop I/O scheduler, as several recommended
5298 it for SSD, but others recommended deadline and a benchmark I found
5299 indicated that deadline might be better for interactive use.</p>
5300
5301 <p>I also considered using the 'discard' file system option for ext3
5302 and ext4, but read that it would give a performance hit ever time a
5303 file is removed, and thought it best to that that slowdown once a day
5304 instead of during my work.</p>
5305
5306 <p>My package do not set up tmpfs on /var/run, /var/lock and /tmp, as
5307 this is already done by Debian Edu.</p>
5308
5309 <p>I have not yet started on the user space tuning. I expect
5310 iceweasel need some tuning, and perhaps other applications too, but
5311 have not yet had time to investigate those parts.</p>
5312
5313 <p>The package should work on Ubuntu too, but I have not yet tested it
5314 there.</p>
5315
5316 <p>As for the answer to the question in the title of this blog post,
5317 as far as I know, the only solution I know about is to replace the
5318 disk. It might be possible to flash it with Intel firmware instead of
5319 the Lenovo firmware. But I have not tried and did not want to do so
5320 without approval from Lenovo as I wanted to keep the warranty on the
5321 disk until a solution was found and they wanted the broken disks
5322 back.</p>
5323
5324 </div>
5325 <div class="tags">
5326
5327
5328 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>.
5329
5330
5331 </div>
5332 </div>
5333 <div class="padding"></div>
5334
5335 <div class="entry">
5336 <div class="title">
5337 <a href="http://people.skolelinux.org/pere/blog/Intel_SSD_520_Series_180_GB_with_Lenovo_firmware_still_lock_up_from_sustained_writes.html">Intel SSD 520 Series 180 GB with Lenovo firmware still lock up from sustained writes</a>
5338 </div>
5339 <div class="date">
5340 10th July 2013
5341 </div>
5342 <div class="body">
5343 <p>A few days ago, I wrote about
5344 <a href="http://people.skolelinux.org/pere/blog/The_Thinkpad_is_dead__long_live_the_Thinkpad_X230_.html">the
5345 problems I experienced with my new X230 and its SSD disk</a>, which
5346 was dying during installation because it is unable to cope with
5347 sustained write. My supplier is in contact with
5348 <a href="http://www.lenovo.com/">Lenovo</a>, and they wanted to send a
5349 replacement disk to try to fix the problem. They decided to send an
5350 identical model, so my hopes for a permanent fix was slim.</p>
5351
5352 <p>Anyway, today I got the replacement disk and tried to install
5353 Debian Edu Wheezy with encrypted disk on it. The new disk have the
5354 same firmware version as the original. This time my hope raised
5355 slightly as the installation progressed, as the original disk used to
5356 die after 4-7% of the disk was written to, while this time it kept
5357 going past 10%, 20%, 40% and even past 50%. But around 60%, the disk
5358 died again and I was back on square one. I still do not have a new
5359 laptop with a disk I can trust. I can not live with a disk that might
5360 lock up when I download a new
5361 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> ISO or
5362 other large files. I look forward to hearing from my supplier with
5363 the next proposal from Lenovo.</p>
5364
5365 <p>The original disk is marked Intel SSD 520 Series 180 GB,
5366 11S0C38722Z1ZNME35X1TR, ISN: CVCV321407HB180EGN, SA: G57560302, FW:
5367 LF1i, 29MAY2013, PBA: G39779-300, LBA 351,651,888, LI P/N: 0C38722,
5368 Pb-free 2LI, LC P/N: 16-200366, WWN: 55CD2E40002756C4, Model:
5369 SSDSC2BW180A3L 2.5" 6Gb/s SATA SSD 180G 5V 1A, ASM P/N 0C38732, FRU
5370 P/N 45N8295, P0C38732.</p>
5371
5372 <p>The replacement disk is marked Intel SSD 520 Series 180 GB,
5373 11S0C38722Z1ZNDE34N0L0, ISN: CVCV315306RK180EGN, SA: G57560-302, FW:
5374 LF1i, 22APR2013, PBA: G39779-300, LBA 351,651,888, LI P/N: 0C38722,
5375 Pb-free 2LI, LC P/N: 16-200366, WWN: 55CD2E40000AB69E, Model:
5376 SSDSC2BW180A3L 2.5" 6Gb/s SATA SSD 180G 5V 1A, ASM P/N 0C38732, FRU
5377 P/N 45N8295, P0C38732.</p>
5378
5379 <p>The only difference is in the first number (serial number?), ISN,
5380 SA, date and WNPP values. Mentioning all the details here in case
5381 someone is able to use the information to find a way to identify the
5382 failing disk among working ones (if any such working disk actually
5383 exist).</p>
5384
5385 </div>
5386 <div class="tags">
5387
5388
5389 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>.
5390
5391
5392 </div>
5393 </div>
5394 <div class="padding"></div>
5395
5396 <div class="entry">
5397 <div class="title">
5398 <a href="http://people.skolelinux.org/pere/blog/July_13th__Debian_Ubuntu_BSP_and_Skolelinux_Debian_Edu_developer_gathering_in_Oslo.html">July 13th: Debian/Ubuntu BSP and Skolelinux/Debian Edu developer gathering in Oslo</a>
5399 </div>
5400 <div class="date">
5401 9th July 2013
5402 </div>
5403 <div class="body">
5404 <p>The upcoming Saturday, 2013-07-13, we are organising a combined
5405 Debian Edu developer gathering and Debian and Ubuntu bug squashing
5406 party in Oslo. It is organised by <a href="http://www.nuug.no/">the
5407 member assosiation NUUG</a> and
5408 <a href="http://www.skolelinux.org/">the Debian Edu / Skolelinux
5409 project</a> together with <a href="http://bitraf.no/">the hack space
5410 Bitraf</a>.</p>
5411
5412 <p>It starts 10:00 and continue until late evening. Everyone is
5413 welcome, and there is no fee to participate. There is on the other
5414 hand limited space, and only room for 30 people. Please put your name
5415 on <a href="http://wiki.debian.org/BSP/2013/07/13/no/Oslo">the event
5416 wiki page</a> if you plan to join us.</p>
5417
5418 </div>
5419 <div class="tags">
5420
5421
5422 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
5423
5424
5425 </div>
5426 </div>
5427 <div class="padding"></div>
5428
5429 <div class="entry">
5430 <div class="title">
5431 <a href="http://people.skolelinux.org/pere/blog/The_Thinkpad_is_dead__long_live_the_Thinkpad_X230_.html">The Thinkpad is dead, long live the Thinkpad X230?</a>
5432 </div>
5433 <div class="date">
5434 5th July 2013
5435 </div>
5436 <div class="body">
5437 <p>Half a year ago, I reported that I had to find a
5438 <a href="http://people.skolelinux.org/pere/blog/Thank_you_Thinkpad_X41__for_your_long_and_trustworthy_service.html">replacement
5439 for my trusty old Thinkpad X41</a>. Unfortunately I did not have much
5440 time to spend on it, and it took a while to find a model I believe
5441 will do the job, but two days ago the replacement finally arrived. I
5442 ended up picking a
5443 <a href="http://www.linlap.com/lenovo_thinkpad_x230">Thinkpad X230</a>
5444 with SSD disk (NZDAJMN). I first test installed Debian Edu Wheezy as
5445 a roaming workstation, and it seemed to work flawlessly. But my
5446 second installation with encrypted disk was not as successful. More
5447 on that below.</p>
5448
5449 <p>I had a hard time trying to track down a good laptop, as my most
5450 important requirements (robust and with a good keyboard) are never
5451 listed in the feature list. But I did get good help from the search
5452 feature at <a href="http://www.prisjakt.no/">Prisjakt</a>, which
5453 allowed me to limit the list of interesting laptops based on my other
5454 requirements. A bit surprising that SSD disk are not disks according
5455 to that search interface, so I had to drop specifying the number of
5456 disks from my search parameters. I also asked around among friends to
5457 get their impression on keyboards and robustness.</p>
5458
5459 <p>So the new laptop arrived, and it is quite a lot wider than the
5460 X41. I am not quite convinced about the keyboard, as it is
5461 significantly wider than my old keyboard, and I have to stretch my
5462 hand a lot more to reach the edges. But the key response is fairly
5463 good and the individual key shape is fairly easy to handle, so I hope
5464 I will get used to it. My old X40 was starting to fail, and I really
5465 needed a new laptop now. :)</p>
5466
5467 <p>Turning off the touch pad was simple. All it took was a quick
5468 visit to the BIOS during boot it disable it.</p>
5469
5470 <p>But there is a fatal problem with the laptop. The 180 GB SSD disk
5471 lock up during load. And this happen when installing Debian Wheezy
5472 with encrypted disk, while the disk is being filled with random data.
5473 I also tested to install Ubuntu Raring, and it happen there too if I
5474 reenable the code to fill the disk with random data (it is disabled by
5475 default in Ubuntu). And the bug with is already known. It was
5476 reported to Debian as <a href="http://bugs.debian.org/691427">BTS
5477 report #691427 2012-10-25</a> (journal commit I/O error on brand-new
5478 Thinkpad T430s ext4 on lvm on SSD). It is also reported to the Linux
5479 kernel developers as
5480 <a href="https://bugzilla.kernel.org/show_bug.cgi?id=51861">Kernel bugzilla
5481 report #51861 2012-12-20</a> (Intel SSD 520 stops working under load
5482 (SSDSC2BW180A3L in Lenovo ThinkPad T430s)). It is also reported on the
5483 Lenovo forums, both for
5484 <a href="http://forums.lenovo.com/t5/T400-T500-and-newer-T-series/T430s-Intel-SSD-520-180GB-issue/m-p/1070549">T430
5485 2012-11-10</a> and for
5486 <a href="http://forums.lenovo.com/t5/X-Series-ThinkPad-Laptops/x230-SATA-errors-with-180GB-Intel-520-SSD-under-heavy-write-load/m-p/1068147">X230
5487 03-20-2013</a>. The problem do not only affect installation. The
5488 reports state that the disk lock up during use if many writes are done
5489 on the disk, so it is much no use to work around the installation
5490 problem and end up with a computer that can lock up at any moment.
5491 There is even a
5492 <a href="https://git.efficios.com/?p=test-ssd.git">small C program
5493 available</a> that will lock up the hard drive after running a few
5494 minutes by writing to a file.</p>
5495
5496 <p>I've contacted my supplier and asked how to handle this, and after
5497 contacting PCHELP Norway (request 01D1FDP) which handle support
5498 requests for Lenovo, his first suggestion was to upgrade the disk
5499 firmware. Unfortunately there is no newer firmware available from
5500 Lenovo, as my disk already have the most recent one (version LF1i). I
5501 hope to hear more from him today and hope the problem can be
5502 fixed. :)</p>
5503
5504 </div>
5505 <div class="tags">
5506
5507
5508 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>.
5509
5510
5511 </div>
5512 </div>
5513 <div class="padding"></div>
5514
5515 <div class="entry">
5516 <div class="title">
5517 <a href="http://people.skolelinux.org/pere/blog/The_Thinkpad_is_dead__long_live_the_Thinkpad_X230.html">The Thinkpad is dead, long live the Thinkpad X230</a>
5518 </div>
5519 <div class="date">
5520 4th July 2013
5521 </div>
5522 <div class="body">
5523 <p>Half a year ago, I reported that I had to find a replacement for my
5524 trusty old Thinkpad X41. Unfortunately I did not have much time to
5525 spend on it, but today the replacement finally arrived. I ended up
5526 picking a <a href="http://www.linlap.com/lenovo_thinkpad_x230">Thinkpad
5527 X230</a> with SSD disk (NZDAJMN). I first test installed Debian Edu
5528 Wheezy as a roaming workstation, and it worked flawlessly. As I write
5529 this, it is installing what I hope will be a more final installation,
5530 with a encrypted hard drive to ensure any dope head stealing it end up
5531 with an expencive door stop.</p>
5532
5533 <p>I had a hard time trying to track down a good laptop, as my most
5534 important requirements (robust and with a good keyboard) are never
5535 listed in the feature list. But I did get good help from the search
5536 feature at <ahref="http://www.prisjakt.no/">Prisjakt</a>, which
5537 allowed me to limit the list of interesting laptops based on my other
5538 requirements. A bit surprising that SSD disk are not disks, so I had
5539 to drop number of disks from my search parameters.</p>
5540
5541 <p>I am not quite convinced about the keyboard, as it is significantly
5542 wider than my old keyboard, and I have to stretch my hand a lot more
5543 to reach the edges. But the key response is fairly good and the
5544 individual key shape is fairly easy to handle, so I hope I will get
5545 used to it. My old X40 was starting to fail, and I really needed a
5546 new laptop now. :)</p>
5547
5548 <p>I look forward to figuring out how to turn off the touch pad.</p>
5549
5550 </div>
5551 <div class="tags">
5552
5553
5554 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>.
5555
5556
5557 </div>
5558 </div>
5559 <div class="padding"></div>
5560
5561 <div class="entry">
5562 <div class="title">
5563 <a href="http://people.skolelinux.org/pere/blog/Fourth_alpha_release_of_Debian_Edu_Skolelinux_based_on_Debian_Wheezy.html">Fourth alpha release of Debian Edu/Skolelinux based on Debian Wheezy</a>
5564 </div>
5565 <div class="date">
5566 3rd July 2013
5567 </div>
5568 <div class="body">
5569 <p>The fourth wheezy based alpha release of Debian Edu was wrapped up
5570 today. This is the release announcement:</p>
5571
5572 <p><strong>New features for Debian Edu 7.1+edu0~alpha3 released
5573 2013-07-03</strong></p>
5574
5575 <p>These are the release notes for for Debian Edu / Skolelinux
5576 7.1+edu0~alpha3, based on Debian with codename "Wheezy".</p>
5577
5578 <p><strong>About Debian Edu and Skolelinux</strong></p>
5579
5580 <p><a href="http://www.skolelinux.org/">Debian Edu, also known as
5581 Skolelinux</a>, is a Linux distribution based on Debian providing an
5582 out-of-the box environment of a completely configured school
5583 network. Immediately after installation a school server running all
5584 services needed for a school network is set up just waiting for users
5585 and machines being added via GOsa², a comfortable Web-UI. A netbooting
5586 environment is prepared using PXE, so after initial installation of
5587 the main server from CD, DVD or USB stick all other machines can be
5588 installed via the network. The provided school server provides LDAP
5589 database and Kerberos authentication service, centralized home
5590 directories, DHCP server, web proxy and many other services. The
5591 desktop contains
5592 <a href="http://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html">more
5593 than 60 educational software packages</a> and more are available from
5594 the Debian archive, and schools can choose between KDE, Gnome, LXDE
5595 and Xfce desktop environment.</p>
5596
5597 <p>This is the fourth test release based on Debian Wheezy. Basically
5598 this is an updated and slightly improved version compared to the
5599 Squeeze release.</p>
5600
5601 <p><strong>Software updates</strong></p>
5602 <ul>
5603 <li>Dropped ispell dictionaries from our default installation.</li>
5604 <li>Dropped menu-xdg from the KDE desktop option, to drop the Debian
5605 submenu. It was not included with Gnome, LXDE or Xfce, so this
5606 brings KDE in line with the others.</li>
5607 <li>Dropped xdrawchem, xjig and xsok from our default installation as
5608 they don't have a desktop menu entry and thus won't show up in the
5609 menu now that menu-xdg was removed.</li>
5610 <li>Removed the killer system to kill left behind processes on
5611 multi-user machines, as it was no longer able to understand when a
5612 X display was in use and killed the processes of the active users
5613 too.</li>
5614 <li>Dropped the golearn (from goplay) package as the debtags in wheezy
5615 are too few to make the package useful.</li>
5616 </ul>
5617 <p><strong>Other changes</strong></p>
5618 <ul>
5619 <li>Updated artwork matching http://wiki.debian.org/DebianArt/Themes/Joy
5620 <li>Multi-arch i386/amd64 USB stick ISO available.</li>
5621 <li>Got rid of ispell/wordlist related debconf questions that showed
5622 up for some language options.</li>
5623 <li>Switched to using http.debian.net as APT source by default.</li>
5624 <li>Fixed proxy configuration on Main Server installations.</li>
5625 <li>Changed LTSP setup to ask dpkg to use force-unsafe-io the same way
5626 d-i is doing it.</li>
5627 <li>Made sure root and user passwords were not left behind in the
5628 debconf database after installation on Main Server installations.</li>
5629 <li>Made Roaming Workstation dynamic setup more robust and added draft
5630 script setup-ad-client to hook a Roaming Workstation up to a
5631 Active Directory server instead of a Debian Edu Main Server.</li>
5632 <li>Update system to install needed firmware packages during
5633 installation, to work properly in Wheezy.</li>
5634 <li>Update system to handle hardware quirks (debian-edu-hwsetup).</li>
5635 <li>Corrected PXE installation setup to properly pass selected desktop
5636 and keymap settings to PXE installation clients.</li>
5637 <li>LTSP diskless workstations use sshfs by default, allowing them to
5638 work without adding them to DNS and NIS netgroups for NFS access.</li>
5639 </ul>
5640 <p><strong>Known issues</strong></p>
5641 <ul>
5642 <li>No mass import of user account data in GOsa (ldif or csv)
5643 available yet (698840).</li>
5644 <li>Artwork not enabled for all desktops.</li>
5645 </ul>
5646 <p><strong>Where to get it</strong></p>
5647
5648 <p>To download the multiarch netinstall CD release you can use</p>
5649 <ul>
5650 <li><a href="ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~a3-CD.iso">ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~a3-CD.iso</a></li>
5651 <li><a href="http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~a3-CD.iso">http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~a3-CD.iso</a></li>
5652 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~a3-CD.iso .</li>
5653 </ul>
5654
5655 <p>The MD5SUM of this image is: 2b161a99d2a848c376d8d04e3854e30c
5656 <br>The SHA1SUM of this image is: 498922e9c508c0a7ee9dbe1dfe5bf830d779c3c8</p>
5657
5658 <p>To download the multiarch USB stick ISO release you can use</p>
5659 <ul>
5660 <li><a href="ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~a3-USB.iso">ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~a3-USB.iso</a></li>
5661 <li><a href="http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~a3-USB.iso">http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~a3-USB.iso</a></li>
5662 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~a3-USB.iso .</li>
5663 </ul>
5664
5665 <p>The MD5SUM of this image is: 25e808e403a4c15dbef1d13c37d572ac
5666 <br>The SHA1SUM of this image is: 15ecfc93eb6b4f453b7eb0bc04b6a279262d9721</p>
5667
5668 <p><strong>How to report bugs</strong></p>
5669
5670 <p><a href="http://wiki.debian.org/DebianEdu/HowTo/ReportBugs">http://wiki.debian.org/DebianEdu/HowTo/ReportBugs</a></p>
5671
5672 </div>
5673 <div class="tags">
5674
5675
5676 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
5677
5678
5679 </div>
5680 </div>
5681 <div class="padding"></div>
5682
5683 <div class="entry">
5684 <div class="title">
5685 <a href="http://people.skolelinux.org/pere/blog/Automatically_locate_and_install_required_firmware_packages_on_Debian__Isenkram_0_4_.html">Automatically locate and install required firmware packages on Debian (Isenkram 0.4)</a>
5686 </div>
5687 <div class="date">
5688 25th June 2013
5689 </div>
5690 <div class="body">
5691 <p>It annoys me when the computer fail to do automatically what it is
5692 perfectly capable of, and I have to do it manually to get things
5693 working. One such task is to find out what firmware packages are
5694 needed to get the hardware on my computer working. Most often this
5695 affect the wifi card, but some times it even affect the RAID
5696 controller or the ethernet card. Today I pushed version 0.4 of the
5697 <a href="http://packages.qa.debian.org/isenkram">Isenkram package</a>
5698 including a new script isenkram-autoinstall-firmware handling the
5699 process of asking all the loaded kernel modules what firmware files
5700 they want, find debian packages providing these files and install the
5701 debian packages. Here is a test run on my laptop:</p>
5702
5703 <p><pre>
5704 # isenkram-autoinstall-firmware
5705 info: kernel drivers requested extra firmware: ipw2200-bss.fw ipw2200-ibss.fw ipw2200-sniffer.fw
5706 info: fetching http://http.debian.net/debian/dists/squeeze/Contents-i386.gz
5707 info: locating packages with the requested firmware files
5708 info: Updating APT sources after adding non-free APT source
5709 info: trying to install firmware-ipw2x00
5710 firmware-ipw2x00
5711 firmware-ipw2x00
5712 Preconfiguring packages ...
5713 Selecting previously deselected package firmware-ipw2x00.
5714 (Reading database ... 259727 files and directories currently installed.)
5715 Unpacking firmware-ipw2x00 (from .../firmware-ipw2x00_0.28+squeeze1_all.deb) ...
5716 Setting up firmware-ipw2x00 (0.28+squeeze1) ...
5717 #
5718 </pre></p>
5719
5720 <p>When all the requested firmware is present, a simple message is
5721 printed instead:</p>
5722
5723 <p><pre>
5724 # isenkram-autoinstall-firmware
5725 info: did not find any firmware files requested by loaded kernel modules. exiting
5726 #
5727 </pre></p>
5728
5729 <p>It could use some polish, but it is already working well and saving
5730 me some time when setting up new machines. :)</p>
5731
5732 <p>So, how does it work? It look at the set of currently loaded
5733 kernel modules, and look up each one of them using modinfo, to find
5734 the firmware files listed in the module meta-information. Next, it
5735 download the Contents file from a nearby APT mirror, and search for
5736 the firmware files in this file to locate the package with the
5737 requested firmware file. If the package is in the non-free section, a
5738 non-free APT source is added and the package is installed using
5739 <tt>apt-get install</tt>. The end result is a slightly better working
5740 machine.</p>
5741
5742 <p>I hope someone find time to implement a more polished version of
5743 this script as part of the hw-detect debian-installer module, to
5744 finally fix <a href="http://bugs.debian.org/655507">BTS report
5745 #655507</a>. There really is no need to insert USB sticks with
5746 firmware during a PXE install when the packages already are available
5747 from the nearby Debian mirror.</p>
5748
5749 </div>
5750 <div class="tags">
5751
5752
5753 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>.
5754
5755
5756 </div>
5757 </div>
5758 <div class="padding"></div>
5759
5760 <div class="entry">
5761 <div class="title">
5762 <a href="http://people.skolelinux.org/pere/blog/The_value_of_a_good_distro_wide_test_suite___.html">The value of a good distro wide test suite...</a>
5763 </div>
5764 <div class="date">
5765 22nd June 2013
5766 </div>
5767 <div class="body">
5768 <p>In the <a href="http://www.skolelinux.org/">Debian Edu /
5769 Skolelinux</a> project, we include a post-installation test suite,
5770 which check that services are running, working, and return the
5771 expected results. It runs automatically just after the first boot on
5772 test installations (using test ISOs), but not on production
5773 installations (using non-test ISOs). It test that the LDAP service is
5774 operating, Kerberos is responding, DNS is replying, file systems are
5775 online resizable, etc, etc. And it check that the PXE service is
5776 configured, which is the topic of this post.</p>
5777
5778 <p>The last week I've fixed the DVD and USB stick ISOs for our Debian
5779 Edu Wheezy release. These ISOs are supposed to be able to install a
5780 complete system without any Internet connection, but for that to
5781 happen all the needed packages need to be on them. Thanks to our test
5782 suite, I discovered that we had forgotten to adjust our PXE setup to
5783 cope with the new names and paths used by the netboot d-i packages.
5784 When Internet connectivity was available, the installer fall back to
5785 using wget to fetch d-i boot images, but when offline it require
5786 working packages to get it working. And the packages changed name
5787 from debian-installer-6.0-netboot-$arch to
5788 debian-installer-7.0-netboot-$arch, we no longer pulled in the
5789 packages during installation. Without our test suite, I suspect we
5790 would never have discovered this before release. Now it is fixed
5791 right after we got the ISOs operational.</p>
5792
5793 <p>Another by-product of the test suite is that we can ask system
5794 administrators with problems getting Debian Edu to work, to run the
5795 test suite using <tt>/usr/sbin/debian-edu-test-install</tt> and see if
5796 any errors are detected. This usually pinpoint the subsystem causing
5797 the problem.</p>
5798
5799 <p>If you want to help us help kids learn how to share and create,
5800 please join us on
5801 <a href="irc://irc.debian.org/%23debian-edu">#debian-edu on
5802 irc.debian.org</a> and the
5803 <a href="http://lists.debian.org/debian-edu/">debian-edu@</a> mailing
5804 list.</p>
5805
5806 </div>
5807 <div class="tags">
5808
5809
5810 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
5811
5812
5813 </div>
5814 </div>
5815 <div class="padding"></div>
5816
5817 <div class="entry">
5818 <div class="title">
5819 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Victor_Ni_u.html">Debian Edu interview: Victor Nițu</a>
5820 </div>
5821 <div class="date">
5822 17th June 2013
5823 </div>
5824 <div class="body">
5825 <p>The <a href="http://www.skolelinux.org/">Debian Edu and
5826 Skolelinux</a> distribution have users and contributors all around the
5827 globe. And a while back, an enterprising young man showed up on
5828 <a href="irc://irc.debian.org/%23debian-edu">our IRC channel
5829 #debian-edu</a> and started asking questions about how Debian Edu
5830 worked. We answered as good as we could, and even convinced him to
5831 help us with translations. And today I managed to get an interview
5832 with him, to learn more about him.</p>
5833
5834 <p><strong>Who are you, and how do you spend your days?</strong></p>
5835
5836 <p>I'm a 25 year old free software enthusiast, living in Romania,
5837 which is also my country of origin. Back in 2009, at a New Year's Eve
5838 party, I had a very nice <strike>beer</strike> discussion with a
5839 friend, when we realized we have no organised Debian community in our
5840 country. A few days later, we put together the infrastructure for such
5841 community and even gathered a nice Debian-ish crowd. Since then, I
5842 began my quest as a free software hacker and activist and I am
5843 constantly trying to cover as much ground as possible on that
5844 field.</p>
5845
5846 <p>A few years ago I founded a small web development company, which
5847 provided me the flexible schedule I needed so much for my
5848 activities. For the last 13 months, I have been the Technical Director
5849 of <a href="http://ceata.org/">Fundația Ceata</a>, which is a free
5850 software activist organisation endorsed by the FSF and the FSFE, and
5851 the only one we have in our country.</p>
5852
5853 <p><strong>How did you get in contact with the Skolelinux / Debian Edu
5854 project?</strong></p>
5855
5856 <p>The idea of participating in the Debian Edu project was a surprise
5857 even to me, since I never used it before I began getting involved in
5858 it. This year I had a great opportunity to deliver a talk on
5859 educational software, and I knew immediately where to look. It was a
5860 love at first sight, since I was previously involved with some of the
5861 technologies the project incorporates, and I rapidly found a lot of
5862 ways to contribute.</p>
5863
5864 <p>My first contributions consisted in translating the installer and
5865 configuration dialogs, then I found some bugs to squash (I still
5866 haven't fixed them yet though), and I even got my eyes on some other
5867 areas where I can prove myself helpful. Since the appetite for free
5868 software in my country is pretty low, I'll be happy to be the first
5869 one around here advocating for the project's adoption in educational
5870 environments, and maybe even get my hands dirty in creating a flavour
5871 for our own needs. I am not used to make very advanced plannings, so
5872 from now on, time will tell what I'll be doing next, but I think I
5873 have a pretty consistent starting point.</p>
5874
5875 <p><strong>What do you see as the advantages of Skolelinux/Debian
5876 Edu?</strong></p>
5877
5878 <p>Not a long time ago, I was in the position of configuring and
5879 maintaining a LDAP server on some Debian derivative, and I must say it
5880 took me a while. A long time ago, I was maintaining a bigger
5881 Samba-powered infrastructure, and I must say I spent quite a lot of
5882 time on it. I have similar stories about many of the services included
5883 with Skolelinux, and the main advantage I see about it is the
5884 out-of-the box availability of them, making it quite competitive when
5885 it comes to managing a school's network, for example.</p>
5886
5887 <p>Of course, there is more to say about Skolelinux than the
5888 availability of the software included, its flexibility in various
5889 scenarios is something I can't wait to experiment "into the wild" (I
5890 only played with virtual machines so far). And I am sure there is a
5891 lot more I haven't discovered yet about it, being so new within the
5892 project.</p>
5893
5894 <p><strong>What do you see as the disadvantages of Skolelinux / Debian
5895 Edu?</strong></p>
5896
5897 <p>As usual, when it comes to Debian Blends, I see as the biggest
5898 disadvantage the lack of a numerous team dedicated to the
5899 project. Every day I see the same names in the changelogs, and I have
5900 a constantly fear of the bus factor in this story. I'd like to see
5901 Debian Edu advertised more as an entry point into the Debian
5902 ecosystem, especially amongst newcomers and students. IMHO there are a
5903 lot low-hanging fruits in terms of bug squashing, and enough
5904 opportunities to get the feeling of the Debian Project's dynamics. Not
5905 to mention it's a very fun blend to work on!</p>
5906
5907 <p>Derived from the previous statement, is the delay in catching up
5908 with the main Debian release and documentation. This is common though
5909 to all blends and derivatives, but it's an issue we can all work
5910 on.</p>
5911
5912 <p><strong>Which free software do you use daily?</strong></p>
5913
5914 <p>I can hardly imagine myself spending a day without Vim, since my
5915 daily routine covers writing code and hacking configuration files. I
5916 am a fan of the Awesome window manager (but I also like the
5917 Enlightenment project a lot!),
5918 <a href="http://www.claws-mail.org/‎">Claws Mail</a> due to its ease of
5919 use and very configurable behaviour. Recently I fell in love with
5920 <a href="https://launchpad.net/redshift">Redshift</a>, which helps me
5921 get through the night without headaches. Of course, there is much more
5922 stuff in this bag, but I'll need a blog on my own for doing this!</p>
5923
5924 <p><strong>Which strategy do you believe is the right one to use to
5925 get schools to use free software?</strong></p>
5926
5927 <p>Well, on this field, I cannot do much more than experiment right
5928 now. So, being far from having a recipe for success, I can only assume
5929 that:</p>
5930
5931 <ul>
5932
5933 <li>schools would like to get rid of proprietary software</li>
5934
5935 <li>students will love the openness of the system, and will want to
5936 experiment with it - maybe we need to harvest the native curiosity
5937 of teenagers more?</li>
5938
5939 <li>there is no "right one" when it comes to strategies, but it would
5940 be useful to have some success stories published somewhere, so
5941 other can get some inspiration from them (I know I'd promote
5942 them!)</li>
5943
5944 <li>more active promotion - talks, conferences, even small school
5945 lectures can do magical things if they encounter at least one
5946 person interested. Who knows who that person might be? ;-)</li>
5947
5948 </ul>
5949
5950 <p>I also see some problems in getting Skolelinux into schools; for
5951 example, in our country we have a great deal of corruption issues, so
5952 it might be hard(er) to fight against proprietary solutions. Also,
5953 people who relied on commercial software for all their lives, would be
5954 very hard to convert against their will.</p>
5955
5956 </div>
5957 <div class="tags">
5958
5959
5960 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju</a>.
5961
5962
5963 </div>
5964 </div>
5965 <div class="padding"></div>
5966
5967 <div class="entry">
5968 <div class="title">
5969 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Jonathan_Carter.html">Debian Edu interview: Jonathan Carter</a>
5970 </div>
5971 <div class="date">
5972 12th June 2013
5973 </div>
5974 <div class="body">
5975 <p>There is a certain cross-over between the
5976 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux
5977 project</a> and <a href="http://www.edubuntu.org/">the Edubuntu
5978 project</a>, and for example the LTSP packages in Debian are a joint
5979 effort between the projects. One person with a foot in both camps is
5980 Jonathan Carter, which I am now happy to present to you.</p>
5981
5982 <p><strong>Who are you, and how do you spend your days?</strong></p>
5983
5984 <p>I'm a South-African free software geek who lives in Cape Town. My
5985 days vary quite a bit since I'm involved in too many things. As I'm
5986 getting older I'm learning how to focus a bit more :)</p>
5987
5988 <p>I'm also an Edubuntu contributor and I love when there are
5989 opportunities for the Edubuntu and Debian Edu projects to benefit from
5990 each other.</p>
5991
5992 <p><strong>How did you get in contact with the Skolelinux / Debian Edu
5993 project?</strong></p>
5994
5995 <p>I've been somewhat familiar with the project before, but I think my
5996 first direct exposure to the project was when I met Petter
5997 [Reinholdtsen] and Knut [Yrvin] at the Edubuntu summit in 2005 in
5998 London. They provided great feedback that helped the bootstrapping of
5999 Edubuntu. Back then Edubuntu (and even Ubuntu) was still very new and
6000 it was great getting input from people who have been around longer. I
6001 was also still very excitable and said yes to everything and to this
6002 day I have a big todo list backlog that I'm catching up with. I think
6003 over the years the relationship between Edubuntu and Debian-Edu has
6004 been gradually improving, although I think there's a lot that we could
6005 still improve on in terms of working together on packages. I'm sure
6006 we'll get there one day.</p>
6007
6008 <p><strong>What do you see as the advantages of Skolelinux / Debian
6009 Edu?</strong></p>
6010
6011 <p>Debian itself already has so many advantages. I could go on about
6012 it for pages, but in essence I love that it's a very honest project
6013 that puts its users first with no hidden agendas and also produces
6014 very high quality work.</p>
6015
6016 <p>I think the advantage of Debian Edu is that it makes many common
6017 set-up tasks simpler so that administrators can get up and running
6018 with a lot less effort and frustration. At the same time I think it
6019 helps to standardise installations in schools so that it's easier for
6020 community members and commercial suppliers to support.</p>
6021
6022 <p><strong>What do you see as the disadvantages of Skolelinux / Debian
6023 Edu?</strong></p>
6024
6025 <p>I had to re-type this one a few times because I'm trying to
6026 separate "disadvantages" from "areas that need improvement" (which is
6027 what I originally rambled on about)</p>
6028
6029 <p>The biggest disadvantage I can think of is lack of manpower. The
6030 project could do so much more if there were more good contributors. I
6031 think some of the problems are external too. Free software and free
6032 content in education is a no-brainer but it takes some time to catch
6033 on. When you've been working with the same proprietary eco-system for
6034 years and have gotten used to it, it can be hard to adjust to some
6035 concepts in the free software world. It would be nice if there were
6036 more Debian Edu consultants across the world. I'd love to be one
6037 myself but I'm already so over-committed that it's just not possible
6038 currently.</p>
6039
6040 <p>I think the best short-term solution to that large-scale problem is
6041 for schools to be pro-active and share their experiences and grow
6042 their skills in-house. I'm often saddened to see how much money
6043 educational institutions spend on 3rd party solutions that they don't
6044 have access to after the service has ended and they could've gotten so
6045 much more value otherwise by being more self-sustainable and
6046 autonomous.</p>
6047
6048 <p><strong>Which free software do you use daily?</strong></p>
6049
6050 <p>My main laptop dual-boots between Debian and Windows 7. I was
6051 Windows free for years but started dual-booting again last year for
6052 some games which help me focus and relax (Starcraft II in
6053 particular). Gaming support on Linux is improving in leaps and bounds
6054 so I suppose I'll soon be able to regain that disk space :)</p>
6055
6056 <p>Besides that I rely on Icedove, Chromium, Terminator, Byobu, irssi,
6057 git, Tomboy, KVM, VLC and LibreOffice. Recently I've been torn on
6058 which desktop environment I like and I'm taking some refuge in Xfce
6059 while I figure that out. I like tools that keep things simple. I enjoy
6060 Python and shell scripting. I went to an Arduino workshop recently and
6061 it was awesome seeing how easy and simple the IDE software was to get
6062 up and running in Debian compared to the users running Windows and OS
6063 X.</p>
6064
6065 <p>I also use mc which some people frown upon slightly. I got used to
6066 using Norton Commander in the early 90's and it stuck (I think the
6067 people who sneer at it is just jealous that they don't know how to use
6068 it :p)
6069
6070 <p><strong>Which strategy do you believe is the right one to use to
6071 get schools to use free software?</strong></p>
6072
6073 <p>I think trying to force it is unproductive. I also think that in
6074 many cases it's appropriate for schools to use non-free systems and I
6075 don't think that there's any particular moral or ethical problem with
6076 that.</p>
6077
6078 <p>I do think though that free software can already solve so so many
6079 problems in educational institutions and it's just a shame not taking
6080 advantage of that.</p>
6081
6082 <p>I also think that some curricula need serious review. For example,
6083 some areas of the world rely heavily on very specific versions of MS
6084 Office, teaching students to parrot menu items instead of learning the
6085 general concepts. I think that's very unproductive because firstly, MS
6086 Office's interface changes drastically every few years and on top of
6087 that it also locks in a generation to a product that might not be the
6088 best solution for them.</p>
6089
6090 <p>To answer your question, I believe that the right strategy is to
6091 educate and inform, giving someone the information they require to
6092 make a decision that would work for them.</p>
6093
6094 </div>
6095 <div class="tags">
6096
6097
6098 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju</a>.
6099
6100
6101 </div>
6102 </div>
6103 <div class="padding"></div>
6104
6105 <div class="entry">
6106 <div class="title">
6107 <a href="http://people.skolelinux.org/pere/blog/Fixing_the_Linux_black_screen_of_death_on_machines_with_Intel_HD_video.html">Fixing the Linux black screen of death on machines with Intel HD video</a>
6108 </div>
6109 <div class="date">
6110 11th June 2013
6111 </div>
6112 <div class="body">
6113 <p>When installing RedHat, Fedora, Debian and Ubuntu on some machines,
6114 the screen just turn black when Linux boot, either during installation
6115 or on first boot from the hard disk. I've seen it once in a while the
6116 last few years, but only recently understood the cause. I've seen it
6117 on HP laptops, and on my latest acquaintance the Packard Bell laptop.
6118 The reason seem to be in the wiring of some laptops. The system to
6119 control the screen background light is inverted, so when Linux try to
6120 turn the brightness fully on, it end up turning it off instead. I do
6121 not know which Linux drivers are affected, but this post is about the
6122 i915 driver used by the
6123 <a href="http://www.linlap.com/packard_bell_easynote_lv">Packard Bell
6124 EasyNote LV</a>, Thinkpad X40 and many other laptops.</p>
6125
6126 <p>The problem can be worked around two ways. Either by adding
6127 i915.invert_brightness=1 as a kernel option, or by adding a file in
6128 /etc/modprobe.d/ to tell modprobe to add the invert_brightness=1
6129 option when it load the i915 kernel module. On Debian and Ubuntu, it
6130 can be done by running these commands as root:</p>
6131
6132 <pre>
6133 echo options i915 invert_brightness=1 | tee /etc/modprobe.d/i915.conf
6134 update-initramfs -u -k all
6135 </pre>
6136
6137 <p>Since March 2012 there is
6138 <a href="http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=4dca20efb1a9c2efefc28ad2867e5d6c3f5e1955">a
6139 mechanism in the Linux kernel</a> to tell the i915 driver which
6140 hardware have this problem, and get the driver to invert the
6141 brightness setting automatically. To use it, one need to add a row in
6142 <a href="http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/i915/intel_display.c">the
6143 intel_quirks array</a> in the driver source
6144 <tt>drivers/gpu/drm/i915/intel_display.c</tt> (look for "<tt>static
6145 struct intel_quirk intel_quirks</tt>"), specifying the PCI device
6146 number (vendor number 8086 is assumed) and subdevice vendor and device
6147 number.</p>
6148
6149 <p>My Packard Bell EasyNote LV got this output from <tt>lspci
6150 -vvnn</tt> for the video card in question:</p>
6151
6152 <p><pre>
6153 00:02.0 VGA compatible controller [0300]: Intel Corporation \
6154 3rd Gen Core processor Graphics Controller [8086:0156] \
6155 (rev 09) (prog-if 00 [VGA controller])
6156 Subsystem: Acer Incorporated [ALI] Device [1025:0688]
6157 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- \
6158 ParErr- Stepping- SE RR- FastB2B- DisINTx+
6159 Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- \
6160 <TAbort- <MAbort->SERR- <PERR- INTx-
6161 Latency: 0
6162 Interrupt: pin A routed to IRQ 42
6163 Region 0: Memory at c2000000 (64-bit, non-prefetchable) [size=4M]
6164 Region 2: Memory at b0000000 (64-bit, prefetchable) [size=256M]
6165 Region 4: I/O ports at 4000 [size=64]
6166 Expansion ROM at <unassigned> [disabled]
6167 Capabilities: <access denied>
6168 Kernel driver in use: i915
6169 </pre></p>
6170
6171 <p>The resulting intel_quirks entry would then look like this:</p>
6172
6173 <p><pre>
6174 struct intel_quirk intel_quirks[] = {
6175 ...
6176 /* Packard Bell EasyNote LV11HC needs invert brightness quirk */
6177 { 0x0156, 0x1025, 0x0688, quirk_invert_brightness },
6178 ...
6179 }
6180 </pre></p>
6181
6182 <p>According to the kernel module instructions (as seen using
6183 <tt>modinfo i915</tt>), information about hardware needing the
6184 invert_brightness flag should be sent to the
6185 <a href="http://lists.freedesktop.org/mailman/listinfo/dri-devel">dri-devel
6186 (at) lists.freedesktop.org</a> mailing list to reach the kernel
6187 developers. But my email about the laptop sent 2013-06-03 have not
6188 yet shown up in
6189 <a href="http://lists.freedesktop.org/archives/dri-devel/2013-June/thread.html">the
6190 web archive for the mailing list</a>, so I suspect they do not accept
6191 emails from non-subscribers. Because of this, I sent my patch also to
6192 the Debian bug tracking system instead as
6193 <a href="http://bugs.debian.org/710938">BTS report #710938</a>, to make
6194 sure the patch is not lost.</p>
6195
6196 <p>Unfortunately, it is not enough to fix the kernel to get Laptops
6197 with this problem working properly with Linux. If you use Gnome, your
6198 worries should be over at this point. But if you use KDE, there is
6199 something in KDE ignoring the invert_brightness setting and turning on
6200 the screen during login. I've reported it to Debian as
6201 <a href="http://bugs.debian.org/711237">BTS report #711237</a>, and
6202 have no idea yet how to figure out exactly what subsystem is doing
6203 this. Perhaps you can help? Perhaps you know what the Gnome
6204 developers did to handle this, and this can give a clue to the KDE
6205 developers? Or you know where in KDE the screen brightness is changed
6206 during login? If so, please update the BTS report (or get in touch if
6207 you do not know how to update BTS).</p>
6208
6209 <p>Update 2013-07-19: The correct fix for this machine seem to be
6210 acpi_backlight=vendor, to disable ACPI backlight support completely,
6211 as the ACPI information on the machine is trash and it is better to
6212 leave it to the intel video driver to control the screen
6213 backlight.</p>
6214
6215 </div>
6216 <div class="tags">
6217
6218
6219 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>.
6220
6221
6222 </div>
6223 </div>
6224 <div class="padding"></div>
6225
6226 <div class="entry">
6227 <div class="title">
6228 <a href="http://people.skolelinux.org/pere/blog/Third_alpha_release_of_Debian_Edu___Skolelinux_based_on_Debian_Wheezy.html">Third alpha release of Debian Edu / Skolelinux based on Debian Wheezy</a>
6229 </div>
6230 <div class="date">
6231 10th June 2013
6232 </div>
6233 <div class="body">
6234 <p>The third wheezy based alpha release of Debian Edu was wrapped up
6235 today. This is the release announcement:</p>
6236
6237 <p><strong>New features for Debian Edu 7.0.0 alpha2 released
6238 2013-06-10</strong></p>
6239
6240 <p>This is the release notes for for Debian Edu / Skolelinux 7.0.0 edu
6241 alpha2, based on Debian with codename "Wheezy".</p>
6242
6243 <p><strong>About Debian Edu and Skolelinux</strong></p>
6244
6245 <p><a href="http://www.skolelinux.org/">Debian Edu, also known as
6246 Skolelinux</a>, is a Linux distribution based on Debian providing an
6247 out-of-the box environment of a completely configured school
6248 network. Immediately after installation a school server running all
6249 services needed for a school network is set up just waiting for users
6250 and machines being added via GOsa², a comfortable Web-UI. A netbooting
6251 environment is prepared using PXE, so after initial installation of
6252 the main server from CD, DVD or USB stick all other machines can be
6253 installed via the network. The provided school server provides LDAP
6254 database and Kerberos authentication service, centralized home
6255 directories, DHCP server, web proxy and many other services. The
6256 desktop contains
6257 <a href="http://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html">more
6258 than 60 educational software packages</a> and more are available from
6259 the Debian archive, and schools can choose between KDE, Gnome, LXDE
6260 and Xfce desktop environment.</p>
6261
6262 <p>This is the third test release based on Debian Wheezy. Basically
6263 this is an updated and slightly improved version compared to the
6264 Squeeze release.</p>
6265
6266 <p><strong>Software updates</strong></p>
6267
6268 <ul>
6269
6270 <li>Iceweasel was updated from 10 to 17. (DSA 2699-1)
6271 <li>Updated libxv (DSA-2674), libxvmc (DSA-2675), libxfixes (DSA-2676), libxrender (DSA-2677), mesa (DSA-2678), xserver-xorg-video-openchrome (DSA-2679), libxt (DSA-2680), libxcursor (DSA-2681), libxext (DSA-2682), libxi (DSA-2683), libxrandr (DSA-2684), libxp (DSA-2685), libxcb (DSA-2686), libfs (DSA-2687), libxres (DSA-2688), libxtst (DSA-2689), libxxf86dga (DSA-2690), libxinerama (DSA-2691), libxxf86vm (DSA-2692), libx11 (DSA-2693), chromium-browser (DSA-2695), gnutls26 (DSA-2697), wireshark (DSA-2700), krb5 (DSA-2701), telepathy-gabble (DSA-2702) and subversion (DSA-2703).
6272 <li>Switched xrdp on thin client servers to use tightvncserver instead of xvnc4.
6273 <li>Now install software oscilloscope xoscope by default.
6274 <li>Now install music tools gtick, lingot and pianobooster by default.
6275
6276 </ul>
6277
6278 <p><strong>Other changes</strong></p>
6279
6280 <ul>
6281
6282 <li>The subnet-change script is now able to change all files needing a change on the main-server when changing the IP network used.
6283 <li>Updated translation of the installation.
6284 <li>New Romanian translation.
6285 <li>Fix security problem causing root and first user password to no longer show up in /var/cache/debconf/templates.dat.
6286 <li>Fix roaming workstation setup (Closed in libpam-mklocaluser/0.8, libpam-mklocaluser/0.8~deb7u1: #706753: libpam-mklocaluser: Fail to create local user during first login).
6287 <li>Made roaming workstation setup more robust in non-Debian Edu environments.
6288 <li>New script debian-edu-bless to transform a Debian installation to a Debian Edu profile.
6289 <li>Adjust Iceweasel setup to improve performance when $HOME is on NFS.
6290 <li>More testsuite tests.
6291 <li>Make automatic proxy configuration more robust.
6292 <li>Adjust GOsa² GUI configuration.
6293
6294 <li>Update thin client and diskless workstation setup to work with
6295 LTSP in Wheezy.</li>
6296
6297 <li>Diskless workstations now run out of the box -- no need to set
6298 them up with GOsa².</li>
6299
6300 <li>Update IMAP server setup. </li>
6301
6302 <li>Fix login into Skolelinux Backup Tool (Closed in
6303 slbackup-php/0.4.4-1: #700257: slbackup-php: Fails to submit correctly
6304 entered password). </li>
6305
6306 </ul>
6307
6308 <p><strong>Known issues</strong></p>
6309
6310 <ul>
6311
6312 <li>DVD binary and source images are not yet ready.</li>
6313
6314 <li>No mass import of user account data in GOsa (ldif or csv)
6315 available yet (Open in gosa/2.7.4-4: #698840: gosa-plugin-ldapmanager:
6316 missing import feature).</li>
6317
6318 <li>Missing artwork for the KDE desktop (and probably a few others). </li>
6319
6320 <li>KDE Debian submenu lacks icons (Closed: #502192: menu-xdg: invents
6321 own icon names instead of using existing). This will remain
6322 unfixed.</li>
6323
6324 </ul>
6325
6326 <p><strong>Where to get it</strong></p>
6327
6328 <p>To download the multiarch netinstall CD release you can use</p>
6329
6330 <ul>
6331
6332 <li><a href="ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.0+edu0~a2-CD.iso">ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.0+edu0~a2-CD.iso</a></li>
6333
6334 <li><a href="http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.0+edu0~a2-CD.iso">http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.0+edu0~a2-CD.iso</a></li>
6335
6336 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.0+edu0~a2-CD.iso .</li>
6337
6338 </ul>
6339
6340 <p>The MD5SUM of this image is: 27bbcace407743382f3c42c08dbe8178
6341 <br>The SHA1SUM of this image is: e35f7d7908566cd3075375b3721fa10ee420d419</p>
6342
6343 <p><strong>How to report bugs</strong></p>
6344
6345 <p><a href="http://wiki.debian.org/DebianEdu/HowTo/ReportBugs">http://wiki.debian.org/DebianEdu/HowTo/ReportBugs</a>
6346
6347 </div>
6348 <div class="tags">
6349
6350
6351 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
6352
6353
6354 </div>
6355 </div>
6356 <div class="padding"></div>
6357
6358 <div class="entry">
6359 <div class="title">
6360 <a href="http://people.skolelinux.org/pere/blog/Is_there_a_PHP_expert_in_the_building___Debian_Edu_need_help_.html">Is there a PHP expert in the building? Debian Edu need help!</a>
6361 </div>
6362 <div class="date">
6363 5th June 2013
6364 </div>
6365 <div class="body">
6366 <p>Here is a call for help from the Debian Edu / Skolelinux project.
6367 We have two problems blocking the release of the Wheezy version we
6368 hope to get released soon. The two problems require some with PHP
6369 skills, and we seem to lack anyone with both time and PHP skills in
6370 the project:
6371
6372 <ol>
6373
6374 <li>It is impossible to log into the slbackup web interface
6375 (slbackup-php) using the root user and password. This is
6376 <a href="http://bugs.debian.org/700257">BTS report #700257</a>.
6377 This used to work, but stopped working some time since Squeeze.
6378 Perhaps some obsolete PHP feature was used?</li>
6379
6380 <li>It is not possible to "mass import" user lists in Gosa, neither
6381 using ldif nor using CSV files. The feature was disabled after a
6382 major rewrite of Gosa, and need to be ported to the new system.
6383 This is <a href="http://bugs.debian.org/698840">BTS report
6384 #698840</a>.</li>
6385
6386 </ol>
6387
6388 <p>If you can help us, please join us on IRC
6389 (<a href="irc://irc.debian.org/%23debian-edu">#debian-edu on
6390 irc.debian.org</a>) and provide patches via the BTS.</p>
6391
6392 </div>
6393 <div class="tags">
6394
6395
6396 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
6397
6398
6399 </div>
6400 </div>
6401 <div class="padding"></div>
6402
6403 <div class="entry">
6404 <div class="title">
6405 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__C_dric_Boutillier.html">Debian Edu interview: Cédric Boutillier</a>
6406 </div>
6407 <div class="date">
6408 4th June 2013
6409 </div>
6410 <div class="body">
6411 <p>It has been a while since my last English
6412 <a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>
6413 interview last November. But the developers and translators are still
6414 pulling along to get the Wheezy based release out the door, and this
6415 time I managed to get an interview from one of the French translators
6416 in the project, Cédric Boutillier.</p>
6417
6418 <p><strong>Who are you, and how do you spend your days?</strong></p>
6419
6420 <p>I am 34 year old. I live near Paris, France. I am an assistant
6421 professor in probability theory. I spend my daytime teaching
6422 mathematics at the university and doing fundamental research in
6423 probability in connexion with combinatorics and statistical physics.</p>
6424
6425 <p>I have been involved in the Debian project for a couple of years
6426 and became Debian Developer a few months ago. I am working on Ruby
6427 packaging, publicity and translation.</p>
6428
6429 <p><strong>How did you get in contact with the Skolelinux / Debian Edu
6430 project?</strong></p>
6431
6432 <p>I came to the Debian Edu project after a call for translation of
6433 <a href="http://wiki.debian.org/DebianEdu/Documentation/Manuals">the
6434 Debian Edu manual</a> for the release of Debian Edu Squeeze. Since
6435 then, I have been working on updating the French translation of the
6436 manual.
6437
6438 <p>I had the opportunity to make an installation of Debian Edu in a
6439 virtual machine when I was preparing localised version of some screen
6440 shots for the manual. I was amazed to see it worked out of the box and
6441 how comprehensive the list of software installed by default was.</p>
6442
6443 <p>What amazed me was the complete network infrastructure directly
6444 ready to use, which can and the nice administration interface provided
6445 by <a href="https://oss.gonicus.de/labs/gosa/">GOsa²</a>. What pleased
6446 me also was the fact that among the software installed by default,
6447 there were many "traditional" educative software to learn languages,
6448 to count, to program... but also software to develop creativity and
6449 artistic skills with music (<a href="http://ardour.org/">Ardour</a>,
6450 <a href="http://audacity.sourceforge.net/">Audacity</a>) and
6451 movies/animation (I was especially thinking of
6452 <a href="http://linuxstopmotion.sourceforge.net/">Stopmotion</a>).</p>
6453
6454 <p>I am following the development of Debian Edu and am hanging out on
6455 <a href="irc://irc.debian.org/%23debian-edu">#debian-edu</a>.
6456 Unfortunately, I don't much time to get more involved in this
6457 beautiful project.</p>
6458
6459 <p><strong>What do you see as the advantages of Skolelinux / Debian
6460 Edu?</strong></p>
6461
6462 <p>For me, the main advantages of Skolelinux/Debian Edu are its
6463 community of experts and its precise documentation, as well as the
6464 fact that it provides a solution ready to use.</p>
6465
6466 <p>I would add also the fact that it is based on the rock solid Debian
6467 distribution, which ensures stability and provides a huge collection
6468 of educational free software.</p>
6469
6470 <p><strong>What do you see as the disadvantages of Skolelinux / Debian
6471 Edu?</strong></p>
6472
6473 <p>Maybe the lack of manpower to do lobbying on the
6474 project. Sometimes, people who need to take decisions concerning IT do
6475 not have all the elements to evaluate properly free software
6476 solutions. The fact that support by a company may be difficult to find
6477 is probably a problem if the school does not have IT personnel.</p>
6478
6479 <p>One can find support from a company by looking at
6480 <a href="http://wiki.debian.org/DebianEdu/Help/ProfessionalHelp">the
6481 wiki dokumentation</a>, where some countries already have a number of
6482 companies providing support for Debian Edu, like Germany or
6483 Norway. This list is easy to find readily from the manual. However,
6484 for other countries, like France, the list is empty. I guess that
6485 consultants proposing support for Debian would be able to provide some
6486 support for Debian Edu as well.</p>
6487
6488 <p><strong>Which free software do you use daily?</strong></p>
6489
6490 <p>I am using the KDE Plasma Desktop. But the pieces of software I use
6491 most runs in a terminal: Mutt and OfflineIMAP for emails, latex for
6492 scientific documents, mpd for music. VIM is my editor of choice. I am
6493 also using the mathematical software
6494 <a href="http://www.scilab.org/en/scilab/about‎">Scilab</a> and
6495 <a href="http://www.sagemath.org/index.html‎">Sage</a> (built from
6496 source as not completely packaged for Debian, yet).
6497
6498 <p><strong>Do you have any suggestions for teachers interested in
6499 using the free software in Debian to teach mathematics and
6500 statistics?</strong></p>
6501
6502 <p>I do not have any "nice" recommendations for statistics. At our
6503 university, we use both <a href="http://www.r-project.org/‎">R</a> and
6504 Scilab to teach statistics and probabilistic simulations. For
6505 geometry, there are nice programs:</p>
6506
6507 <ul>
6508
6509 <li><a href="http://www.drgeo.eu/">drgeo</a> and
6510 <a href="http://edu.kde.org/applications/all/kig‎">kig</a> to do
6511 constructions in planar geometry
6512
6513 <li><a href="http://www.geom.uiuc.edu/software/download/kali.html">kali</a>
6514 to discover symmetry groups (the so-called wallpapers and frieze
6515 groups), although the interface looks a bit old.</li>
6516
6517 </ul>
6518
6519 <p>I like also
6520 <a href="http://edu.kde.org/applications/all/cantor">cantor</a>, which
6521 provides a uniform interface to SciLab, Sage,
6522 <a href="http://directory.fsf.org/wiki/Octave‎">Octave</a>, etc...</p>
6523
6524 <p><strong>Which strategy do you believe is the right one to use to
6525 get schools to use free software?</strong></p>
6526
6527 <p>My suggestions would be to</p>
6528
6529 <ul>
6530
6531 <li>advertise the reduction of costs when free software is used.</li>
6532
6533 <li>communicate about the quality of free software projects, using
6534 well known examples like Firefox, ThunderBird and
6535 OpenOffice.org/LibreOffice.</li>
6536
6537 <li>advertise the living and strong community around the project.</li>
6538
6539 <li>show that it is not more difficult to use than any other
6540 system.</li>
6541
6542 </ul>
6543
6544 </div>
6545 <div class="tags">
6546
6547
6548 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju</a>.
6549
6550
6551 </div>
6552 </div>
6553 <div class="padding"></div>
6554
6555 <div class="entry">
6556 <div class="title">
6557 <a href="http://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html">Educational applications included in Debian Edu / Skolelinux (the screenshot collection :-)</a>
6558 </div>
6559 <div class="date">
6560 1st June 2013
6561 </div>
6562 <div class="body">
6563 <p>Included in <a href="http://www.skolelinux.org/">Debian Edu /
6564 Skolelinux</a>, there are quite a lot of educational software.
6565 Created to help teachers teach, and pupils learn. We have tried to
6566 tag them all using debtags use::learning and role::program, and using
6567 the debtags I was happy to be able to create a collage of the
6568 educational software packages installed by default, sorted by the
6569 debtag field. Here it is. Click on a image to learn more about the
6570 program.</p>
6571
6572 <!-- for f in $(debtags tagcat|grep field::|awk '{print $2}'); do echo; echo "<p><strong>$f</strong></p>"; echo "<p>"; ( for p in $(debtags search --names "use::learning && interface::x11 && role::program && $f"); do img="<img src='http://screenshots.debian.net/thumbnail/$p' alt='$p'>"; if dpkg -s $p > /dev/null 2>&1; then echo "<a href='http://packages.qa.debian.org/$p'>$img</a>"; fi; done; ) | LANG=C sort; echo "</p>"; done -->
6573
6574 <p><strong>field::arts</strong></p>
6575 <p>
6576 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=audacity'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/audacity.png' alt='audacity'></a>
6577 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=childsplay'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/childsplay.png' alt='childsplay'></a>
6578 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=denemo'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/denemo.png' alt='denemo'></a>
6579 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=freebirth'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/freebirth.png' alt='freebirth'></a>
6580 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=gcompris'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/gcompris.png' alt='gcompris'></a>
6581 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=gimp'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/gimp.png' alt='gimp'></a>
6582 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=hydrogen'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/hydrogen.png' alt='hydrogen'></a>
6583 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=lilypond'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/lilypond.png' alt='lilypond'></a>
6584 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=lmms'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/lmms.png' alt='lmms'></a>
6585 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=rosegarden'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/rosegarden.png' alt='rosegarden'></a>
6586 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=scribus'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/scribus.png' alt='scribus'></a>
6587 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=solfege'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/solfege.png' alt='solfege'></a>
6588 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=stopmotion'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/stopmotion.png' alt='stopmotion'></a>
6589 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=tuxpaint'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/tuxpaint.png' alt='tuxpaint'></a>
6590 </p>
6591
6592 <p><strong>field::astronomy</strong></p>
6593 <p>
6594 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=celestia-gnome'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/celestia-gnome.png' alt='celestia-gnome'></a>
6595 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=gpredict'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/gpredict.png' alt='gpredict'></a>
6596 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=kstars'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/kstars.png' alt='kstars'></a>
6597 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=planets'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/planets.png' alt='planets'></a>
6598 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=stellarium'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/stellarium.png' alt='stellarium'></a>
6599 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=xplanet'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/xplanet.png' alt='xplanet'></a>
6600 </p>
6601
6602 <p><strong>field::biology:structural</strong></p>
6603 <p>
6604 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=pymol'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/pymol.png' alt='pymol'></a>
6605 </p>
6606
6607 <p><strong>field::chemistry</strong></p>
6608 <p>
6609 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=atomix'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/atomix.png' alt='atomix'></a>
6610 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=chemtool'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/chemtool.png' alt='chemtool'></a>
6611 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=easychem'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/easychem.png' alt='easychem'></a>
6612 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=gchempaint'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/gchempaint.png' alt='gchempaint'></a>
6613 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=gdis'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/gdis.png' alt='gdis'></a>
6614 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=ghemical'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/ghemical.png' alt='ghemical'></a>
6615 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=gperiodic'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/gperiodic.png' alt='gperiodic'></a>
6616 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=kalzium'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/kalzium.png' alt='kalzium'></a>
6617 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=pymol'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/pymol.png' alt='pymol'></a>
6618 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=viewmol'>[viewmol]</a>
6619 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=xdrawchem'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/xdrawchem.png' alt='xdrawchem'></a>
6620 </p>
6621
6622 <p><strong>field::electronics</strong></p>
6623 <p>
6624 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=gcompris'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/gcompris.png' alt='gcompris'></a>
6625 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=gpsim'>[gpsim]</a>
6626 </p>
6627
6628 <p><strong>field::geography</strong></p>
6629 <p>
6630 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=kgeography'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/kgeography.png' alt='kgeography'></a>
6631 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=marble'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/marble.png' alt='marble'></a>
6632 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=xplanet'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/xplanet.png' alt='xplanet'></a>
6633 </p>
6634
6635 <p><strong>field::linguistics</strong></p>
6636 <p>
6637 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=gcompris'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/gcompris.png' alt='gcompris'></a>
6638 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=kanagram'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/kanagram.png' alt='kanagram'></a>
6639 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=khangman'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/khangman.png' alt='khangman'></a>
6640 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=klettres'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/klettres.png' alt='klettres'></a>
6641 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=parley'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/parley.png' alt='parley'></a>
6642 </p>
6643
6644 <p><strong>field::mathematics</strong></p>
6645 <p>
6646 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=childsplay'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/childsplay.png' alt='childsplay'></a>
6647 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=drgeo'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/drgeo.png' alt='drgeo'></a>
6648 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=gcompris'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/gcompris.png' alt='gcompris'></a>
6649 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=geogebra'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/geogebra.png' alt='geogebra'></a>
6650 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=geomview'>[geomview]</a>
6651 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=grace'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/grace.png' alt='grace'></a>
6652 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=graphmonkey'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/graphmonkey.png' alt='graphmonkey'></a>
6653 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=graphthing'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/graphthing.png' alt='graphthing'></a>
6654 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=kalgebra'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/kalgebra.png' alt='kalgebra'></a>
6655 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=kbruch'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/kbruch.png' alt='kbruch'></a>
6656 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=kig'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/kig.png' alt='kig'></a>
6657 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=kmplot'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/kmplot.png' alt='kmplot'></a>
6658 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=mathwar'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/mathwar.png' alt='mathwar'></a>
6659 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=rocs'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/rocs.png' alt='rocs'></a>
6660 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=scratch'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/scratch.png' alt='scratch'></a>
6661 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=tuxmath'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/tuxmath.png' alt='tuxmath'></a>
6662 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=xabacus'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/xabacus.png' alt='xabacus'></a>
6663 </p>
6664
6665 <p><strong>field::physics</strong></p>
6666 <p>
6667 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=gcompris'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/gcompris.png' alt='gcompris'></a>
6668 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=step'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/step.png' alt='step'></a>
6669 </p>
6670
6671 <p><strong>field::TODO</strong></p>
6672 <p>
6673 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=blinken'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/blinken.png' alt='blinken'></a>
6674 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=cgoban'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/cgoban.png' alt='cgoban'></a>
6675 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=childsplay'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/childsplay.png' alt='childsplay'></a>
6676 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=gcompris'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/gcompris.png' alt='gcompris'></a>
6677 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=gnuchess'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/gnuchess.png' alt='gnuchess'></a>
6678 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=gnugo'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/gnugo.png' alt='gnugo'></a>
6679 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=gtans'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/gtans.png' alt='gtans'></a>
6680 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=ktouch'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/ktouch.png' alt='ktouch'></a>
6681 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=librecad'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/librecad.png' alt='librecad'></a>
6682 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=scratch'><img src='http://people.skolelinux.org/pere/blog/images/2013-06-01-debian-edu-apps/scratch.png' alt='scratch'></a>
6683 </p>
6684
6685 <p>In total, 61 applications. 3 of them lacked screen shots on
6686 <a href="http://screenshot.debian.net">screenshot.debian.net</a>. If
6687 you know of some packages we should install by default, please let us
6688 know on <a href="irc://irc.debian.org/%23debian-edu">IRC, #debian-edu
6689 on irc.debian.org</a>, or our
6690 <a href="http://lists.debian.org/debian-edu/">mailing list
6691 debian-edu@</a>.</p>
6692
6693 </div>
6694 <div class="tags">
6695
6696
6697 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
6698
6699
6700 </div>
6701 </div>
6702 <div class="padding"></div>
6703
6704 <div class="entry">
6705 <div class="title">
6706 <a href="http://people.skolelinux.org/pere/blog/How_to_install_Linux_on_a_Packard_Bell_Easynote_LV_preinstalled_with_Windows_8.html">How to install Linux on a Packard Bell Easynote LV preinstalled with Windows 8</a>
6707 </div>
6708 <div class="date">
6709 27th May 2013
6710 </div>
6711 <div class="body">
6712 <p>Two days ago, I asked
6713 <a href="http://people.skolelinux.org/pere/blog/How_can_I_install_Linux_on_a_Packard_Bell_Easynote_LV_preinstalled_with_Windows_8_.html">how
6714 I could install Linux on a Packard Bell EasyNote LV computer
6715 preinstalled with Windows 8</a>. I found a solution, but am horrified
6716 with the obstacles put in the way of Linux users on a laptop with UEFI
6717 and Windows 8.</p>
6718
6719 <p>I never found out if the cause of my problems were the use of UEFI
6720 secure booting or fast boot. I suspect fast boot was the problem,
6721 causing the firmware to boot directly from HD without considering any
6722 key presses and alternative devices, but do not know UEFI settings
6723 enough to tell.</p>
6724
6725 <p>There is no way to install Linux on the machine in question without
6726 opening the box and disconnecting the hard drive! This is as far as I
6727 can tell, the only way to get access to the firmware setup menu
6728 without accepting the Windows 8 license agreement. I am told (and
6729 found description on how to) that it is possible to configure the
6730 firmware setup once booted into Windows 8. But as I believe the terms
6731 of that agreement are completely unacceptable, accepting the license
6732 was never an alternative. I do not enter agreements I do not intend
6733 to follow.</p>
6734
6735 <p>I feared I had to return the laptops and ask for a refund, and
6736 waste many hours on this, but luckily there was a way to get it to
6737 work. But I would not recommend it to anyone planning to run Linux on
6738 it, and I have become sceptical to Windows 8 certified laptops. Is
6739 this the way Linux will be forced out of the market place, by making
6740 it close to impossible for "normal" users to install Linux without
6741 accepting the Microsoft Windows license terms? Or at least not
6742 without risking to loose the warranty?</p>
6743
6744 <p>I've updated the
6745 <a href="http://www.linlap.com/packard_bell_easynote_lv">Linux Laptop
6746 wiki page for Packard Bell EasyNote LV</a>, to ensure the next person
6747 do not have to struggle as much as I did to get Linux into the
6748 machine.</p>
6749
6750 <p>Thanks to Bob Rosbag, Florian Weimer, Philipp Kern, Ben Hutching,
6751 Michael Tokarev and others for feedback and ideas.</p>
6752
6753 </div>
6754 <div class="tags">
6755
6756
6757 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>.
6758
6759
6760 </div>
6761 </div>
6762 <div class="padding"></div>
6763
6764 <div class="entry">
6765 <div class="title">
6766 <a href="http://people.skolelinux.org/pere/blog/How_can_I_install_Linux_on_a_Packard_Bell_Easynote_LV_preinstalled_with_Windows_8_.html">How can I install Linux on a Packard Bell Easynote LV preinstalled with Windows 8?</a>
6767 </div>
6768 <div class="date">
6769 25th May 2013
6770 </div>
6771 <div class="body">
6772 <p>I've run into quite a problem the last few days. I bought three
6773 new laptops for my parents and a few others. I bought Packard Bell
6774 Easynote LV to run Kubuntu on and use as their home computer. But I
6775 am completely unable to figure out how to install Linux on it. The
6776 computer is preinstalled with Windows 8, and I suspect it uses UEFI
6777 instead of a BIOS to boot.</p>
6778
6779 <p>The problem is that I am unable to get it to PXE boot, and unable
6780 to get it to boot the Linux installer from my USB stick. I have yet
6781 to try the DVD install, and still hope it will work. when I turn on
6782 the computer, there is no information on what buttons to press to get
6783 the normal boot menu. I expect to get some boot menu to select PXE or
6784 USB stick booting. When booting, it first ask for the language to
6785 use, then for some regional settings, and finally if I will accept the
6786 Windows 8 terms of use. As these terms are completely unacceptable to
6787 me, I have no other choice but to turn off the computer and try again
6788 to get it to boot the Linux installer.</p>
6789
6790 <p>I have gathered my findings so far on a Linlap page about the
6791 <a href="http://www.linlap.com/packard_bell_easynote_lv">Packard Bell
6792 EasyNote LV</a> model. If you have any idea how to get Linux
6793 installed on this machine, please get in touch or update that wiki
6794 page. If I can't find a way to install Linux, I will have to return
6795 the laptop to the seller and find another machine for my parents.</p>
6796
6797 <p>I wonder, is this the way Linux will be forced out of the market
6798 using UEFI and "secure boot" by making it impossible to install Linux
6799 on new Laptops?</p>
6800
6801 </div>
6802 <div class="tags">
6803
6804
6805 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>.
6806
6807
6808 </div>
6809 </div>
6810 <div class="padding"></div>
6811
6812 <div class="entry">
6813 <div class="title">
6814 <a href="http://people.skolelinux.org/pere/blog/How_to_transform_a_Debian_based_system_to_a_Debian_Edu_installation.html">How to transform a Debian based system to a Debian Edu installation</a>
6815 </div>
6816 <div class="date">
6817 17th May 2013
6818 </div>
6819 <div class="body">
6820 <p><a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> is
6821 an operating system based on Debian intended for use in schools. It
6822 contain a turn-key solution for the computer network provided to
6823 pupils in the primary schools. It provide both the central server,
6824 network boot servers and desktop environments with heaps of
6825 educational software. The project was founded almost 12 years ago,
6826 2001-07-02. If you want to support the project, which is in need for
6827 cash to fund developer gatherings and other project related activity,
6828 <a href="http://www.linuxiskolen.no/slxdebianlabs/donations.html">please
6829 donate some money</a>.
6830
6831 <p>A topic that come up again and again on the Debian Edu mailing
6832 lists and elsewhere, is the question on how to transform a Debian or
6833 Ubuntu installation into a Debian Edu installation. It isn't very
6834 hard, and last week I wrote a script to replicate the steps done by
6835 the Debian Edu installer.</p>
6836
6837 <p>The script,
6838 <a href="http://anonscm.debian.org/viewvc/debian-edu/branches/wheezy/debian-edu-config/share/debian-edu-config/tools/debian-edu-bless?view=markup">debian-edu-bless<a/>
6839 in the debian-edu-config package, will go through these six steps and
6840 transform an existing Debian Wheezy or Ubuntu (untested) installation
6841 into a Debian Edu Workstation:</p>
6842
6843 <ol>
6844
6845 <li>Add skolelinux related APT sources.</li>
6846 <li>Create /etc/debian-edu/config with the wanted configuration.</li>
6847 <li>Install debian-edu-install to load preseeding values and pull in
6848 our configuration.</li>
6849 <li>Preseed debconf database with profile setup in
6850 /etc/debian-edu/config, and run tasksel to install packages
6851 according to the profile specified in the config above,
6852 overriding some of the Debian automation machinery.</li>
6853 <li>Run debian-edu-cfengine-D installation to configure everything
6854 that could not be done using preseeding.</li>
6855 <li>Ask for a reboot to enable all the configuration changes.</li>
6856
6857 </ol>
6858
6859 <p>There are some steps in the Debian Edu installation that can not be
6860 replicated like this. Disk partitioning and LVM setup, for example.
6861 So this script just assume there is enough disk space to install all
6862 the needed packages.</p>
6863
6864 <p>The script was created to help a Debian Edu student working on
6865 setting up <a href="http://www.raspberrypi.org">Raspberry Pi</a> as a
6866 Debian Edu client, and using it he can take the existing
6867 <a href="http://www.raspbian.org/FrontPage‎">Raspbian</a> installation and
6868 transform it into a fully functioning Debian Edu Workstation (or
6869 Roaming Workstation, or whatever :).</p>
6870
6871 <p>The default setting in the script is to create a KDE Workstation.
6872 If a LXDE based Roaming workstation is wanted instead, modify the
6873 PROFILE and DESKTOP values at the top to look like this instead:</p>
6874
6875 <p><pre>
6876 PROFILE="Roaming-Workstation"
6877 DESKTOP="lxde"
6878 </pre></p>
6879
6880 <p>The script could even become useful to set up Debian Edu servers in
6881 the cloud, by starting with a virtual Debian installation at some
6882 virtual hosting service and setting up all the services on first
6883 boot.</p>
6884
6885 </div>
6886 <div class="tags">
6887
6888
6889 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
6890
6891
6892 </div>
6893 </div>
6894 <div class="padding"></div>
6895
6896 <div class="entry">
6897 <div class="title">
6898 <a href="http://people.skolelinux.org/pere/blog/Second_alpha_release_of_Debian_Edu___Skolelinux_based_on_Debian_Wheezy.html">Second alpha release of Debian Edu / Skolelinux based on Debian Wheezy</a>
6899 </div>
6900 <div class="date">
6901 14th May 2013
6902 </div>
6903 <div class="body">
6904 <p>The <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux
6905 project</a> is making great progress and made its second Wheezy based
6906 release today. This is the release announcement:</p>
6907
6908 <p><strong>New features for Debian Edu 7.0.0 alpha1 released
6909 2013-05-14</strong></p>
6910
6911 <p>This is the release notes for for Debian Edu / Skolelinux 7.0.0 edu
6912 alpha1, based on <a href="http://www.debian.org">Debian</a> with
6913 codename "Wheezy".</p>
6914
6915 <p><strong>About Debian Edu and Skolelinux</strong></p>
6916
6917 <p>Debian Edu, also known as Skolelinux, is a Linux distribution based
6918 on Debian providing an out-of-the box environment of a completely
6919 configured school network. Immediatly after installation a school
6920 server running all services needed for a school network is set up just
6921 waiting for users and machines being added via GOsa², a comfortable
6922 Web-UI. A netbooting environment is prepared using PXE, so after
6923 initial installation of the main server from CD, DVD or USB stick all
6924 other machines can be installed via the network.</p>
6925
6926 <p>This is the first test release based on Wheezy (which currently is
6927 not released yet). Basically this is an updated and slightly improved
6928 version compared to the Squeeze release.</p>
6929
6930 <p><strong>Software updates</strong></p>
6931 <ul>
6932 <li>Install freemind (0.9.0) by default, and stop installing vym by
6933 default.</li>
6934 <li>Install chromium (26.0.1410.43) by default.</li>
6935 <li>Install goplay (0.5-1.1) to make golearn available by default.</li>
6936 <li>Updated support for Japanese input methods, now based on
6937 ibus-anthy.</li>
6938 </ul>
6939
6940 <p><strong>Other changes</strong></p>
6941 <ul>
6942
6943 <li>Switched default file system from ext3 to ext4 for speed and
6944 reliability improvements.</li>
6945 <li>Got rid of unwanted winbind daemon and PAM setup activated because
6946 of <a href="http://bugs.debian.org/706434">706434</a>.</li>
6947 <li>Extended and improved the testsuite tests to detect more possible
6948 problems.</li>
6949 <li>Corrected proxy handling to not set http_proxy to a bogus
6950 direct:// URL.</li>
6951 <li>Corrected proxy setup for diskless workstations.</li>
6952 <li>Corrected PXE setup to use our updated udebs during installation.</li>
6953 <li>Made installation handling of low entropy level more robust.</li>
6954 <li>Create larger partitions for Roaming workstations and Thin client
6955 servers, to make room for all the software installed.</li>
6956 <li>Fix bug in Roaming workstation PAM setup, making it impossible to
6957 log in (<a href="http://bugs.debian.org/706753">706753</a>).</li>
6958 </ul>
6959
6960 <p><strong>Known issues</strong></p>
6961 <ul>
6962
6963 <li>IP resolution for the local hostname give useless IPv6 address
6964 (<a href="http://bugs.debian.org/705900">705900</a>). Only install
6965 libnss-myhostname on roaming workstations until it is fixed.</li>
6966 <li>DVD images are not yet ready.</li>
6967 <li>No mass import of user account data in GOsa (ldif or csv)
6968 available yet (<a href="http://bugs.debian.org/698840">698840</a>).</li>
6969 <li>Missing artwork for the KDE desktop (and probably a few others).</li>
6970 <li>KDE Debian submenu lacks icons.</li>
6971 <li>LXDE menu lacks entry for changing GOsa password
6972 (website). Installing gosa-desktop will be an option.</li>
6973 <li>Backup configuration via web interface is impossible due to
6974 password submission problem
6975 (<a href="http://bugs.debian.org/700257">700257</a>).</li>
6976
6977 </ul>
6978
6979 <p><strong>Where to get it</strong></p>
6980
6981 <p>To download the multiarch netinstall CD release you can use</p>
6982 <ul>
6983
6984 <li><a href="ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu~7.0+edu0~a1-CD.iso">ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu~7.0+edu0~a1-CD.iso</a></li>
6985 <li><a href="http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu~7.0+edu0~a1-CD.iso">http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu~7.0+edu0~a1-CD.iso</a></li>
6986 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu~7.0+edu0~a1-CD.iso debian-edu~7.0+edu0~a1-CD.iso</li>
6987
6988 </ul>
6989
6990 <p>The MD5SUM of this image is: 685ed76c1aa8e44b12d3fde21faf450b</p>
6991
6992 <p>The SHA1SUM of this image is: 6c874de157024da13e115bab29c068080a11ec4c</p>
6993
6994 <p><strong>How to report bugs</strong></p>
6995
6996 <p><a href="http://wiki.debian.org/DebianEdu/HowTo/ReportBugs">http://wiki.debian.org/DebianEdu/HowTo/ReportBugs</a></p>
6997
6998 </div>
6999 <div class="tags">
7000
7001
7002 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
7003
7004
7005 </div>
7006 </div>
7007 <div class="padding"></div>
7008
7009 <div class="entry">
7010 <div class="title">
7011 <a href="http://people.skolelinux.org/pere/blog/Debian__the_Linux_distribution_of_choice_for_LEGO_designers_.html">Debian, the Linux distribution of choice for LEGO designers?</a>
7012 </div>
7013 <div class="date">
7014 11th May 2013
7015 </div>
7016 <div class="body">
7017 <P>In January,
7018 <a href="http://people.skolelinux.org/pere/blog/New_IRC_channel_for_LEGO_designers_using_Debian.html">I
7019 announced a</a> new <a href="irc://irc.debian.org/%23debian-lego">IRC
7020 channel #debian-lego</a>, for those of us in the Debian and Linux
7021 community interested in <a href="http://www.lego.com/">LEGO</a>, the
7022 marvellous construction system from Denmark. We also created
7023 <a href="http://wiki.debian.org/LegoDesigners">a wiki page</a> to have
7024 a place to take notes and write down our plans and hopes. And several
7025 people showed up to help. I was very happy to see the effect of my
7026 call. Since the small start, we have a debtags tag
7027 <a href="http://debtags.debian.net/search/bytag?wl=hardware::hobby:lego">hardware::hobby:lego</a>
7028 tag for LEGO related packages, and now count 10 packages related to
7029 LEGO and <a href="http://mindstorms.lego.com/">Mindstorms</a>:</p>
7030
7031 <p><table>
7032 <tr><td><a href="http://packages.qa.debian.org/brickos">brickos</a></td><td>alternative OS for LEGO Mindstorms RCX. Supports development in C/C++</td></tr>
7033 <tr><td><a href="http://packages.qa.debian.org/leocad">leocad</a></td><td>virtual brick CAD software</td></tr>
7034 <tr><td><a href="http://packages.qa.debian.org/libnxt">libnxt</a></td><td>utility library for talking to the LEGO Mindstorms NX</td></tr>
7035 <tr><td><a href="http://packages.qa.debian.org/lnpd">lnpd</a></td><td>daemon for LNP communication with BrickOS</td></tr>
7036 <tr><td><a href="http://packages.qa.debian.org/nbc">nbc</a></td><td>compiler for LEGO Mindstorms NXT bricks</td></tr>
7037 <tr><td><a href="http://packages.qa.debian.org/nqc">nqc</a></td><td>Not Quite C compiler for LEGO Mindstorms RCX</td></tr>
7038 <tr><td><a href="http://packages.qa.debian.org/python-nxt">python-nxt</a></td><td>python driver/interface/wrapper for the Lego Mindstorms NXT robot</td></tr>
7039 <tr><td><a href="http://packages.qa.debian.org/python-nxt-filer">python-nxt-filer</a></td><td>simple GUI to manage files on a LEGO Mindstorms NXT</td></tr>
7040 <tr><td><a href="http://packages.qa.debian.org/scratch">scratch</a></td><td>easy to use programming environment for ages 8 and up</td></tr>
7041 <tr><td><a href="http://packages.qa.debian.org/t2n">t2n</a></td><td>simple command-line tool for Lego NXT</td></tr>
7042 </table></p>
7043
7044 <p>Some of these are available in Wheezy, and all but one are
7045 currently available in Jessie/testing. leocad is so far only
7046 available in experimental.</p>
7047
7048 <p>If you care about LEGO in Debian, please join us on IRC and help
7049 adding the rest of the great free software tools available on Linux
7050 for LEGO designers.</p>
7051
7052 </div>
7053 <div class="tags">
7054
7055
7056 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/robot">robot</a>.
7057
7058
7059 </div>
7060 </div>
7061 <div class="padding"></div>
7062
7063 <div class="entry">
7064 <div class="title">
7065 <a href="http://people.skolelinux.org/pere/blog/Debian_Wheezy_is_out___and_Debian_Edu___Skolelinux_should_soon_follow___newinwheezy.html">Debian Wheezy is out - and Debian Edu / Skolelinux should soon follow! #newinwheezy</a>
7066 </div>
7067 <div class="date">
7068 5th May 2013
7069 </div>
7070 <div class="body">
7071 <p>When I woke up this morning, I was very happy to see that the
7072 <a href="http://www.debian.org/News/2013/20130504">release announcement
7073 for Debian Wheezy</a> was waiting in my mail box. This is a great
7074 Debian release, and I expect to move my machines at home over to it fairly
7075 soon.</p>
7076
7077 <p>The new debian release contain heaps of new stuff, and one program
7078 in particular make me very happy to see included. The
7079 <a href="http://scratch.mit.edu/">Scratch</a> program, made famous by
7080 the <a href="http://www.code.org/">Teach kids code</a> movement, is
7081 included for the first time. Alongside similar programs like
7082 <a href="http://edu.kde.org/kturtle/">kturtle</a> and
7083 <a href="http://wiki.sugarlabs.org/go/Activities/Turtle_Art">turtleart</a>,
7084 it allow for visual programming where syntax errors can not happen,
7085 and a friendly programming environment for learning to control the
7086 computer. Scratch will also be included in the next release of Debian
7087 Edu.</a>
7088
7089 <p>And now that Wheezy is wrapped up, we can wrap up the next Debian
7090 Edu/Skolelinux release too. The
7091 <a href="http://lists.debian.org/debian-edu/2013/04/msg00132.html">first
7092 alpha release</a> went out last week, and the next should soon
7093 follow.<p>
7094
7095 </div>
7096 <div class="tags">
7097
7098
7099 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
7100
7101
7102 </div>
7103 </div>
7104 <div class="padding"></div>
7105
7106 <div class="entry">
7107 <div class="title">
7108 <a href="http://people.skolelinux.org/pere/blog/First_alpha_release_of_Debian_Edu___Skolelinux_based_on_Debian_Wheezy.html">First alpha release of Debian Edu / Skolelinux based on Debian Wheezy</a>
7109 </div>
7110 <div class="date">
7111 26th April 2013
7112 </div>
7113 <div class="body">
7114 <p>The Debian Edu / Skolelinux project is still going strong and made
7115 its first Wheezy based release today. This is the release
7116 announcement:</p>
7117
7118 <p><strong>New features for Debian Edu ~7.0.0 alpha0 released
7119 2013-04-26</strong></p>
7120
7121 <p>This is the release notes for for Debian Edu / Skolelinux ~7.0.0
7122 edu alpha0, based on Debian with codename "Wheezy".</p>
7123
7124 <p><strong>About Debian Edu and Skolelinux</strong></p>
7125
7126 <p><a href="http://www.skolelinux.org/">Debian Edu, also known as
7127 Skolelinux</a>, is a Linux distribution based on Debian providing an
7128 out-of-the box environment of a completely configured school
7129 network. Immediatly after installation a school server running all
7130 services needed for a school network is set up just waiting for users
7131 and machines being added via GOsa², a comfortable Web-UI. A netbooting
7132 environment is prepared using PXE, so after initial installation of
7133 the main server from CD, DVD or USB stick all other machines can be
7134 installed via the network.</p>
7135
7136 <p>This is the first test release based on Wheezy (which currently is
7137 not released yet). Basically this is an updated and slightly improved
7138 version compared to the Squeeze release.</p>
7139
7140 <p><strong>Software updates</strong></p>
7141
7142 <ul>
7143 <li>Everything which is new in Debian Wheezy, eg:
7144 <ul>
7145 <li>Linux kernel 3.2.x</li>
7146 <li>Desktop environments KDE "Plasma" 4.8.4, GNOME 3.4, and LXDE 4
7147 (KDE is installed by default; to choose GNOME or LXDE: see
7148 manual.)</li>
7149 <li>Web browser Iceweasel 10 ESR</li>
7150 <li>LibreOffice 3.5.4</li>
7151 <li>LTSP 5.4.2</li>
7152 <li>GOsa 2.7.4</li>
7153 <li>CUPS print system 1.5.3</li>
7154 <li>Educational toolbox GCompris 12.01</li>
7155 <li>Music creator Rosegarden 12.04</li>
7156 <li>Image editor Gimp 2.8.2</li>
7157 <li>Virtual universe Celestia 1.6.1</li>
7158 <li>Virtual stargazer Stellarium 0.11.3</li>
7159 <li>Scratch visual programming environment 1.4.0.6</li>
7160 <li>New version of debian-installer from Debian Wheezy, see
7161 <a href="http://www.debian.org/releases/wheezy/installmanual">installation
7162 manual</a> for more details.</li>
7163 <li>Debian Wheezy includes about 37000 packages available for
7164 installation.</li>
7165 <li>More information about Debian Wheezy 7.0 is provided in the
7166 <a href="http://www.debian.org/releases/wheezy/releasenotes">release notes</a> and the <a href="http://www.debian.org/releases/wheezy/installmanual">installation manual</a>.</li>
7167 </ul></li>
7168 </ul>
7169
7170 <p><strong>Documentation</strong></p>
7171 <ul>
7172 <li>The (<a href="http://wiki.debian.org/DebianEdu/Documentation/Wheezy">English</a>) Debian Edu Wheezy Manual is fully translated to
7173 German, French, Italian and Danish. Partly translated versions exist
7174 for Norwegian Bokmal and Spanish.</li>
7175 </ul>
7176
7177 <p><Strong>LDAP related changes</strong></p>
7178 <ul>
7179 <li>Slight changes to some objects and acls to have more types to
7180 choose from when adding systems in GOsa. Now systems can be of type
7181 server, workstation, printer, terminal or netdevice.</li>
7182 </ul>
7183
7184 <p><strong>Other changes</strong></p>
7185 <ul>
7186 <li>LTSP clients start as diskless workstation / thin client can be
7187 configured via command line argument -- or individually adding an
7188 entry in lts.conf or LDAP.<li>
7189 <li>GOsa gui: Now some options that seemed to be available, but are non
7190 functional, are greyed out (or are not clickable). Some tabs are
7191 completely hidden to the end user, others even to the GOsa admin.</li>
7192 </ul>
7193
7194 <p><strong>Regressions</strong></p>
7195 <ul>
7196 <li>No mass import of user account data in GOsa (ldif or csv) available
7197 yet.</li>
7198 </ul>
7199
7200 <p><strong>No updated artwork</strong></p>
7201
7202 <ul>
7203 <li>Updated artwork which is visible during installation, in the login
7204 screen and as desktop wallpaper is still missing or the same as we
7205 had for our Squeeze based release.</li>
7206 </ul>
7207
7208 <p><strong>Where to get it</strong></p>
7209
7210 To download the multiarch netinstall CD release you can use
7211 <ul>
7212 <li><a href="ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/">ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/</a></li>
7213 <li><a href="http://ftp.skolelinux.org/skolelinux-cd/wheezy/">http://ftp.skolelinux.org/skolelinux-cd/wheezy/</a></li>
7214 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/</li>
7215 </ul>
7216
7217 <p>The MD5SUM of this image is: c5e773ddafdaa4f48c409c682f598b6c</p>
7218
7219 <p>The SHA1SUM of this image is: 25934fabb9b7d20235499a0a51f08ce6c54215f2</p>
7220
7221 <p><strong>How to report bugs</strong></p>
7222
7223 <p><a href="http://wiki.debian.org/DebianEdu/HowTo/ReportBugs">http://wiki.debian.org/DebianEdu/HowTo/ReportBugs</a></p>
7224
7225 </div>
7226 <div class="tags">
7227
7228
7229 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
7230
7231
7232 </div>
7233 </div>
7234 <div class="padding"></div>
7235
7236 <div class="entry">
7237 <div class="title">
7238 <a href="http://people.skolelinux.org/pere/blog/First_Debian_Edu___Skolelinux_developer_gathering_in_2013_take_place_in_Trondheim.html">First Debian Edu / Skolelinux developer gathering in 2013 take place in Trondheim</a>
7239 </div>
7240 <div class="date">
7241 16th April 2013
7242 </div>
7243 <div class="body">
7244 <p>This years first <a href="http://www.skolelinux.org/">Skolelinux /
7245 Debian Edu</a> developer gathering take place the coming weekend in Trondheim.
7246 Details about the gathering can be found
7247 <a href="http://www.friprogramvareiskolen.no/Gathering/2013-04-19-21-Trondheim">on
7248 the FRiSK wiki</a>. The dates are 19-21th of April 2013, and online
7249 participation for those unable to make it in person is very welcome,
7250 and I plan to participate online myself as I could not leave Oslo this
7251 weekend.</p>
7252
7253 <p>The focus of the gathering is to work on the web pages and project
7254 infrastructure, and to continue the work on the Wheezy based Debian
7255 Edu release.</p>
7256
7257 <p>See you on <a href="irc://irc.debian.org/%23debian-edu">IRC, #debian-edu on irc.debian.org,</a> then?</p>
7258
7259 </div>
7260 <div class="tags">
7261
7262
7263 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
7264
7265
7266 </div>
7267 </div>
7268 <div class="padding"></div>
7269
7270 <div class="entry">
7271 <div class="title">
7272 <a href="http://people.skolelinux.org/pere/blog/Isenkram_0_2_finally_in_the_Debian_archive.html">Isenkram 0.2 finally in the Debian archive</a>
7273 </div>
7274 <div class="date">
7275 3rd April 2013
7276 </div>
7277 <div class="body">
7278 <p>Today the <a href="http://packages.qa.debian.org/isenkram">Isenkram
7279 package</a> finally made it into the archive, after lingering in NEW
7280 for many months. I uploaded it to the Debian experimental suite
7281 2013-01-27, and today it was accepted into the archive.</p>
7282
7283 <p>Isenkram is a system for suggesting to users what packages to
7284 install to work with a pluggable hardware device. The suggestion pop
7285 up when the device is plugged in. For example if a Lego Mindstorm NXT
7286 is inserted, it will suggest to install the program needed to program
7287 the NXT controller. Give it a go, and report bugs and suggestions to
7288 BTS. :)</p>
7289
7290 </div>
7291 <div class="tags">
7292
7293
7294 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>.
7295
7296
7297 </div>
7298 </div>
7299 <div class="padding"></div>
7300
7301 <div class="entry">
7302 <div class="title">
7303 <a href="http://people.skolelinux.org/pere/blog/Change_the_font__save_the_world__and_save_some_money_in_the_process_.html">Change the font, save the world (and save some money in the process)</a>
7304 </div>
7305 <div class="date">
7306 26th March 2013
7307 </div>
7308 <div class="body">
7309 <p>Would you like to help the environment and save money at the same
7310 time, without much sacrifice? A small step could be to change the
7311 font you use when printing.</p>
7312
7313 <p>Three years ago,
7314 <a href="http://arstechnica.com/business/2010/04/last-year-printer-comparison-website/">Ars
7315 Technica</a> reported how the University of Wisconsin-Green Bay
7316 changed their default front from
7317 <a href="http://en.wikipedia.org/wiki/Arial">Arial</a> to
7318 <a href="http://en.wikipedia.org/wiki/Century_Gothic">Century
7319 Gothic</a> to save money. The Century Gothic font uses 30% less toner
7320 than Arial to print the same text. In other word, you could cut your
7321 toner costs by 30% (or actually, increase your toner supply life time
7322 by more than 30%), by simply changing the default font used in your
7323 prints.</p>
7324
7325 <p>But it is not quite obvious how much one will save by switching.
7326 The University of Wisconsin-Green Bay said it used $100,000 per year
7327 on ink and toner cartridges, according to
7328 <a href="http://www.twincities.com/ci_14833097">a report from
7329 TwinCities.com</a>, and expected to save between $5,000 and $10,000
7330 per year by asking staff and students to use a different font. Not
7331 all PDFs and documents are created internally, and those from external
7332 sources will most likely still use a different font. Also, the
7333 Century Gothic font is slightly wider than Arial, and thus might use
7334 more sheets of paper to print the same text, so the total saving
7335 depend on the documents printed.</p>
7336
7337 <p>But it is definitely something to consider, if you want to reduce
7338 the amount of trash, decrease the amount of toner used in the world,
7339 and save some money in the process.</p>
7340
7341 <p>Update 2013-04-10: If you want to know how much ink/toner could be
7342 saved when switching between fonts, Inkfarm got a
7343 <a href="http://www.inkfarm.com/What-the-Font">service to calculate the
7344 difference between font pairs</a>. They also
7345 <a href="http://www.inkfarm.com/Recommended-Ink-Saving-Fonts---">recommend
7346 which fonts to use</a> to save ink. Check it out. :) While updating
7347 this blog post, I also came across a blog post from InkCloners,
7348 <a href="http://inkcloners.com/blog/ink-cartridges/change-fonts-to-save-ink-costs/">listing
7349 the fonts they recommend</a>, with Centory Gothic at the top.</p>
7350
7351 </div>
7352 <div class="tags">
7353
7354
7355 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
7356
7357
7358 </div>
7359 </div>
7360 <div class="padding"></div>
7361
7362 <div class="entry">
7363 <div class="title">
7364 <a href="http://people.skolelinux.org/pere/blog/Typesetting_a_short_story_using_docbook_for_PDF__HTML_and_EPUB.html">Typesetting a short story using docbook for PDF, HTML and EPUB</a>
7365 </div>
7366 <div class="date">
7367 24th March 2013
7368 </div>
7369 <div class="body">
7370 <p>A few days ago, during a discussion in
7371 <a href="http://www.efn.no/">EFN</a> about interesting books to read
7372 about copyright and the data retention directive, a suggestion to read
7373 the 1968 short story Kodémus by
7374 <a href="http://web2.gyldendal.no/toraage/">Tore Åge Bringsværd</a>
7375 came up. The text was only available in old paper books, and thus not
7376 easily available for current and future generations. Some of the
7377 people participating in the discussion contacted the author, and
7378 reported back 2013-03-19 that the author was OK with releasing the
7379 short story using a <a href="http://www.creativecommons.org/">Creative
7380 Commons</a> license. The text was quickly scanned and OCR-ed, and we
7381 were ready to start on the editing and typesetting.</p>
7382
7383 <p>As I already had some experience formatting text in my project to
7384 provide a Norwegian version of the Free Culture book by Lawrence
7385 Lessig, I chipped in and set up a
7386 <a href="http://www.docbook.org/">DocBook</a> processing framework to
7387 generate PDF, HTML and EPUB version of the short story. The tools to
7388 transform DocBook to different formats are already in my Linux
7389 distribution of choice, <a href="http://www.debian.org/">Debian</a>, so
7390 all I had to do was to use the
7391 <a href="http://dblatex.sourceforge.net/">dblatex</a>,
7392 <a href="http://docbook.sourceforge.net/release/xsl/current/epub/README">dbtoepub</a>
7393 and <a href="https://fedorahosted.org/xmlto/">xmlto</a> tools to do the
7394 conversion. After a few days, we decided to replace dblatex with
7395 xsltproc/fop (aka
7396 <a href="http://wiki.docbook.org/DocBookXslStylesheets">docbook-xsl</a>),
7397 to get the copyright information to show up in the PDF and to get a
7398 nicer &lt;variablelist&gt; typesetting, but that is just a minor
7399 technical detail.</p>
7400
7401 <p>There were a few challenges, of course. We want to typeset the
7402 short story to look like the original, and that require fairly good
7403 control over the layout. The original short story have three
7404 parts/scenes separated by a single horizontally centred star (*), and
7405 the paragraphs do not contain only flowing text, but dialogs and text
7406 that started on a new line in the middle of the paragraph.</p>
7407
7408 <p>I initially solved the first challenge by using a paragraph with a
7409 single star in it, ie &lt;para&gt;*&lt;/para&gt;, but it made sure a
7410 placeholder indicated where the scene shifted. This did not look too
7411 good without the centring. The next approach was to create a new
7412 preprocessor directive &lt;?newscene?&gt;, mapping to "&lt;hr/&gt;"
7413 for HTML and "&lt;fo:block text-align="center"&gt;&lt;fo:leader
7414 leader-pattern="rule" rule-thickness="0.5pt"/&gt;&lt;/fo:block&gt;"
7415 for FO/PDF output (did not try to implement this in dblatex, as we had
7416 switched at this time). The HTML XSL file looked like this:</p>
7417
7418 <p><blockquote><pre>
7419 &lt;?xml version='1.0'?&gt;
7420 &lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'&gt;
7421 &lt;xsl:template match="processing-instruction('newscene')"&gt;
7422 &lt;hr/&gt;
7423 &lt;/xsl:template&gt;
7424 &lt;/xsl:stylesheet&gt;
7425 </pre></blockquote></p>
7426
7427 <p>And the FO/PDF XSL file looked like this:</p>
7428
7429 <p><blockquote><pre>
7430 &lt;?xml version='1.0'?&gt;
7431 &lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'&gt;
7432 &lt;xsl:template match="processing-instruction('newscene')"&gt;
7433 &lt;fo:block text-align="center"&gt;
7434 &lt;fo:leader leader-pattern="rule" rule-thickness="0.5pt"/&gt;
7435 &lt;/fo:block&gt;
7436 &lt;/xsl:template&gt;
7437 &lt;/xsl:stylesheet&gt;
7438 </pre></blockquote></p>
7439
7440 <p>Finally, I came across the &lt;bridgehead&gt; tag, which seem to be
7441 a good fit for the task at hand, and I replaced &lt;?newscene?&gt;
7442 with &lt;bridgehead&gt;*&lt;/bridgehead&gt;. It isn't centred, but we
7443 can fix it with some XSL rule if the current visual layout isn't
7444 enough.</p>
7445
7446 <p>I did not find a good DocBook compliant way to solve the
7447 linebreak/paragraph challenge, so I ended up creating a new processor
7448 directive &lt;?linebreak?&gt;, mapping to &lt;br/&gt; in HTML, and
7449 &lt;fo:block/&gt; in FO/PDF. I suspect there are better ways to do
7450 this, and welcome ideas and patches on github. The HTML XSL file now
7451 look like this:</p>
7452
7453 <p><blockquote><pre>
7454 &lt;?xml version='1.0'?&gt;
7455 &lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'&gt;
7456 &lt;xsl:template match="processing-instruction('linebreak)"&gt;
7457 &lt;br/&gt;
7458 &lt;/xsl:template&gt;
7459 &lt;/xsl:stylesheet&gt;
7460 </pre></blockquote></p>
7461
7462 <p>And the FO/PDF XSL file looked like this:</p>
7463
7464 <p><blockquote><pre>
7465 &lt;?xml version='1.0'?&gt;
7466 &lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'
7467 xmlns:fo="http://www.w3.org/1999/XSL/Format"&gt;
7468 &lt;xsl:template match="processing-instruction('linebreak)"&gt;
7469 &lt;fo:block/&gt;
7470 &lt;/xsl:template&gt;
7471 &lt;/xsl:stylesheet&gt;
7472 </pre></blockquote></p>
7473
7474 <p>One unsolved challenge is our wish to expose different ISBN numbers
7475 per publication format, while keeping all of them in some conditional
7476 structure in the DocBook source. No idea how to do this, so we ended
7477 up listing all the ISBN numbers next to their format in the colophon
7478 page.</p>
7479
7480 <p>If you want to check out the finished result, check out the
7481 <a href="https://github.com/sickel/kodemus">source repository at
7482 github</a>
7483 (<a href="https://github.com/EFN/kodemus">future/new/official
7484 repository</a>). We expect it to be ready and announced in a few
7485 days.</p>
7486
7487 </div>
7488 <div class="tags">
7489
7490
7491 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>, <a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett</a>.
7492
7493
7494 </div>
7495 </div>
7496 <div class="padding"></div>
7497
7498 <div class="entry">
7499 <div class="title">
7500 <a href="http://people.skolelinux.org/pere/blog/Skolelinux_6_got_a_video_review_from_Pcwizz.html">Skolelinux 6 got a video review from Pcwizz</a>
7501 </div>
7502 <div class="date">
7503 17th March 2013
7504 </div>
7505 <div class="body">
7506 <p>Via
7507 <a href="https://twitter.com/pcwizz/status/313044373262716930">twitter</a>
7508 I just discovered that <a href="http://pcwizz.net/">Pcwizz</a> have
7509 done a <a href="http://www.youtube.com/watch?v=wPzTZ61Pcuc">video
7510 review</a> on Youtube of <a href="http://www.skolelinux.org/">Skolelinux
7511 / Debian Edu</a> version 6. He installed the standalone profile and
7512 the video show a walk-through of of the menu content, demonstration of
7513 a few programs and his view of our distribution.</p>
7514
7515 <p>There is also some really nice quotes (transcribed by me, might
7516 have heard wrong). While looking thought the Graphics menu:</p>
7517
7518 <blockquote>
7519 "Basically everything you ever need in a school environment."
7520 </blockquote>
7521
7522 <p>And as a general evaluation of the entire distribution:</p>
7523
7524 <blockquote>
7525 "So, yeah, a bit bloated. It kept all the Debian stuff in there, just
7526 to keep it nice and GNU. So, I do not want to go on about it, but
7527 lets give it 7 out of 10. I am not going to use it. That is because
7528 I am not deploying a school network. There may be some mythical
7529 feature to help you deploy Skolelinux on a school network."
7530 </blockquote>
7531
7532 <p>To bad he did not test the server profile, and discovered the PXE
7533 installation option. It make it possible to install only the main
7534 server from CD, and the rest of the machines via the net, and might be
7535 considered the mythical feature he talk about. :)</p>
7536
7537 <p>While looking through the menus, there is also this funny comment
7538 about the part of the K menu generated from the Debian menu subsystem:
7539
7540 <blockquote>
7541 "[The K menu] have a special Debian section for software that no-one
7542 is going to look at, because it contain lots of junky stuff that you
7543 actually don't need in the education distribution, but have just been
7544 included because it isn't stripped out for some reason."
7545 </blockquote>
7546
7547 <p>I guess it is yet another argument for merging the Debian menu and
7548 Gnome/KDE desktop menu entries into
7549 <a href="http://wiki.debian.org/Proposals/DebianMenuUsingDesktopEntries">one
7550 consistent menu system</a> instead of two incomplete and partly
7551 inconsistent menu systems.</p>
7552
7553 <p>The entire video is available below for those accepting iframe
7554 embedding:</p>
7555
7556 <iframe width="560" height="315" src="http://www.youtube.com/embed/wPzTZ61Pcuc" frameborder="0" allowfullscreen></iframe>
7557
7558 </div>
7559 <div class="tags">
7560
7561
7562 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
7563
7564
7565 </div>
7566 </div>
7567 <div class="padding"></div>
7568
7569 <div class="entry">
7570 <div class="title">
7571 <a href="http://people.skolelinux.org/pere/blog/First_Skolelinux___Debian_Edu_Squeeze_update_released.html">First Skolelinux / Debian Edu Squeeze update released</a>
7572 </div>
7573 <div class="date">
7574 8th March 2013
7575 </div>
7576 <div class="body">
7577 <p>Last Sunday, 2013-03-03,, Holger Levsen announced the first update
7578 of <a href="http://www.skolelinux.org/">Skolelinux / Debian Edu</a>
7579 based on Debian Squeeze. This is the first update since
7580 <a href="http://lists.debian.org/debian-edu-announce/2012/03/msg00001.html">the
7581 initial release 2012-03-11</a>. This is the
7582 <a href="http://lists.debian.org/debian-edu-announce/2013/03/msg00000.html">release
7583 announcement email from Holger</a>:</p>
7584
7585 <blockquote><p>Hi,</p>
7586
7587 <p>it's my pleasure to announce the immediate availability of Debian
7588 Edu 6.0.7+r1 ("Debian Edu Squeeze").</p>
7589
7590 <p>Debian Edu 6.0.7+r1 is an incremental update to Debian Edu
7591 6.0.4+r0, containing all the changes between Debian 6.0.4 and 6.0.7 as
7592 well Debian Edu specific bugfixes and enhancements. See below (in this
7593 mail) for the full list of (edu) changes. Please see
7594 <a href="http://www.debian.org/News/2012/20120311">http://www.debian.org/News/2012/20120311</a>
7595 for more information on "Debian Edu Squeeze".</p>
7596
7597 <p>Images are available for download at
7598 <a href="http://ftp.skolelinux.org/skolelinux-cd/">http://ftp.skolelinux.org/skolelinux-cd/</a></p>
7599
7600 <p>md5sums:
7601 <br>1fe79eb4f0f9ae1c58fc318e26cc1e2e debian-edu-6.0.7+r1-CD.iso
7602 <br>a6ddd924a8bd9a1b5ca122e8fe1c34ec debian-edu-6.0.7+r1-DVD.iso
7603 <br>ac6c72cd7925ccec51bfbf58e2a7c69c debian-edu-6.0.7+r1-source-DVD.iso</p>
7604
7605 <p>sha1sums:
7606 <br>a4b58233b672a99c7df8dc24fb6de3327654a5c3 debian-edu-6.0.7+r1-CD.iso
7607 <br>9b524915e0ff2aa793f13d93123e5bd2bab2dbaa debian-edu-6.0.7+r1-DVD.iso
7608 <br>43997614893fc5e9e59ad6ce066b05d07fd836fa debian-edu-6.0.7+r1-source-DVD.iso</p>
7609
7610 <p>These images are suitable for amd64+i386.</p>
7611
7612 <p>Changes for Debian Edu 6.0.7+r1 Codename "Squeeze", released
7613 2013-03-03:</p>
7614
7615 <ul>
7616 <li>sitesummary was updated from 0.1.3 to 0.1.8
7617 <ul>
7618 <li>Make Nagios configuration more robust and efficient</li>
7619 <li>Comply with 3.X kernel</li>
7620 </ul></li>
7621 <li>debian-edu-doc from 1.4~20120310~6.0.4+r0 to 1.4~20130228~6.0.7+r1
7622 <ul>
7623 <li>Minor updates from the wiki</li>
7624 <li>Danish translation now complete</li>
7625 </ul></li>
7626 <li>debian-edu-config from 1.453 to 1.455
7627 <ul>
7628 <li>Fix /etc/hosts for LTSP diskless workstations. Closes: #699880</li>
7629 <li>Make ltsp_local_mount script work for multiple devices.</li>
7630 <li>Correct Kerberos user policy: don't expire password after 2 days.
7631 Closes: #664596</li>
7632 <li>Handle '#' characters in the root or first users password.
7633 Closes: #664976</li>
7634 <li>Fixes for gosa-sync:
7635 <ul>
7636 <li>Don't fail if password contains "</li>
7637 <li>Don't disclose new password string in syslog</li>
7638 </ul></li>
7639 <li>Fixes for gosa-create:
7640 <ul>
7641 <li>Invalidate libnss cache before applying changes</li>
7642 <li>Multiple failures during mass user import into GOsa²</li>
7643 <li>gosa-netgroups plugin: don't erase entries of attribute type
7644 "memberNisNetgroup". Closes: #687256</li>
7645 <li>First user now uses the same Kerberos policy as all other users</li>
7646 </ul></li>
7647 <li>Add Danish web page</li>
7648 </ul>
7649 <li>debian-edu-install from 1.528 to 1.530
7650 <ul>
7651 <li>Improve preseeding support and documentation</li>
7652 </ul></li>
7653 </ul>
7654
7655 <p>End-user documentation in English is available at
7656 <a href="http://wiki.debian.org/DebianEdu/Documentation/Squeeze/">http://wiki.debian.org/DebianEdu/Documentation/Squeeze/</a>
7657 - translations to French, Italian, Danish and German are available in
7658 the debian-edu-doc package. (Other languages could use your help!)</p>
7659
7660 <p>If you want to contribute to Debian Edu, please join our
7661 mailinglist
7662 <a href="http://lists.debian.org/debian-edu/">debian-edu@lists.debian.org</a>!
7663 </p></blockquote>
7664
7665 <p>I am very happy to see the fruits of a year of hard work. :)</p>
7666
7667 </div>
7668 <div class="tags">
7669
7670
7671 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
7672
7673
7674 </div>
7675 </div>
7676 <div class="padding"></div>
7677
7678 <div class="entry">
7679 <div class="title">
7680 <a href="http://people.skolelinux.org/pere/blog/Frikanalen___Complete_TV_station_organised_using_the_web.html">Frikanalen - Complete TV station organised using the web</a>
7681 </div>
7682 <div class="date">
7683 3rd March 2013
7684 </div>
7685 <div class="body">
7686 <p>Do you want to set up your own TV station, schedule videos and
7687 broadcast them on the air? Using free software? With video on demand
7688 support using
7689 <a href="http://www.digistan.org/open-standard:definition">free and
7690 open standards</a>? Included a web based video stream as well? And
7691 administrate it all in your web browser from anywhere in the world? A
7692 few years now the Norwegian public access TV-channel
7693 <a href="http://www.frikanalen.no/">Frikanalen</a> have been building a
7694 system to do just this. The source code for the solution is licensed
7695 using the GNU LGPL, and
7696 <a href="http://github.com/Frikanalen">available from github</a>.</p>
7697
7698 <p>The idea is simple. You upload a video file over the web, and
7699 attach meta information to the file. You select a time slot in the
7700 program schedule, and when the time come it is played on the air and
7701 in the web stream. It is also made available in a video on demand
7702 solution for anyone to see it also outside its scheduled time. All
7703 you need to run a TV station - using your web browser.</p>
7704
7705 <p>There are several parts to this web based solution. I'll mention
7706 the three most important ones. The first part is the database of
7707 videos and the schedule. This is written in Django and include a REST
7708 API. The current database is SQLite, but the plan is to migrate it to
7709 PostgreSQL. At the moment this system can be tested on
7710 <a href="http://beta.frikanalen.tv/">beta.frikanalen.tv</a>. The
7711 second part is the video playout, taking the schedule information from
7712 the database and providing a video stream to broadcast. This is done
7713 using <a href="http://www.casparcg.com/">CasparCG from SVT</a> and
7714 <a href="http://www.mltframework.org/">Media Lovin' Toolkit</a>. Video
7715 signal distribution is handled using
7716 <a href="http://www.ob-encoder.com/">Open Broadcast Encoder</a>. The
7717 third part is the converter, handling the transformation of uploaded
7718 video files to a format useful for broadcasting, streaming and video
7719 on demand. It is still very much work in progress, so it is not yet
7720 decided what it will end up using. Note that the source of the latter
7721 two parts are not yet pushed to github. The lead author want to clean
7722 them up a bit more first.</p>
7723
7724 <p>The development is coordinated on the
7725 <a href="irc://irc.freenode.net/%23frikanalen">#frikanalen IRC
7726 channel</a> (irc.freenode.net), and discussed on
7727 <a href="http://lists.nuug.no/mailman/listinfo/frikanalen">the
7728 frikanalen mailing list</a>. The lead developer is Benjamin Bruheim
7729 (phed on IRC). Anyone is welcome to participate in the
7730 development.</p>
7731
7732 </div>
7733 <div class="tags">
7734
7735
7736 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
7737
7738
7739 </div>
7740 </div>
7741 <div class="padding"></div>
7742
7743 <div class="entry">
7744 <div class="title">
7745 <a href="http://people.skolelinux.org/pere/blog/Dr__Richard_Stallman__founder_of_Free_Software_Foundation__give_a_talk_in_Oslo_March_1st_2013.html">Dr. Richard Stallman, founder of Free Software Foundation, give a talk in Oslo March 1st 2013</a>
7746 </div>
7747 <div class="date">
7748 27th February 2013
7749 </div>
7750 <div class="body">
7751 <p>Dr. <a href="http://www.stallman.org/">Richard Stallman</a>,
7752 founder of <a href="http://www.fsf.org/">Free Software Foundation</a>,
7753 is giving <a href="http://www.nuug.no/aktiviteter/20130301-rms/">a
7754 talk in Oslo March 1st 2013 17:00 to 19:00</a>. The event is public
7755 and organised by <a href="">Norwegian Unix Users Group (NUUG)</a>
7756 (where I am the chair of the board) and
7757 <a href="http://www.friprog.no/">The Norwegian Open Source Competence
7758 Center</a>. The title of the talk is «The Free Software Movement and
7759 GNU», with this description:
7760
7761 <p><blockquote>
7762 The Free Software Movement campaigns for computer users' freedom to
7763 cooperate and control their own computing. The Free Software Movement
7764 developed the GNU operating system, typically used together with the
7765 kernel Linux, specifically to make these freedoms possible.
7766 </blockquote></p>
7767
7768 <p>The meeting is open for everyone. Due to space limitations, the
7769 doors opens for NUUG members at 16:15, and everyone else at 16:45. I
7770 am really curious how many will show up. See
7771 <a href="http://www.nuug.no/aktiviteter/20130301-rms/">the event
7772 page</a> for the location details.</p>
7773
7774 </div>
7775 <div class="tags">
7776
7777
7778 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett</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>.
7779
7780
7781 </div>
7782 </div>
7783 <div class="padding"></div>
7784
7785 <div class="entry">
7786 <div class="title">
7787 <a href="http://people.skolelinux.org/pere/blog/Frikart___Free_Garmin_maps_for_European_countries_based_on_OpenStreetmap.html">Frikart - Free Garmin maps for European countries based on OpenStreetmap</a>
7788 </div>
7789 <div class="date">
7790 15th February 2013
7791 </div>
7792 <div class="body">
7793 <p>If you, like me, want an updated a map for your Garmin GPS, there is
7794 now a great source of free maps available from
7795 <a href="http://www.frikart.no/garmin/index.html">Frikart</a>. To
7796 download a map, just click on the country you are interested in, and
7797 download the map type you want. There are 8 different maps available,
7798 using different colours and data selection. Pick one of Roadmap, Topo
7799 Summer, Topo Winter, Roadmap II, Topo Summer II, Topo Winter II,
7800 "Trails - overlay map" and "Cross country - overlay map" (see the web
7801 page for descriptions).</p>
7802
7803 <p>The maps are updated weekly, so if you find something wrong in the
7804 map you can just edit the
7805 <a href="http://www.openstreetmap.org/">OpenStreetmap</a> map source
7806 (anyone can contribute) and fetch a fixed map a week later. :)</p>
7807
7808 </div>
7809 <div class="tags">
7810
7811
7812 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/kart">kart</a>.
7813
7814
7815 </div>
7816 </div>
7817 <div class="padding"></div>
7818
7819 <div class="entry">
7820 <div class="title">
7821 <a href="http://people.skolelinux.org/pere/blog/_Electronic__paper_invoices___using_vCard_in_a_QR_code.html">"Electronic" paper invoices - using vCard in a QR code</a>
7822 </div>
7823 <div class="date">
7824 12th February 2013
7825 </div>
7826 <div class="body">
7827 <p>Here in Norway, electronic invoices are spreading, and the
7828 <a href="http://www.anskaffelser.no/e-handel/faktura">solution promoted
7829 by the Norwegian government</a> require that invoices are sent through
7830 one of the approved facilitators, and it is not possible to send
7831 electronic invoices without an agreement with one of these
7832 facilitators. This seem like a needless limitation to be able to
7833 transfer invoice information between buyers and sellers. My preferred
7834 solution would be to just transfer the invoice information directly
7835 between seller and buyer, for example using SMTP, or some HTTP based
7836 protocol like REST or SOAP. But this might also be overkill, as the
7837 "electronic" information can be transferred using paper invoices too,
7838 using a simple bar code. My bar code encoding of choice would be QR
7839 codes, as this encoding can be read by any smart phone out there. The
7840 content of the code could be anything, but I would go with
7841 <a href="http://en.wikipedia.org/wiki/VCard">the vCard format</a>, as
7842 it too is supported by a lot of computer equipment these days.</p>
7843
7844 <p>The vCard format support extentions, and the invoice specific
7845 information can be included using such extentions. For example an
7846 invoice from SLX Debian Labs (picked because we
7847 <a href="http://www.linuxiskolen.no/slxdebianlabs/donations.html">ask
7848 for donations to the Debian Edu project</a> and thus have bank account
7849 information publicly available) for NOK 1000.00 could have these extra
7850 fields:</p>
7851
7852 <p><pre>
7853 X-INVOICE-NUMBER:1
7854 X-INVOICE-AMOUNT:NOK1000.00
7855 X-INVOICE-KID:123412341234
7856 X-INVOICE-MSG:Donation to Debian Edu
7857 X-BANK-ACCOUNT-NUMBER:16040884339
7858 X-BANK-IBAN-NUMBER:NO8516040884339
7859 X-BANK-SWIFT-NUMBER:DNBANOKKXXX
7860 </pre></p>
7861
7862 <p>The X-BANK-ACCOUNT-NUMBER field was proposed in a stackoverflow
7863 answer regarding
7864 <a href="http://stackoverflow.com/questions/10045664/storing-bank-account-in-vcard-file">how
7865 to put bank account information into a vCard</a>. For payments in
7866 Norway, either X-INVOICE-KID (payment ID) or X-INVOICE-MSG could be
7867 used to pass on information to the seller when paying the invoice.</p>
7868
7869 <p>The complete vCard could look like this:</p>
7870
7871 <p><pre>
7872 BEGIN:VCARD
7873 VERSION:2.1
7874 ORG:SLX Debian Labs Foundation
7875 ADR;WORK:;;Gunnar Schjelderups vei 29D;OSLO;;0485;Norway
7876 URL;WORK:http://www.linuxiskolen.no/slxdebianlabs/
7877 EMAIL;PREF;INTERNET:sdl-styret@rt.nuug.no
7878 REV:20130212T095000Z
7879 X-INVOICE-NUMBER:1
7880 X-INVOICE-AMOUNT:NOK1000.00
7881 X-INVOICE-MSG:Donation to Debian Edu
7882 X-BANK-ACCOUNT-NUMBER:16040884339
7883 X-BANK-IBAN-NUMBER:NO8516040884339
7884 X-BANK-SWIFT-NUMBER:DNBANOKKXXX
7885 END:VCARD
7886 </pre></p>
7887
7888 <p>The resulting QR code created using
7889 <a href="http://fukuchi.org/works/qrencode/">qrencode</a> would look
7890 like this, and should be readable (and thus checkable) by any smart
7891 phone, or for example the <a href="http://zbar.sourceforge.net/">zbar
7892 bar code reader</a> and feed right into the approval and accounting
7893 system.</p>
7894
7895 <p><img src="http://people.skolelinux.org/pere/blog/images/2013-02-12-qr-invoice.png"></p>
7896
7897 <p>The extension fields will most likely not show up in any normal
7898 vCard reader, so those parts would have to go directly into a system
7899 handling invoices. I am a bit unsure how vCards without name parts
7900 are handled, but a simple test indicate that this work just fine.</p>
7901
7902 <p><strong>Update 2013-02-12 11:30</strong>: Added KID to the proposal
7903 based on feedback from Sturle Sunde.</p>
7904
7905 </div>
7906 <div class="tags">
7907
7908
7909 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
7910
7911
7912 </div>
7913 </div>
7914 <div class="padding"></div>
7915
7916 <div class="entry">
7917 <div class="title">
7918 <a href="http://people.skolelinux.org/pere/blog/Sleep_until_morning___home_automation_for_the_kids.html">Sleep until morning - home automation for the kids</a>
7919 </div>
7920 <div class="date">
7921 10th February 2013
7922 </div>
7923 <div class="body">
7924 <p><img align="left" style="margin-right:25px;" src="http://people.skolelinux.org/pere/blog/images/2013-02-10-morning-light.jpeg"></p>
7925
7926 <p>With kids in the house, one challenge is getting them to sleep
7927 during the night and wake up when it is morning. I mean, when I
7928 believe it is morning, and not two hours earlier. In our household we
7929 have decided that 07:00 is the turning point, but getting the kids to
7930 sleep until 07:00 is a small challenge every day. They have adapted
7931 quite well, and rarely wake up at 05:00 any more, but some times wake
7932 up at times like 05:50, 06:15, 06:30 or 06:45, and it is hard to put
7933 the awake one to bed again without disturbing and waking the rest.
7934 And I understand perfectly well that they fail to sleep until 07:00
7935 some times, as there is no way for them to know if it is before or
7936 after the magic moment without coming and asking us parents.</p>
7937
7938 <p>But yesterday I came up with a method to solve this problem. It
7939 involve home automation. A few years ago I bought a
7940 <a href="http://www.telldus.se/products/tellstick">Tellstick</a> and RF
7941 switches at the local <a href="http://www.clasohlson.com/">Clas
7942 Ohlson</a> shop, allowing me to control lights and other electrical
7943 gadgets using my Linux server. When I moved from the old flat to a
7944 small house, I put away all this equipment as most of the lighting in
7945 the house was not using wall sockets and thus not easy to connect to
7946 the gadgets I had. But recently I bought a
7947 <a href="http://www.telldus.se/products/tellstick_net">Tellstick
7948 Net</a> to be able to read sensor input as well as control power
7949 sockets. I want to control ovens in the basement to avoid the pipes
7950 to freeze, and monitor the humidity to detect flooding. The default
7951 setup for Tellstick Net is to be controlled by the vendor web service,
7952 which to me is a security problem, but it is also possible to build
7953 ones own
7954 <a href="http://developer.telldus.com/blog/2012/03/02/help-us-develop-local-access-using-tellstick-net-build-your-own-firmware">firmware
7955 with local access</A> instead of being controlled by a Swedish
7956 company, thanks to the release of the GPL licensed firmware source
7957 code. I plan to get that running before I let it control anything
7958 important. But while working on this, one idea to make it easier for
7959 the kids came to me yesterday. We can set up a night light controlled
7960 by the computer, and turn it automatically on at 07:00. The kids can
7961 then check the light in the morning to know if they are supposed to
7962 get up or not. They joined me in setting everything up, and I
7963 repeated the concept several times before bed times to make sure they
7964 remembered to check the light before getting up in the morning.</p>
7965
7966 <p>We tested it this morning, and all the kids stayed in bed until
7967 after 07:00, and every one of them commented on the fact that the
7968 "morning light" was turned on and signalled that the morning had
7969 arrived. So this look like a success, and I am excited to see how
7970 this develops the next few days. :) I really hope this can allow us
7971 all to sleep a bit longer in the morning.</p>
7972
7973 <p>A nice advantage of this setup is that we can remote control when
7974 to tell the kids to get up. We do not have to wait until 07:00, and
7975 can also delay it if we want to.</p>
7976
7977 </div>
7978 <div class="tags">
7979
7980
7981 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
7982
7983
7984 </div>
7985 </div>
7986 <div class="padding"></div>
7987
7988 <div class="entry">
7989 <div class="title">
7990 <a href="http://people.skolelinux.org/pere/blog/Bitcoin_GUI_now_available_from_Debian_unstable__and_Ubuntu_raring_.html">Bitcoin GUI now available from Debian/unstable (and Ubuntu/raring)</a>
7991 </div>
7992 <div class="date">
7993 2nd February 2013
7994 </div>
7995 <div class="body">
7996 <p>My
7997 <a href="http://people.skolelinux.org/pere/blog/How_to_backport_bitcoin_qt_version_0_7_2_2_to_Debian_Squeeze.html">last
7998 bitcoin related blog post</a> mentioned that the new
7999 <a href="http://packages.qa.debian.org/bitcoin">bitcoin package</a> for
8000 Debian was waiting in NEW. It was accepted by the Debian ftp-masters
8001 2013-01-19, and have been available in unstable since then. It was
8002 automatically copied to Ubuntu, and is available in their Raring
8003 version too.</p>
8004
8005 <p>But there is a strange problem with the build that block this new
8006 version from being available on the i386 and kfreebsd-i386
8007 architectures. For some strange reason, the autobuilders in Debian
8008 for these architectures fail to run the test suite on these
8009 architectures (<a href="http://bugs.debian.org/672524">BTS #672524</a>).
8010 We are so far unable to reproduce it when building it manually, and
8011 no-one have been able to propose a fix. If you got an idea what is
8012 failing, please let us know via the BTS.</p>
8013
8014 <p>One feature that is annoying me with of the bitcoin client, because
8015 I often run low on disk space, is the fact that the client will exit
8016 if it run short on space (<a href="http://bugs.debian.org/696715">BTS
8017 #696715</a>). So make sure you have enough disk space when you run
8018 it. :)</p>
8019
8020 <p>As usual, if you use bitcoin and want to show your support of my
8021 activities, please send Bitcoin donations to my address
8022 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
8023
8024 </div>
8025 <div class="tags">
8026
8027
8028 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
8029
8030
8031 </div>
8032 </div>
8033 <div class="padding"></div>
8034
8035 <div class="entry">
8036 <div class="title">
8037 <a href="http://people.skolelinux.org/pere/blog/Welcome_to_the_world__Isenkram_.html">Welcome to the world, Isenkram!</a>
8038 </div>
8039 <div class="date">
8040 22nd January 2013
8041 </div>
8042 <div class="body">
8043 <p>Yesterday, I
8044 <a href="http://people.skolelinux.org/pere/blog/First_prototype_ready_making_hardware_easier_to_use_in_Debian.html">asked
8045 for testers</a> for my prototype for making Debian better at handling
8046 pluggable hardware devices, which I
8047 <a href="http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html">set
8048 out to create</a> earlier this month. Several valuable testers showed
8049 up, and caused me to really want to to open up the development to more
8050 people. But before I did this, I want to come up with a sensible name
8051 for this project. Today I finally decided on a new name, and I have
8052 renamed the project from hw-support-handler to this new name. In the
8053 process, I moved the source to git and made it available as a
8054 <a href="http://anonscm.debian.org/gitweb/?p=collab-maint/isenkram.git">collab-maint</a>
8055 repository in Debian. The new name? It is <strong>Isenkram</strong>.
8056 To fetch and build the latest version of the source, use</p>
8057
8058 <pre>
8059 git clone http://anonscm.debian.org/git/collab-maint/isenkram.git
8060 cd isenkram && git-buildpackage -us -uc
8061 </pre>
8062
8063 <p>I have not yet adjusted all files to use the new name yet. If you
8064 want to hack on the source or improve the package, please go ahead.
8065 But please talk to me first on IRC or via email before you do major
8066 changes, to make sure we do not step on each others toes. :)</p>
8067
8068 <p>If you wonder what 'isenkram' is, it is a Norwegian word for iron
8069 stuff, typically meaning tools, nails, screws, etc. Typical hardware
8070 stuff, in other words. I've been told it is the Norwegian variant of
8071 the German word eisenkram, for those that are familiar with that
8072 word.</p>
8073
8074 <p><strong>Update 2013-01-26</strong>: Added -us -us to build
8075 instructions, to avoid confusing people with an error from the signing
8076 process.</p>
8077
8078 <p><strong>Update 2013-01-27</strong>: Switch to HTTP URL for the git
8079 clone argument to avoid the need for authentication.</p>
8080
8081 </div>
8082 <div class="tags">
8083
8084
8085 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>.
8086
8087
8088 </div>
8089 </div>
8090 <div class="padding"></div>
8091
8092 <div class="entry">
8093 <div class="title">
8094 <a href="http://people.skolelinux.org/pere/blog/First_prototype_ready_making_hardware_easier_to_use_in_Debian.html">First prototype ready making hardware easier to use in Debian</a>
8095 </div>
8096 <div class="date">
8097 21st January 2013
8098 </div>
8099 <div class="body">
8100 <p>Early this month I set out to try to
8101 <a href="http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html">improve
8102 the Debian support for pluggable hardware devices</a>. Now my
8103 prototype is working, and it is ready for a larger audience. To test
8104 it, fetch the
8105 <a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/">source
8106 from the Debian Edu subversion repository</a>, build and install the
8107 package. You might have to log out and in again activate the
8108 autostart script.</p>
8109
8110 <p>The design is simple:</p>
8111
8112 <ul>
8113
8114 <li>Add desktop entry in /usr/share/autostart/ causing a program
8115 hw-support-handlerd to start when the user log in.</li>
8116
8117 <li>This program listen for kernel events about new hardware (directly
8118 from the kernel like udev does), not using HAL dbus events as I
8119 initially did.</li>
8120
8121 <li>When new hardware is inserted, look up the hardware modalias in
8122 the APT database, a database
8123 <a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/modaliases?view=markup">available
8124 via HTTP</a> and a database available as part of the package.</li>
8125
8126 <li>If a package is mapped to the hardware in question, the package
8127 isn't installed yet and this is the first time the hardware was
8128 plugged in, show a desktop notification suggesting to install the
8129 package or packages.</li>
8130
8131 <li>If the user click on the 'install package now' button, ask
8132 aptdaemon via the PackageKit API to install the requrired package.</li>
8133
8134 <li>aptdaemon ask for root password or sudo password, and install the
8135 package while showing progress information in a window.</li>
8136
8137 </ul>
8138
8139 <p>I still need to come up with a better name for the system. Here
8140 are some screen shots showing the prototype in action. First the
8141 notification, then the password request, and finally the request to
8142 approve all the dependencies. Sorry for the Norwegian Bokmål GUI.</p>
8143
8144 <p><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-1-notification.png">
8145 <br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-2-password.png">
8146 <br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-3-dependencies.png">
8147 <br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-4-installing.png">
8148 <br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-5-installing-details.png" width="70%"></p>
8149
8150 <p>The prototype still need to be improved with longer timeouts, but
8151 is already useful. The database of hardware to package mappings also
8152 need more work. It is currently compatible with the Ubuntu way of
8153 storing such information in the package control file, but could be
8154 changed to use other formats instead or in addition to the current
8155 method. I've dropped the use of discover for this mapping, as the
8156 modalias approach is more flexible and easier to use on Linux as long
8157 as the Linux kernel expose its modalias strings directly.</p>
8158
8159 <p><strong>Update 2013-01-21 16:50</strong>: Due to popular demand,
8160 here is the command required to check out and build the source: Use
8161 '<tt>svn checkout
8162 svn://svn.debian.org/debian-edu/trunk/src/hw-support-handler/; cd
8163 hw-support-handler; debuild</tt>'. If you lack debuild, install the
8164 devscripts package.</p>
8165
8166 <p><strong>Update 2013-01-23 12:00</strong>: The project is now
8167 renamed to Isenkram and the source moved from the Debian Edu
8168 subversion repository to a Debian collab-maint git repository. See
8169 <a href="http://people.skolelinux.org/pere/blog/Welcome_to_the_world__Isenkram_.html">build
8170 instructions</a> for details.</p>
8171
8172 </div>
8173 <div class="tags">
8174
8175
8176 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>.
8177
8178
8179 </div>
8180 </div>
8181 <div class="padding"></div>
8182
8183 <div class="entry">
8184 <div class="title">
8185 <a href="http://people.skolelinux.org/pere/blog/Thank_you_Thinkpad_X41__for_your_long_and_trustworthy_service.html">Thank you Thinkpad X41, for your long and trustworthy service</a>
8186 </div>
8187 <div class="date">
8188 19th January 2013
8189 </div>
8190 <div class="body">
8191 <p>This Christmas my trusty old laptop died. It died quietly and
8192 suddenly in bed. With a quiet whimper, it went completely quiet and
8193 black. The power button was no longer able to turn it on. It was a
8194 IBM Thinkpad X41, and the best laptop I ever had. Better than both
8195 Thinkpads X30, X31, X40, X60, X61 and X61S. Far better than the
8196 Compaq I had before that. Now I need to find a replacement. To keep
8197 going during Christmas, I moved the one year old SSD disk to my old
8198 X40 where it fitted (only one I had left that could use it), but it is
8199 not a durable solution.
8200
8201 <p>My laptop needs are fairly modest. This is my wishlist from when I
8202 got a new one more than 10 years ago. It still holds true.:)</p>
8203
8204 <ul>
8205
8206 <li>Lightweight (around 1 kg) and small volume (preferably smaller
8207 than A4).</li>
8208 <li>Robust, it will be in my backpack every day.</li>
8209 <li>Three button mouse and a mouse pin instead of touch pad.</li>
8210 <li>Long battery life time. Preferable a week.</li>
8211 <li>Internal WIFI network card.</li>
8212 <li>Internal Twisted Pair network card.</li>
8213 <li>Some USB slots (2-3 is plenty)</li>
8214 <li>Good keyboard - similar to the Thinkpad.</li>
8215 <li>Video resolution at least 1024x768, with size around 12" (A4 paper
8216 size).</li>
8217 <li>Hardware supported by Debian Stable, ie the default kernel and
8218 X.org packages.</li>
8219 <li>Quiet, preferably fan free (or at least not using the fan most of
8220 the time).
8221
8222 </ul>
8223
8224 <p>You will notice that there are no RAM and CPU requirements in the
8225 list. The reason is simply that the specifications on laptops the
8226 last 10-15 years have been sufficient for my needs, and I have to look
8227 at other features to choose my laptop. But are there still made as
8228 robust laptops as my X41? The Thinkpad X60/X61 proved to be less
8229 robust, and Thinkpads seem to be heading in the wrong direction since
8230 Lenovo took over. But I've been told that X220 and X1 Carbon might
8231 still be useful.</p>
8232
8233 <p>Perhaps I should rethink my needs, and look for a pad with an
8234 external keyboard? I'll have to check the
8235 <a href="http://www.linux-laptop.net/">Linux Laptops site</a> for
8236 well-supported laptops, or perhaps just buy one preinstalled from one
8237 of the vendors listed on the <a href="http://linuxpreloaded.com/">Linux
8238 Pre-loaded site</a>.</p>
8239
8240 </div>
8241 <div class="tags">
8242
8243
8244 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>.
8245
8246
8247 </div>
8248 </div>
8249 <div class="padding"></div>
8250
8251 <div class="entry">
8252 <div class="title">
8253 <a href="http://people.skolelinux.org/pere/blog/How_to_find_a_browser_plugin_supporting_a_given_MIME_type.html">How to find a browser plugin supporting a given MIME type</a>
8254 </div>
8255 <div class="date">
8256 18th January 2013
8257 </div>
8258 <div class="body">
8259 <p>Some times I try to figure out which Iceweasel browser plugin to
8260 install to get support for a given MIME type. Thanks to
8261 <a href="https://wiki.ubuntu.com/MozillaTeam/Plugins">specifications
8262 done by Ubuntu</a> and Mozilla, it is possible to do this in Debian.
8263 Unfortunately, not very many packages provide the needed meta
8264 information, Anyway, here is a small script to look up all browser
8265 plugin packages announcing ther MIME support using this specification:</p>
8266
8267 <pre>
8268 #!/usr/bin/python
8269 import sys
8270 import apt
8271 def pkgs_handling_mimetype(mimetype):
8272 cache = apt.Cache()
8273 cache.open(None)
8274 thepkgs = []
8275 for pkg in cache:
8276 version = pkg.candidate
8277 if version is None:
8278 version = pkg.installed
8279 if version is None:
8280 continue
8281 record = version.record
8282 if not record.has_key('Npp-MimeType'):
8283 continue
8284 mime_types = record['Npp-MimeType'].split(',')
8285 for t in mime_types:
8286 t = t.rstrip().strip()
8287 if t == mimetype:
8288 thepkgs.append(pkg.name)
8289 return thepkgs
8290 mimetype = "audio/ogg"
8291 if 1 < len(sys.argv):
8292 mimetype = sys.argv[1]
8293 print "Browser plugin packages supporting %s:" % mimetype
8294 for pkg in pkgs_handling_mimetype(mimetype):
8295 print " %s" %pkg
8296 </pre>
8297
8298 <p>It can be used like this to look up a given MIME type:</p>
8299
8300 <pre>
8301 % ./apt-find-browserplug-for-mimetype
8302 Browser plugin packages supporting audio/ogg:
8303 gecko-mediaplayer
8304 % ./apt-find-browserplug-for-mimetype application/x-shockwave-flash
8305 Browser plugin packages supporting application/x-shockwave-flash:
8306 browser-plugin-gnash
8307 %
8308 </pre>
8309
8310 <p>In Ubuntu this mechanism is combined with support in the browser
8311 itself to query for plugins and propose to install the needed
8312 packages. It would be great if Debian supported such feature too. Is
8313 anyone working on adding it?</p>
8314
8315 <p><strong>Update 2013-01-18 14:20</strong>: The Debian BTS
8316 request for icweasel support for this feature is
8317 <a href="http://bugs.debian.org/484010">#484010</a> from 2008 (and
8318 <a href="http://bugs.debian.org/698426">#698426</a> from today). Lack
8319 of manpower and wish for a different design is the reason thus feature
8320 is not yet in iceweasel from Debian.</p>
8321
8322 </div>
8323 <div class="tags">
8324
8325
8326 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>.
8327
8328
8329 </div>
8330 </div>
8331 <div class="padding"></div>
8332
8333 <div class="entry">
8334 <div class="title">
8335 <a href="http://people.skolelinux.org/pere/blog/What_is_the_most_supported_MIME_type_in_Debian_.html">What is the most supported MIME type in Debian?</a>
8336 </div>
8337 <div class="date">
8338 16th January 2013
8339 </div>
8340 <div class="body">
8341 <p>The <a href="http://wiki.debian.org/AppStreamDebianProposal">DEP-11
8342 proposal to add AppStream information to the Debian archive</a>, is a
8343 proposal to make it possible for a Desktop application to propose to
8344 the user some package to install to gain support for a given MIME
8345 type, font, library etc. that is currently missing. With such
8346 mechanism in place, it would be possible for the desktop to
8347 automatically propose and install leocad if some LDraw file is
8348 downloaded by the browser.</p>
8349
8350 <p>To get some idea about the current content of the archive, I decided
8351 to write a simple program to extract all .desktop files from the
8352 Debian archive and look up the claimed MIME support there. The result
8353 can be found on the
8354 <a href="http://ftp.skolelinux.org/pub/AppStreamTest">Skolelinux FTP
8355 site</a>. Using the collected information, it become possible to
8356 answer the question in the title. Here are the 20 most supported MIME
8357 types in Debian stable (Squeeze), testing (Wheezy) and unstable (Sid).
8358 The complete list is available from the link above.</p>
8359
8360 <p><strong>Debian Stable:</strong></p>
8361
8362 <pre>
8363 count MIME type
8364 ----- -----------------------
8365 32 text/plain
8366 30 audio/mpeg
8367 29 image/png
8368 28 image/jpeg
8369 27 application/ogg
8370 26 audio/x-mp3
8371 25 image/tiff
8372 25 image/gif
8373 22 image/bmp
8374 22 audio/x-wav
8375 20 audio/x-flac
8376 19 audio/x-mpegurl
8377 18 video/x-ms-asf
8378 18 audio/x-musepack
8379 18 audio/x-mpeg
8380 18 application/x-ogg
8381 17 video/mpeg
8382 17 audio/x-scpls
8383 17 audio/ogg
8384 16 video/x-ms-wmv
8385 </pre>
8386
8387 <p><strong>Debian Testing:</strong></p>
8388
8389 <pre>
8390 count MIME type
8391 ----- -----------------------
8392 33 text/plain
8393 32 image/png
8394 32 image/jpeg
8395 29 audio/mpeg
8396 27 image/gif
8397 26 image/tiff
8398 26 application/ogg
8399 25 audio/x-mp3
8400 22 image/bmp
8401 21 audio/x-wav
8402 19 audio/x-mpegurl
8403 19 audio/x-mpeg
8404 18 video/mpeg
8405 18 audio/x-scpls
8406 18 audio/x-flac
8407 18 application/x-ogg
8408 17 video/x-ms-asf
8409 17 text/html
8410 17 audio/x-musepack
8411 16 image/x-xbitmap
8412 </pre>
8413
8414 <p><strong>Debian Unstable:</strong></p>
8415
8416 <pre>
8417 count MIME type
8418 ----- -----------------------
8419 31 text/plain
8420 31 image/png
8421 31 image/jpeg
8422 29 audio/mpeg
8423 28 application/ogg
8424 27 image/gif
8425 26 image/tiff
8426 26 audio/x-mp3
8427 23 audio/x-wav
8428 22 image/bmp
8429 21 audio/x-flac
8430 20 audio/x-mpegurl
8431 19 audio/x-mpeg
8432 18 video/x-ms-asf
8433 18 video/mpeg
8434 18 audio/x-scpls
8435 18 application/x-ogg
8436 17 audio/x-musepack
8437 16 video/x-ms-wmv
8438 16 video/x-msvideo
8439 </pre>
8440
8441 <p>I am told that PackageKit can provide an API to access the kind of
8442 information mentioned in DEP-11. I have not yet had time to look at
8443 it, but hope the PackageKit people in Debian are on top of these
8444 issues.</p>
8445
8446 <p><strong>Update 2013-01-16 13:35</strong>: Updated numbers after
8447 discovering a typo in my script.</p>
8448
8449 </div>
8450 <div class="tags">
8451
8452
8453 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>.
8454
8455
8456 </div>
8457 </div>
8458 <div class="padding"></div>
8459
8460 <div class="entry">
8461 <div class="title">
8462 <a href="http://people.skolelinux.org/pere/blog/Using_modalias_info_to_find_packages_handling_my_hardware.html">Using modalias info to find packages handling my hardware</a>
8463 </div>
8464 <div class="date">
8465 15th January 2013
8466 </div>
8467 <div class="body">
8468 <p>Yesterday, I wrote about the
8469 <a href="http://people.skolelinux.org/pere/blog/Modalias_strings___a_practical_way_to_map__stuff__to_hardware.html">modalias
8470 values provided by the Linux kernel</a> following my hope for
8471 <a href="http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html">better
8472 dongle support in Debian</a>. Using this knowledge, I have tested how
8473 modalias values attached to package names can be used to map packages
8474 to hardware. This allow the system to look up and suggest relevant
8475 packages when I plug in some new hardware into my machine, and replace
8476 discover and discover-data as the database used to map hardware to
8477 packages.</p>
8478
8479 <p>I create a modaliases file with entries like the following,
8480 containing package name, kernel module name (if relevant, otherwise
8481 the package name) and globs matching the relevant hardware
8482 modalias.</p>
8483
8484 <p><blockquote>
8485 Package: package-name
8486 <br>Modaliases: module(modaliasglob, modaliasglob, modaliasglob)</p>
8487 </blockquote></p>
8488
8489 <p>It is fairly trivial to write code to find the relevant packages
8490 for a given modalias value using this file.</p>
8491
8492 <p>An entry like this would suggest the video and picture application
8493 cheese for many USB web cameras (interface bus class 0E01):</p>
8494
8495 <p><blockquote>
8496 Package: cheese
8497 <br>Modaliases: cheese(usb:v*p*d*dc*dsc*dp*ic0Eisc01ip*)</p>
8498 </blockquote></p>
8499
8500 <p>An entry like this would suggest the pcmciautils package when a
8501 CardBus bridge (bus class 0607) PCI device is present:</p>
8502
8503 <p><blockquote>
8504 Package: pcmciautils
8505 <br>Modaliases: pcmciautils(pci:v*d*sv*sd*bc06sc07i*)
8506 </blockquote></p>
8507
8508 <p>An entry like this would suggest the package colorhug-client when
8509 plugging in a ColorHug with USB IDs 04D8:F8DA:</p>
8510
8511 <p><blockquote>
8512 Package: colorhug-client
8513 <br>Modaliases: colorhug-client(usb:v04D8pF8DAd*)</p>
8514 </blockquote></p>
8515
8516 <p>I believe the format is compatible with the format of the Packages
8517 file in the Debian archive. Ubuntu already uses their Packages file
8518 to store their mappings from packages to hardware.</p>
8519
8520 <p>By adding a XB-Modaliases: header in debian/control, any .deb can
8521 announce the hardware it support in a way my prototype understand.
8522 This allow those publishing packages in an APT source outside the
8523 Debian archive as well as those backporting packages to make sure the
8524 hardware mapping are included in the package meta information. I've
8525 tested such header in the pymissile package, and its modalias mapping
8526 is working as it should with my prototype. It even made it to Ubuntu
8527 Raring.</p>
8528
8529 <p>To test if it was possible to look up supported hardware using only
8530 the shell tools available in the Debian installer, I wrote a shell
8531 implementation of the lookup code. The idea is to create files for
8532 each modalias and let the shell do the matching. Please check out and
8533 try the
8534 <a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/hw-support-lookup?view=co">hw-support-lookup</a>
8535 shell script. It run without any extra dependencies and fetch the
8536 hardware mappings from the Debian archive and the subversion
8537 repository where I currently work on my prototype.</p>
8538
8539 <p>When I use it on a machine with a yubikey inserted, it suggest to
8540 install yubikey-personalization:</p>
8541
8542 <p><blockquote>
8543 % ./hw-support-lookup
8544 <br>yubikey-personalization
8545 <br>%
8546 </blockquote></p>
8547
8548 <p>When I run it on my Thinkpad X40 with a PCMCIA/CardBus slot, it
8549 propose to install the pcmciautils package:</p>
8550
8551 <p><blockquote>
8552 % ./hw-support-lookup
8553 <br>pcmciautils
8554 <br>%
8555 </blockquote></p>
8556
8557 <p>If you know of any hardware-package mapping that should be added to
8558 <a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/modaliases?view=co">my
8559 database</a>, please tell me about it.</p>
8560
8561 <p>It could be possible to generate several of the mappings between
8562 packages and hardware. One source would be to look at packages with
8563 kernel modules, ie packages with *.ko files in /lib/modules/, and
8564 extract their modalias information. Another would be to look at
8565 packages with udev rules, ie packages with files in
8566 /lib/udev/rules.d/, and extract their vendor/model information to
8567 generate a modalias matching rule. I have not tested any of these to
8568 see if it work.</p>
8569
8570 <p>If you want to help implementing a system to let us propose what
8571 packages to install when new hardware is plugged into a Debian
8572 machine, please send me an email or talk to me on
8573 <a href="irc://irc.debian.org/%23debian-devel">#debian-devel</a>.</p>
8574
8575 </div>
8576 <div class="tags">
8577
8578
8579 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>.
8580
8581
8582 </div>
8583 </div>
8584 <div class="padding"></div>
8585
8586 <div class="entry">
8587 <div class="title">
8588 <a href="http://people.skolelinux.org/pere/blog/Modalias_strings___a_practical_way_to_map__stuff__to_hardware.html">Modalias strings - a practical way to map "stuff" to hardware</a>
8589 </div>
8590 <div class="date">
8591 14th January 2013
8592 </div>
8593 <div class="body">
8594 <p>While looking into how to look up Debian packages based on hardware
8595 information, to find the packages that support a given piece of
8596 hardware, I refreshed my memory regarding modalias values, and decided
8597 to document the details. Here are my findings so far, also available
8598 in
8599 <a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/">the
8600 Debian Edu subversion repository</a>:
8601
8602 <p><strong>Modalias decoded</strong></p>
8603
8604 <p>This document try to explain what the different types of modalias
8605 values stands for. It is in part based on information from
8606 &lt;URL: <a href="https://wiki.archlinux.org/index.php/Modalias">https://wiki.archlinux.org/index.php/Modalias</a> &gt;,
8607 &lt;URL: <a href="http://unix.stackexchange.com/questions/26132/how-to-assign-usb-driver-to-device">http://unix.stackexchange.com/questions/26132/how-to-assign-usb-driver-to-device</a> &gt;,
8608 &lt;URL: <a href="http://code.metager.de/source/history/linux/stable/scripts/mod/file2alias.c">http://code.metager.de/source/history/linux/stable/scripts/mod/file2alias.c</a> &gt; and
8609 &lt;URL: <a href="http://cvs.savannah.gnu.org/viewvc/dmidecode/dmidecode.c?root=dmidecode&view=markup">http://cvs.savannah.gnu.org/viewvc/dmidecode/dmidecode.c?root=dmidecode&view=markup</a> &gt;.
8610
8611 <p>The modalias entries for a given Linux machine can be found using
8612 this shell script:</p>
8613
8614 <pre>
8615 find /sys -name modalias -print0 | xargs -0 cat | sort -u
8616 </pre>
8617
8618 <p>The supported modalias globs for a given kernel module can be found
8619 using modinfo:</p>
8620
8621 <pre>
8622 % /sbin/modinfo psmouse | grep alias:
8623 alias: serio:ty05pr*id*ex*
8624 alias: serio:ty01pr*id*ex*
8625 %
8626 </pre>
8627
8628 <p><strong>PCI subtype</strong></p>
8629
8630 <p>A typical PCI entry can look like this. This is an Intel Host
8631 Bridge memory controller:</p>
8632
8633 <p><blockquote>
8634 pci:v00008086d00002770sv00001028sd000001ADbc06sc00i00
8635 </blockquote></p>
8636
8637 <p>This represent these values:</p>
8638
8639 <pre>
8640 v 00008086 (vendor)
8641 d 00002770 (device)
8642 sv 00001028 (subvendor)
8643 sd 000001AD (subdevice)
8644 bc 06 (bus class)
8645 sc 00 (bus subclass)
8646 i 00 (interface)
8647 </pre>
8648
8649 <p>The vendor/device values are the same values outputted from 'lspci
8650 -n' as 8086:2770. The bus class/subclass is also shown by lspci as
8651 0600. The 0600 class is a host bridge. Other useful bus values are
8652 0300 (VGA compatible card) and 0200 (Ethernet controller).</p>
8653
8654 <p>Not sure how to figure out the interface value, nor what it
8655 means.</p>
8656
8657 <p><strong>USB subtype</strong></p>
8658
8659 <p>Some typical USB entries can look like this. This is an internal
8660 USB hub in a laptop:</p>
8661
8662 <p><blockquote>
8663 usb:v1D6Bp0001d0206dc09dsc00dp00ic09isc00ip00
8664 </blockquote></p>
8665
8666 <p>Here is the values included in this alias:</p>
8667
8668 <pre>
8669 v 1D6B (device vendor)
8670 p 0001 (device product)
8671 d 0206 (bcddevice)
8672 dc 09 (device class)
8673 dsc 00 (device subclass)
8674 dp 00 (device protocol)
8675 ic 09 (interface class)
8676 isc 00 (interface subclass)
8677 ip 00 (interface protocol)
8678 </pre>
8679
8680 <p>The 0900 device class/subclass means hub. Some times the relevant
8681 class is in the interface class section. For a simple USB web camera,
8682 these alias entries show up:</p>
8683
8684 <p><blockquote>
8685 usb:v0AC8p3420d5000dcEFdsc02dp01ic01isc01ip00
8686 <br>usb:v0AC8p3420d5000dcEFdsc02dp01ic01isc02ip00
8687 <br>usb:v0AC8p3420d5000dcEFdsc02dp01ic0Eisc01ip00
8688 <br>usb:v0AC8p3420d5000dcEFdsc02dp01ic0Eisc02ip00
8689 </blockquote></p>
8690
8691 <p>Interface class 0E01 is video control, 0E02 is video streaming (aka
8692 camera), 0101 is audio control device and 0102 is audio streaming (aka
8693 microphone). Thus this is a camera with microphone included.</p>
8694
8695 <p><strong>ACPI subtype</strong></p>
8696
8697 <p>The ACPI type is used for several non-PCI/USB stuff. This is an IR
8698 receiver in a Thinkpad X40:</p>
8699
8700 <p><blockquote>
8701 acpi:IBM0071:PNP0511:
8702 </blockquote></p>
8703
8704 <p>The values between the colons are IDs.</p>
8705
8706 <p><strong>DMI subtype</strong></p>
8707
8708 <p>The DMI table contain lots of information about the computer case
8709 and model. This is an entry for a IBM Thinkpad X40, fetched from
8710 /sys/devices/virtual/dmi/id/modalias:</p>
8711
8712 <p><blockquote>
8713 dmi:bvnIBM:bvr1UETB6WW(1.66):bd06/15/2005:svnIBM:pn2371H4G:pvrThinkPadX40:rvnIBM:rn2371H4G:rvrNotAvailable:cvnIBM:ct10:cvrNotAvailable:
8714 </blockquote></p>
8715
8716 <p>The values present are</p>
8717
8718 <pre>
8719 bvn IBM (BIOS vendor)
8720 bvr 1UETB6WW(1.66) (BIOS version)
8721 bd 06/15/2005 (BIOS date)
8722 svn IBM (system vendor)
8723 pn 2371H4G (product name)
8724 pvr ThinkPadX40 (product version)
8725 rvn IBM (board vendor)
8726 rn 2371H4G (board name)
8727 rvr NotAvailable (board version)
8728 cvn IBM (chassis vendor)
8729 ct 10 (chassis type)
8730 cvr NotAvailable (chassis version)
8731 </pre>
8732
8733 <p>The chassis type 10 is Notebook. Other interesting values can be
8734 found in the dmidecode source:</p>
8735
8736 <pre>
8737 3 Desktop
8738 4 Low Profile Desktop
8739 5 Pizza Box
8740 6 Mini Tower
8741 7 Tower
8742 8 Portable
8743 9 Laptop
8744 10 Notebook
8745 11 Hand Held
8746 12 Docking Station
8747 13 All In One
8748 14 Sub Notebook
8749 15 Space-saving
8750 16 Lunch Box
8751 17 Main Server Chassis
8752 18 Expansion Chassis
8753 19 Sub Chassis
8754 20 Bus Expansion Chassis
8755 21 Peripheral Chassis
8756 22 RAID Chassis
8757 23 Rack Mount Chassis
8758 24 Sealed-case PC
8759 25 Multi-system
8760 26 CompactPCI
8761 27 AdvancedTCA
8762 28 Blade
8763 29 Blade Enclosing
8764 </pre>
8765
8766 <p>The chassis type values are not always accurately set in the DMI
8767 table. For example my home server is a tower, but the DMI modalias
8768 claim it is a desktop.</p>
8769
8770 <p><strong>SerIO subtype</strong></p>
8771
8772 <p>This type is used for PS/2 mouse plugs. One example is from my
8773 test machine:</p>
8774
8775 <p><blockquote>
8776 serio:ty01pr00id00ex00
8777 </blockquote></p>
8778
8779 <p>The values present are</p>
8780
8781 <pre>
8782 ty 01 (type)
8783 pr 00 (prototype)
8784 id 00 (id)
8785 ex 00 (extra)
8786 </pre>
8787
8788 <p>This type is supported by the psmouse driver. I am not sure what
8789 the valid values are.</p>
8790
8791 <p><strong>Other subtypes</strong></p>
8792
8793 <p>There are heaps of other modalias subtypes according to
8794 file2alias.c. There is the rest of the list from that source: amba,
8795 ap, bcma, ccw, css, eisa, hid, i2c, ieee1394, input, ipack, isapnp,
8796 mdio, of, parisc, pcmcia, platform, scsi, sdio, spi, ssb, vio, virtio,
8797 vmbus, x86cpu and zorro. I did not spend time documenting all of
8798 these, as they do not seem relevant for my intended use with mapping
8799 hardware to packages when new stuff is inserted during run time.</p>
8800
8801 <p><strong>Looking up kernel modules using modalias values</strong></p>
8802
8803 <p>To check which kernel modules provide support for a given modalias,
8804 one can use the following shell script:</p>
8805
8806 <pre>
8807 for id in $(find /sys -name modalias -print0 | xargs -0 cat | sort -u); do \
8808 echo "$id" ; \
8809 /sbin/modprobe --show-depends "$id"|sed 's/^/ /' ; \
8810 done
8811 </pre>
8812
8813 <p>The output can look like this (only the first few entries as the
8814 list is very long on my test machine):</p>
8815
8816 <pre>
8817 acpi:ACPI0003:
8818 insmod /lib/modules/2.6.32-5-686/kernel/drivers/acpi/ac.ko
8819 acpi:device:
8820 FATAL: Module acpi:device: not found.
8821 acpi:IBM0068:
8822 insmod /lib/modules/2.6.32-5-686/kernel/drivers/char/nvram.ko
8823 insmod /lib/modules/2.6.32-5-686/kernel/drivers/leds/led-class.ko
8824 insmod /lib/modules/2.6.32-5-686/kernel/net/rfkill/rfkill.ko
8825 insmod /lib/modules/2.6.32-5-686/kernel/drivers/platform/x86/thinkpad_acpi.ko
8826 acpi:IBM0071:PNP0511:
8827 insmod /lib/modules/2.6.32-5-686/kernel/lib/crc-ccitt.ko
8828 insmod /lib/modules/2.6.32-5-686/kernel/net/irda/irda.ko
8829 insmod /lib/modules/2.6.32-5-686/kernel/drivers/net/irda/nsc-ircc.ko
8830 [...]
8831 </pre>
8832
8833 <p>If you want to help implementing a system to let us propose what
8834 packages to install when new hardware is plugged into a Debian
8835 machine, please send me an email or talk to me on
8836 <a href="irc://irc.debian.org/%23debian-devel">#debian-devel</a>.</p>
8837
8838 <p><strong>Update 2013-01-15:</strong> Rewrite "cat $(find ...)" to
8839 "find ... -print0 | xargs -0 cat" to make sure it handle directories
8840 in /sys/ with space in them.</p>
8841
8842 </div>
8843 <div class="tags">
8844
8845
8846 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>.
8847
8848
8849 </div>
8850 </div>
8851 <div class="padding"></div>
8852
8853 <div class="entry">
8854 <div class="title">
8855 <a href="http://people.skolelinux.org/pere/blog/Moved_the_pymissile_Debian_packaging_to_collab_maint.html">Moved the pymissile Debian packaging to collab-maint</a>
8856 </div>
8857 <div class="date">
8858 10th January 2013
8859 </div>
8860 <div class="body">
8861 <p>As part of my investigation on how to improve the support in Debian
8862 for hardware dongles, I dug up my old Mark and Spencer USB Rocket
8863 Launcher and updated the Debian package
8864 <a href="http://packages.qa.debian.org/pymissile">pymissile</a> to make
8865 sure udev will fix the device permissions when it is plugged in. I
8866 also added a "Modaliases" header to test it in the Debian archive and
8867 hopefully make the package be proposed by jockey in Ubuntu when a user
8868 plug in his rocket launcher. In the process I moved the source to a
8869 git repository under collab-maint, to make it easier for any DD to
8870 contribute. <a href="http://code.google.com/p/pymissile/">Upstream</a>
8871 is not very active, but the software still work for me even after five
8872 years of relative silence. The new git repository is not listed in
8873 the uploaded package yet, because I want to test the other changes a
8874 bit more before I upload the new version. If you want to check out
8875 the new version with a .desktop file included, visit the
8876 <a href="http://anonscm.debian.org/gitweb/?p=collab-maint/pymissile.git">gitweb
8877 view</a> or use "<tt>git clone
8878 git://anonscm.debian.org/collab-maint/pymissile.git</tt>".</p>
8879
8880 </div>
8881 <div class="tags">
8882
8883
8884 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>, <a href="http://people.skolelinux.org/pere/blog/tags/robot">robot</a>.
8885
8886
8887 </div>
8888 </div>
8889 <div class="padding"></div>
8890
8891 <div class="entry">
8892 <div class="title">
8893 <a href="http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html">Lets make hardware dongles easier to use in Debian</a>
8894 </div>
8895 <div class="date">
8896 9th January 2013
8897 </div>
8898 <div class="body">
8899 <p>One thing that annoys me with Debian and Linux distributions in
8900 general, is that there is a great package management system with the
8901 ability to automatically install software packages by downloading them
8902 from the distribution mirrors, but no way to get it to automatically
8903 install the packages I need to use the hardware I plug into my
8904 machine. Even if the package to use it is easily available from the
8905 Linux distribution. When I plug in a LEGO Mindstorms NXT, it could
8906 suggest to automatically install the python-nxt, nbc and t2n packages
8907 I need to talk to it. When I plug in a Yubikey, it could propose the
8908 yubikey-personalization package. The information required to do this
8909 is available, but no-one have pulled all the pieces together.</p>
8910
8911 <p>Some years ago, I proposed to
8912 <a href="http://lists.debian.org/debian-devel/2010/05/msg01206.html">use
8913 the discover subsystem to implement this</a>. The idea is fairly
8914 simple:
8915
8916 <ul>
8917
8918 <li>Add a desktop entry in /usr/share/autostart/ pointing to a program
8919 starting when a user log in.</li>
8920
8921 <li>Set this program up to listen for kernel events emitted when new
8922 hardware is inserted into the computer.</li>
8923
8924 <li>When new hardware is inserted, look up the hardware ID in a
8925 database mapping to packages, and take note of any non-installed
8926 packages.</li>
8927
8928 <li>Show a message to the user proposing to install the discovered
8929 package, and make it easy to install it.</li>
8930
8931 </ul>
8932
8933 <p>I am not sure what the best way to implement this is, but my
8934 initial idea was to use dbus events to discover new hardware, the
8935 discover database to find packages and
8936 <a href="http://www.packagekit.org/">PackageKit</a> to install
8937 packages.</p>
8938
8939 <p>Yesterday, I found time to try to implement this idea, and the
8940 draft package is now checked into
8941 <a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/">the
8942 Debian Edu subversion repository</a>. In the process, I updated the
8943 <a href="http://packages.qa.debian.org/d/discover-data.html">discover-data</a>
8944 package to map the USB ids of LEGO Mindstorms and Yubikey devices to
8945 the relevant packages in Debian, and uploaded a new version
8946 2.2013.01.09 to unstable. I also discovered that the current
8947 <a href="http://packages.qa.debian.org/d/discover.html">discover</a>
8948 package in Debian no longer discovered any USB devices, because
8949 /proc/bus/usb/devices is no longer present. I ported it to use
8950 libusb as a fall back option to get it working. The fixed package
8951 version 2.1.2-6 is now in experimental (didn't upload it to unstable
8952 because of the freeze).</p>
8953
8954 <p>With this prototype in place, I can insert my Yubikey, and get this
8955 desktop notification to show up (only once, the first time it is
8956 inserted):</p>
8957
8958 <p align="center"><img src="http://people.skolelinux.org/pere/blog/images/2013-01-09-hw-autoinstall.png"></p>
8959
8960 <p>For this prototype to be really useful, some way to automatically
8961 install the proposed packages by pressing the "Please install
8962 program(s)" button should to be implemented.</p>
8963
8964 <p>If this idea seem useful to you, and you want to help make it
8965 happen, please help me update the discover-data database with mappings
8966 from hardware to Debian packages. Check if 'discover-pkginstall -l'
8967 list the package you would like to have installed when a given
8968 hardware device is inserted into your computer, and report bugs using
8969 reportbug if it isn't. Or, if you know of a better way to provide
8970 such mapping, please let me know.</p>
8971
8972 <p>This prototype need more work, and there are several questions that
8973 should be considered before it is ready for production use. Is dbus
8974 the correct way to detect new hardware? At the moment I look for HAL
8975 dbus events on the system bus, because that is the events I could see
8976 on my Debian Squeeze KDE desktop. Are there better events to use?
8977 How should the user be notified? Is the desktop notification
8978 mechanism the best option, or should the background daemon raise a
8979 popup instead? How should packages be installed? When should they
8980 not be installed?</p>
8981
8982 <p>If you want to help getting such feature implemented in Debian,
8983 please send me an email. :)</p>
8984
8985 </div>
8986 <div class="tags">
8987
8988
8989 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>.
8990
8991
8992 </div>
8993 </div>
8994 <div class="padding"></div>
8995
8996 <div class="entry">
8997 <div class="title">
8998 <a href="http://people.skolelinux.org/pere/blog/New_IRC_channel_for_LEGO_designers_using_Debian.html">New IRC channel for LEGO designers using Debian</a>
8999 </div>
9000 <div class="date">
9001 2nd January 2013
9002 </div>
9003 <div class="body">
9004 <p>During Christmas, I have worked a bit on the Debian support for
9005 <a href="http://mindstorms.lego.com/en-us/Default.aspx">LEGO Mindstorm
9006 NXT</a>. My son and I have played a bit with my NXT set, and I
9007 discovered I had to build all the tools myself because none were
9008 already in Debian Squeeze. If Debian support for LEGO is something
9009 you care about, please join me on the IRC channel
9010 <a href="irc://irc.debian.org/%23debian-lego">#debian-lego</a> (server
9011 irc.debian.org). There is a lot that could be done to improve the
9012 Debian support for LEGO designers. For example both CAD software
9013 and Mindstorm compilers are missing. :)</p>
9014
9015 <p>Update 2012-01-03: A
9016 <a href="http://wiki.debian.org/LegoDesigners">project page</a>
9017 including links to Lego related packages is now available.</p>
9018
9019 </div>
9020 <div class="tags">
9021
9022
9023 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/robot">robot</a>.
9024
9025
9026 </div>
9027 </div>
9028 <div class="padding"></div>
9029
9030 <div class="entry">
9031 <div class="title">
9032 <a href="http://people.skolelinux.org/pere/blog/A_Christmas_present_for_Skolelinux___Debian_Edu.html">A Christmas present for Skolelinux / Debian Edu</a>
9033 </div>
9034 <div class="date">
9035 28th December 2012
9036 </div>
9037 <div class="body">
9038 <p>I was happy to discover a few days ago that the
9039 <a href="http://www.skolelinux.org/">Skolelinux / Debian Edu</a>
9040 project also this year received a Christmas present from Another
9041 Agency in Trondheim. NOK 1000,- showed up on our donation account
9042 December 24th. I want to express our thanks for this very welcome
9043 present. As the Debian Edu / Skolelinux project is very short on
9044 funding these days, and thus lack the money to do regular developer
9045 gatherings, this donation was most welcome. One developer gathering
9046 cost around NOK 15&nbsp;000,-, so we need quite a lot more to keep the
9047 development pace we want. Thus, I hope their example this year is
9048 followed by many others. :)</p>
9049
9050 <p>The public list of donors can be found on
9051 <a href="http://www.linuxiskolen.no/slxdebianlabs/donations.html">the
9052 donation page</a> for the project, which also contain instructions if
9053 you want to donate to the project.</p>
9054
9055 </div>
9056 <div class="tags">
9057
9058
9059 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
9060
9061
9062 </div>
9063 </div>
9064 <div class="padding"></div>
9065
9066 <div class="entry">
9067 <div class="title">
9068 <a href="http://people.skolelinux.org/pere/blog/How_to_backport_bitcoin_qt_version_0_7_2_2_to_Debian_Squeeze.html">How to backport bitcoin-qt version 0.7.2-2 to Debian Squeeze</a>
9069 </div>
9070 <div class="date">
9071 25th December 2012
9072 </div>
9073 <div class="body">
9074 <p>Let me start by wishing you all marry Christmas and a happy new
9075 year! I hope next year will prove to be a good year.</p>
9076
9077 <p><a href="http://www.bitcoin.org/">Bitcoin</a>, the digital
9078 decentralised "currency" that allow people to transfer bitcoins
9079 between each other with minimal overhead, is a very interesting
9080 experiment. And as I wrote a few days ago, the bitcoin situation in
9081 <a href="http://www.debian.org/">Debian</a> is about to improve a bit.
9082 The <a href="http://packages.qa.debian.org/bitcoin">new debian source
9083 package</a> (version 0.7.2-2) was uploaded yesterday, and is waiting
9084 in <a href="http://ftp-master.debian.org/new.html">the NEW queue</A>
9085 for one of the ftpmasters to approve the new bitcoin-qt package
9086 name.</p>
9087
9088 <p>And thanks to the great work of Jonas and the rest of the bitcoin
9089 team in Debian, you can easily test the package in Debian Squeeze
9090 using the following steps to get a set of working packages:</p>
9091
9092 <blockquote><pre>
9093 git clone git://git.debian.org/git/collab-maint/bitcoin
9094 cd bitcoin
9095 DEB_MAINTAINER_MODE=1 DEB_BUILD_OPTIONS=noupnp fakeroot debian/rules clean
9096 DEB_BUILD_OPTIONS=noupnp git-buildpackage --git-ignore-new
9097 </pre></blockquote>
9098
9099 <p>You might have to install some build dependencies as well. The
9100 list of commands should give you two packages, bitcoind and
9101 bitcoin-qt, ready for use in a Squeeze environment. Note that the
9102 client will download the complete set of bitcoin "blocks", which need
9103 around 5.6 GiB of data on my machine at the moment. Make sure your
9104 ~/.bitcoin/ directory have lots of spare room if you want to download
9105 all the blocks. The client will warn if the disk is getting full, so
9106 there is not really a problem if you got too little room, but you will
9107 not be able to get all the features out of the client.</p>
9108
9109 <p>As usual, if you use bitcoin and want to show your support of my
9110 activities, please send Bitcoin donations to my address
9111 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
9112
9113 </div>
9114 <div class="tags">
9115
9116
9117 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
9118
9119
9120 </div>
9121 </div>
9122 <div class="padding"></div>
9123
9124 <div class="entry">
9125 <div class="title">
9126 <a href="http://people.skolelinux.org/pere/blog/A_word_on_bitcoin_support_in_Debian.html">A word on bitcoin support in Debian</a>
9127 </div>
9128 <div class="date">
9129 21st December 2012
9130 </div>
9131 <div class="body">
9132 <p>It has been a while since I wrote about
9133 <a href="http://www.bitcoin.org/">bitcoin</a>, the decentralised
9134 peer-to-peer based crypto-currency, and the reason is simply that I
9135 have been busy elsewhere. But two days ago, I started looking at the
9136 state of <a href="http://packages.qa.debian.org/bitcoin">bitcoin in
9137 Debian</a> again to try to recover my old bitcoin wallet. The package
9138 is now maintained by a
9139 <a href="https://alioth.debian.org/projects/pkg-bitcoin/">team of
9140 people</a>, and the grunt work had already been done by this team. We
9141 owe a huge thank you to all these team members. :)
9142 But I was sad to discover that the bitcoin client is missing in
9143 Wheezy. It is only available in Sid (and an outdated client from
9144 backports). The client had several RC bugs registered in BTS blocking
9145 it from entering testing. To try to help the team and improve the
9146 situation, I spent some time providing patches and triaging the bug
9147 reports. I also had a look at the bitcoin package available from Matt
9148 Corallo in a
9149 <a href="https://launchpad.net/~bitcoin/+archive/bitcoin">PPA for
9150 Ubuntu</a>, and moved the useful pieces from that version into the
9151 Debian package.</p>
9152
9153 <p>After checking with the main package maintainer Jonas Smedegaard on
9154 IRC, I pushed several patches into the collab-maint git repository to
9155 improve the package. It now contains fixes for the RC issues (not from
9156 me, but fixed by Scott Howard), build rules for a Qt GUI client
9157 package, konqueror support for the bitcoin: URI and bash completion
9158 setup. As I work on Debian Squeeze, I also created
9159 <a href="http://lists.alioth.debian.org/pipermail/pkg-bitcoin-devel/Week-of-Mon-20121217/000041.html">a
9160 patch to backport</a> the latest version. Jonas is going to look at
9161 it and try to integrate it into the git repository before uploading a
9162 new version to unstable.
9163
9164 <p>I would very much like bitcoin to succeed, to get rid of the
9165 centralized control currently exercised in the monetary system. I
9166 find it completely unacceptable that the USA government is collecting
9167 transaction data for almost all international money transfers (most are done in USD and transaction logs shipped to the spooks), and
9168 that the major credit card companies can block legal money
9169 transactions to Wikileaks. But for bitcoin to succeed, more people
9170 need to use bitcoins, and more people need to accept bitcoins when
9171 they sell products and services. Improving the bitcoin support in
9172 Debian is a small step in the right direction, but not enough.
9173 Unfortunately the user experience when browsing the web and wanting to
9174 pay with bitcoin is still not very good. The bitcoin: URI is a step
9175 in the right direction, but need to work in most or every browser in
9176 use. Also the bitcoin-qt client is too heavy to fire up to do a
9177 quick transaction. I believe there are other clients available, but
9178 have not tested them.</p>
9179
9180 <p>My
9181 <a href="http://people.skolelinux.org/pere/blog/Now_accepting_bitcoins___anonymous_and_distributed_p2p_crypto_money.html">experiment
9182 with bitcoins</a> showed that at least some of my readers use bitcoin.
9183 I received 20.15 BTC so far on the address I provided in my blog two
9184 years ago, as can be
9185 <a href="http://blockexplorer.com/address/15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">seen
9186 on the blockexplorer service</a>. Thank you everyone for your
9187 donation. The blockexplorer service demonstrates quite well that
9188 bitcoin is not quite anonymous and untracked. :) I wonder if the
9189 number of users have gone up since then. If you use bitcoin and want
9190 to show your support of my activity, please send Bitcoin donations to
9191 the same address as last time,
9192 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
9193
9194 </div>
9195 <div class="tags">
9196
9197
9198 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
9199
9200
9201 </div>
9202 </div>
9203 <div class="padding"></div>
9204
9205 <div class="entry">
9206 <div class="title">
9207 <a href="http://people.skolelinux.org/pere/blog/Ledger___double_entry_accounting_using_text_based_storage_format.html">Ledger - double-entry accounting using text based storage format</a>
9208 </div>
9209 <div class="date">
9210 18th December 2012
9211 </div>
9212 <div class="body">
9213 <p>A few days ago I came across
9214 <a href="http://joeyh.name/blog/entry/hledger/">a blog post from Joey
9215 Hess</a> describing <a href="http://ledger-cli.org/">ledger</a> and
9216 hledger, a text based system for double-entry accounting. I found it
9217 interesting, as I am involved with several organizations where
9218 accounting is an issue, and I have not really become too friendly with
9219 the different web based systems we use. I find it hard to find what I
9220 look for in the menus and even harder try to get sensible data out of
9221 the systems. Ledger seem different. The accounting data is kept in
9222 text files that can be stored in a version control system, and there
9223
9224 are at least <a href="https://github.com/ledger/ledger/wiki/Ports">five
9225 different implementations</a> able to read the format. An example
9226 entry look like this, and is simple enough that it will be trivial to
9227 generate entries based on CVS files fetched from the bank:</p>
9228
9229 <blockquote><pre>
9230 2004-05-27 Book Store
9231 Expenses:Books $20.00
9232 Liabilities:Visa
9233 </pre></blockquote>
9234
9235 <p>The concept seemed interesting enough for me to check it out and
9236 look for others using it. I found blog posts from
9237 <a href="http://blog.spang.cc/posts/hledger_rocks_my_world/">Christine
9238 Spang</a>,
9239 <a href="http://bugsplat.info/2010-05-23-keeping-finances-with-ledger.html">Pete
9240 Keen</a>,
9241 <a href="http://blog.andrewcantino.com/blog/2010/11/06/command-line-accounting-with-ledger-and-reckon/">Andrew
9242 Cantino</a> and
9243 <a href="http://blog.iphoting.com/blog/2012/11/29/command-line-double-entry-accounting/">Ronald
9244 Ip</a> describing how they use it, as well as a post from
9245 <a href="https://groups.google.com/forum/?fromgroups=#!topic/ledger-cli/r0oWjwbQ9Bo">Bradley
9246 M. Kuhn</a> at the Software Freedom Conservancy. All seemed like good
9247 recommendations fitting my need.</p>
9248
9249 <p>The <a href="http://packages.qa.debian.org/l/ledger.html">ledger</a>
9250 package is available in Debian Squeeze, while the
9251 <a href="http://packages.qa.debian.org/h/haskell-hledger.html">hledger</a>
9252 package only is available in Debian Sid. As I use Squeeze, ledger
9253 seemed the best choice to get started.</p>
9254
9255 <p>To get some real data to test on, I wrote a
9256 <a href="http://www.nuug.no/tools/lodo2ledger">web scraper</a> for
9257 <a href="http://www.lodo.no/">LODO</a>, the accounting system used by
9258 the <a href="http://www.nuug.no/">NUUG</a> association, and started to
9259 play with the data set. I'm not really deeply into accounting, but I
9260 am able to get a simple balance and accounting status for example
9261 using the "<tt>ledger balance</tt>" command. But I will have to
9262 gather more experience before I know if the ledger way is a good fit
9263 for the organisations I am involved in.</p>
9264
9265 </div>
9266 <div class="tags">
9267
9268
9269 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
9270
9271
9272 </div>
9273 </div>
9274 <div class="padding"></div>
9275
9276 <div class="entry">
9277 <div class="title">
9278 <a href="http://people.skolelinux.org/pere/blog/Scripting_the_Cerebrum_bofhd_user_administration_system_using_XML_RPC.html">Scripting the Cerebrum/bofhd user administration system using XML-RPC</a>
9279 </div>
9280 <div class="date">
9281 6th December 2012
9282 </div>
9283 <div class="body">
9284 <p>Where I work at the <a href="http://www.uio.no/">University of
9285 Oslo</a>, we use the
9286 <a href="http://sourceforge.net/projects/cerebrum/">Cerebrum user
9287 administration system</a> to maintain users, groups, DNS, DHCP, etc.
9288 I've known since the system was written that the server is providing
9289 an <a href="http://en.wikipedia.org/wiki/XML-RPC">XML-RPC</a> API, but
9290 I have never spent time to try to figure out how to use it, as we
9291 always use the bofh command line client at work. Until today. I want
9292 to script the updating of DNS and DHCP to make it easier to set up
9293 virtual machines. Here are a few notes on how to use it with
9294 Python.</p>
9295
9296 <p>I started by looking at the source of the Java
9297 <a href="http://cerebrum.svn.sourceforge.net/viewvc/cerebrum/trunk/cerebrum/clients/jbofh/">bofh
9298 client</a>, to figure out how it connected to the API server. I also
9299 googled for python examples on how to use XML-RPC, and found
9300 <a href="http://tldp.org/HOWTO/XML-RPC-HOWTO/xmlrpc-howto-python.html">a
9301 simple example in</a> the XML-RPC howto.</p>
9302
9303 <p>This simple example code show how to connect, get the list of
9304 commands (as a JSON dump), and how to get the information about the
9305 user currently logged in:</p>
9306
9307 <blockquote><pre>
9308 #!/usr/bin/env python
9309 import getpass
9310 import xmlrpclib
9311 server_url = 'https://cerebrum-uio.uio.no:8000';
9312 username = getpass.getuser()
9313 password = getpass.getpass()
9314 server = xmlrpclib.Server(server_url);
9315 #print server.get_commands(sessionid)
9316 sessionid = server.login(username, password)
9317 print server.run_command(sessionid, "user_info", username)
9318 result = server.logout(sessionid)
9319 print result
9320 </pre></blockquote>
9321
9322 <p>Armed with this knowledge I can now move forward and script the DNS
9323 and DHCP updates I wanted to do.</p>
9324
9325 </div>
9326 <div class="tags">
9327
9328
9329 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin</a>.
9330
9331
9332 </div>
9333 </div>
9334 <div class="padding"></div>
9335
9336 <div class="entry">
9337 <div class="title">
9338 <a href="http://people.skolelinux.org/pere/blog/Why_isn_t_the_value_of_copyright_taxed_.html">Why isn't the value of copyright taxed?</a>
9339 </div>
9340 <div class="date">
9341 17th November 2012
9342 </div>
9343 <div class="body">
9344 <p>While working on a
9345 <a href="https://github.com/petterreinholdtsen/free-culture-lessig">Norwegian
9346 translation of the Free Culture by Lawrence Lessig</a> (76% done),
9347 which cover the problems with todays copyright law and how it stifles
9348 creativity, one idea occurred to me. The idea is to get the tax
9349 office to help make more works enter the public domain and also help
9350 make it easier to clear rights for using copyrighted works.</p>
9351
9352 <p>I mentioned this idea briefly during Yesterdays
9353 <a href="http://www.farmann.no/2012/11/14/john-perry-barlow-in-oslo-friday-nov-16
9354 -15-30-19-00/">presentation
9355 by John Perry Barlow</a>, and concluded that it was best to put it
9356 in writing for a wider audience. The idea is not really based on the
9357 argument that copyrighted works are "intellectual property", as the
9358 core requirement is that copyrighted work have value for the copyright
9359 holder and the tax office like to collect their share from any value
9360 controlled by the citizens in a country. I'm sharing the idea here to
9361 let others consider it and perhaps shoot it down with a fresh set of
9362 arguments.</p>
9363
9364 <p>Most valuables are taxed by the government. At least here in
9365 Norway, the amount of money you have, the value of our land property,
9366 the value of your house, the value of your car, the value of our
9367 stocks and other valuables are all added together. If the tax value
9368 of these values exceed your debt, you have to pay the tax office some
9369 taxes for these values. And copyrighted work have value. It have
9370 value for the rights holder, who can earn money selling access to the
9371 work. But it is not included in the tax calculations? Why not?</p>
9372
9373 <p>If the government want to tax copyrighted works, it would want to
9374 maintain a database of all the copyrighted works and who are the
9375 rights holders for a given works, to be able to associate the works
9376 value to the right citizen or company for tax purposes. If such
9377 database exist, it will become a lot easier to find out who to talk to
9378 for clearing permissions to use a copyrighted work, which is a very
9379 hard operation with todays copyright law. To ensure that copyright
9380 holders keep the database up-to-date, it would have to become a
9381 requirement to be able to collect money for granting access to
9382 copyrighted works that the work is listed in the database with the
9383 correct right holder.</p>
9384
9385 <p>If copyright causes copyright holders to have to pay more taxes,
9386 they will have a small incentive to "disown" their copyright, and let
9387 the work enter the public domain. For works with several right holders
9388 one of the right holders could state (and get it registered in the
9389 database) that she do not need to be consulted when clearing rights to
9390 use the work in question and thus will not get any income from that
9391 work. Stating this would have to be impossible to revert and stop the
9392 tax office from adding the value of that work to the given citizens
9393 tax calculation. I assume the copyright law would stay the same,
9394 allowing creators to pick a license of their choosing, and also
9395 allowing them to put their work directly in the public domain. The
9396 existence of such database will make it even easier to clear rights,
9397 and if the right holders listed in the database is taxed, this system
9398 would increase the amount of works that enter the public domain.</p>
9399
9400 <p>The effect would be that the tax office help to make it easier to
9401 get rights to use the works that have not yet entered the public
9402 domain and help to get more work into the public domain and .</p>
9403
9404 <p>Why have such taxing not happened yet? I am sure the tax office
9405 would like to tax copyrighted work values if they could.</p>
9406
9407 </div>
9408 <div class="tags">
9409
9410
9411 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture</a>, <a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett</a>.
9412
9413
9414 </div>
9415 </div>
9416 <div class="padding"></div>
9417
9418 <div class="entry">
9419 <div class="title">
9420 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Angela_Fu_.html">Debian Edu interview: Angela Fuß</a>
9421 </div>
9422 <div class="date">
9423 14th November 2012
9424 </div>
9425 <div class="body">
9426 <p>Here is another interview with one of the people in the <a
9427 href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>
9428 community. I am running short on people willing to be interviewed, so
9429 if you know about someone I should interview, Please send me an email.
9430 After asking for many months, I finally managed to lure another one of
9431 the people behind the German
9432 "<a href="http://wiki.it-zukunft-schule.de/">IT-Zukunft Schule</a>"
9433 project out from maternity leave to conduct an interview. Give a warm
9434 welcome to Angela Fuß. :)</p>
9435
9436 <p><strong>Who are you, and how do you spend your days?</strong></p>
9437
9438 <p>I am a 39-year-old woman living in the very north of Germany near
9439 Denmark. I live in a patchwork family with "my man" Mike Gabriel, my
9440 two daughters, Mikes daughter and Mikes and my rather newborn son.
9441
9442 <p>At the moment - because of our little baby - I am spending most of
9443 the day by being a caring and organising mom for all the kids.
9444 Besides that I am really involved into and occupied with several inner
9445 growth processes: New born souls always bring the whole familiar
9446 system into movement and that needs time and focus ;-). We are also
9447 in the middle of buying a house and moving to it.</p>
9448
9449 <p>In 2013 I will work again in my job in a German foundation for
9450 nature conservation. I am doing public relation work there. Besides
9451 that - and that is the connection to Skolelinux / Debian Edu - I am
9452 working in our own school project "IT-Zukunft Schule" in North
9453 Germany. I am responsible for the quality assurance, the customer
9454 relationship management and the communication processes in the
9455 project.</p>
9456
9457 <p>Since 2001 I constantly have been training myself in communication
9458 and leadership. Besides that I am a forester, a landscaping gardener
9459 and a yoga teacher.</p>
9460
9461 <p><strong>How did you get in contact with the Skolelinux / Debian Edu
9462 project?</strong></p>
9463
9464 <p>I fell in love with Mike ;-).</p>
9465
9466 <p>Very soon after getting to know him I was completely enrolled into
9467 Free Software. At this time Mike did IT-services for one newly
9468 founded school in Kiel. Other schools in Kiel needed concepts for
9469 their IT environment. Often when Mike came home from working at the
9470 newly founded school I found myself listening to his complaints about
9471 several points where the communication with the schools head or the
9472 teachers did not work. So we were clear that he would not work for
9473 one more school if we did not set up a structure for communication
9474 between him, the schools head, the teachers, the students and the
9475 parents.</p>
9476
9477 <p>Together with our friend and hardware supplier Andreas Buchholz we
9478 started to get an overview of free software solutions suitable for
9479 schools. One day before Christmas 2010 Mike and I had a date with Kurt
9480 Gramlich in Gütersloh. As Kurt and I are really interested in building
9481 networks of people and in being in communication we dived into
9482 Skolelinux and brought it to the first grammar schools in Northern
9483 Germany.</p>
9484
9485 <p>For information about our school project you can read
9486 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Mike_Gabriel.html">the
9487 interview with Mike Gabriel</a>.</p>
9488
9489 <p><strong>What do you see as the advantages of Skolelinux / Debian
9490 Edu?</strong></p>
9491
9492 <p>First I have to say: I cannot answer this question technically. My
9493 answer comes rather from a social point of view.</p>
9494
9495 <p>The biggest advantage of Skolelinux / Debian Edu I see is the large
9496 and strong international community of Debian Developers in the
9497 background which is very alive and connected over mailinglists, blogs
9498 and meetings. My constant feeling for the Debian Community is: If
9499 something does not work they will somehow fix it. All is well
9500 ;-). This is of course a user experience. What I also get as a big
9501 advantage of Skolelinux / Debian Edu is that everybody who uses it and
9502 works with it can also contribute to it - that includes students,
9503 teachers, parents...</p>
9504
9505 <p><strong>What do you see as the disadvantages of Skolelinux / Debian
9506 Edu?</strong></p>
9507
9508 <p>I will answer this question relating to the internal structure of
9509 Skolelinux / Debian Edu.</p>
9510
9511 <p>What I see as a major disadvantage is that there is a gap between
9512 the group of developers for Debian Edu and the people who make the
9513 marketing, that means the people that bring Skolelinux to the
9514 schools. There is a lack of communication between these two groups and
9515 I think that does not really work for Skolelinux / Debian Edu.</p>
9516
9517 <p>Further I appreciate that Skolelinux / Debian Edu is known as a
9518 do-ocracy. Nevertheless I keep asking myself if at some points a
9519 democracy or some kind of hierarchical project structure would be good
9520 and helpful. I am also missing some kind of contact between the
9521 Skolelinux / Debian Edu communities in Europe or on an international
9522 level. I think it would be good if there was more sharing between the
9523 different countries using Skolelinux / Debian Edu.</p>
9524
9525 <p><strong>Which free software do you use daily?</strong></p>
9526
9527 <p>On my laptop I am still using an Ubuntu 10.04 with a Gnome Desktop
9528 on. As applications I use Openoffice.org, Gedit, Firefox, Pidgin,
9529 LaTeX and GnuCash. For mails I am using Horde. And I am really fond of
9530 my N900 running with Maemo.</p>
9531
9532 <p><strong>Which strategy do you believe is the right one to use to
9533 get schools to use free software?</strong></p>
9534
9535 <p>I am really convinced that in our school project "IT-Zukunft
9536 Schule" we have developed (and keep developing) a great way to get
9537 schools to use Free Software. We have written a detailed concept for
9538 that so I cannot explain the whole thing here. But in a nutshell the
9539 strategy has three crucial pillars:</p>
9540
9541 <ul>
9542
9543 <li>We really take time to get what sort of stories, questions and
9544 concerns the schools head and the teachers have about using different
9545 kinds of IT and we take time to enrol them into Free Software.</li>
9546
9547 <li>Our solution for schools is never just technical. In the centre
9548 are always the people who are going to use the software. From the very
9549 beginning of the planning for a school, we tell the schools head that
9550 they are paying us not only for a technical solution for their school,
9551 they also pay us for leading all the communication processes
9552 needed. If they do not want that, we are not working with them because
9553 we cannot give a guarantee for the quality of our work then.</li>
9554
9555 <li>Another focus lies in the training of teachers and students in
9556 co-administrating the IT-System at their school. They start getting in
9557 contact with the Skolelinux / Debian Edu community and they get the
9558 offer to become more and more independent from us.</li>
9559
9560 </ul>
9561
9562 </div>
9563 <div class="tags">
9564
9565
9566 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju</a>.
9567
9568
9569 </div>
9570 </div>
9571 <div class="padding"></div>
9572
9573 <div class="entry">
9574 <div class="title">
9575 <a href="http://people.skolelinux.org/pere/blog/The_European_Central_Bank__ECB__take_a_look_at_bitcoin.html">The European Central Bank (ECB) take a look at bitcoin</a>
9576 </div>
9577 <div class="date">
9578 4th November 2012
9579 </div>
9580 <div class="body">
9581 <p>Slashdot just ran a story about the European Central Bank (ECB)
9582 <a href="http://www.ecb.europa.eu/pub/pdf/other/virtualcurrencyschemes201210en.pdf">releasing
9583 a report (PDF)</a> about virtual currencies and
9584 <a href="http://www.bitcoin.org/">bitcoin</a>. It is interesting to
9585 see how a member of the bitcoin community
9586 <a href="http://blog.bitinstant.com/blog/2012/10/30/the-ecb-report-on-bitcoin-and-virtual-currencies.html">receive
9587 the report</a>. As for the future, I suspect the central banks and
9588 the governments will outlaw bitcoin if it gain any popularity, to avoid
9589 competition. My thoughts go to the
9590 <a href="http://en.wikipedia.org/wiki/Wörgl">Wörgl experiment</a> with
9591 negative inflation on cash which was such a success that it was
9592 terminated by the Austrian National Bank in 1933. A successful
9593 alternative would be a threat to the current money system and gain
9594 powerful forces to work against it.</p>
9595
9596 <p>While checking out the current status of bitcoin, I also discovered
9597 that the community already seem to have
9598 <a href="http://www.theverge.com/2012/8/27/3271637/bitcoin-savings-trust-pyramid-scheme-shuts-down">experienced
9599 its first pyramid game / Ponzi scheme</a>. Not very surprising, given
9600 how members of "small" communities tend to trust each other. I guess
9601 enterprising crocks will try again and again, as they do anywhere
9602 wealth is available.</p>
9603
9604 </div>
9605 <div class="tags">
9606
9607
9608 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin</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>.
9609
9610
9611 </div>
9612 </div>
9613 <div class="padding"></div>
9614
9615 <div class="entry">
9616 <div class="title">
9617 <a href="http://people.skolelinux.org/pere/blog/12_years_of_outages___summarised_by_Stuart_Kendrick.html">12 years of outages - summarised by Stuart Kendrick</a>
9618 </div>
9619 <div class="date">
9620 26th October 2012
9621 </div>
9622 <div class="body">
9623 <p>I work at the <a href="http://www.uio.no/">University of Oslo</a>
9624 looking after the computers, mostly on the unix side, but in general
9625 all over the place. I am also a member (and currently leader) of
9626 <a href="http://www.nuug.no/">the NUUG association</a>, which in turn
9627 make me a member of <a href="http://www.usenix.org/">USENIX</a>. NUUG
9628 is an member organisation for us in Norway interested in free
9629 software, open standards and unix like operating systems, and USENIX
9630 is a US based member organisation with similar targets. And thanks to
9631 these memberships, I get all issues of the great USENIX magazine
9632 <a href="https://www.usenix.org/publications/login">;login:</a> in the
9633 mail several times a year. The magazine is great, and I read most of
9634 it every time.</p>
9635
9636 <p>In the last issue of the USENIX magazine ;login:, there is an
9637 article by <a href="http://www.skendric.com/">Stuart Kendrick</a> from
9638 Fred Hutchinson Cancer Research Center titled
9639 "<a href="https://www.usenix.org/publications/login/october-2012-volume-37-number-5/what-takes-us-down">What
9640 Takes Us Down</a>" (longer version also
9641 <a href="http://www.skendric.com/problem/incident-analysis/2012-06-30/What-Takes-Us-Down.pdf">available
9642 from his own site</a>), where he report what he found when he
9643 processed the outage reports (both planned and unplanned) from the
9644 last twelve years and classified them according to cause, time of day,
9645 etc etc. The article is a good read to get some empirical data on
9646 what kind of problems affect a data centre, but what really inspired
9647 me was the kind of reporting they had put in place since 2000.<p>
9648
9649 <p>The centre set up a mailing list, and started to send fairly
9650 standardised messages to this list when a outage was planned or when
9651 it already occurred, to announce the plan and get feedback on the
9652 assumtions on scope and user impact. Here is the two example from the
9653 article: First the unplanned outage:
9654
9655 <blockquote><pre>
9656 Subject: Exchange 2003 Cluster Issues
9657 Severity: Critical (Unplanned)
9658 Start: Monday, May 7, 2012, 11:58
9659 End: Monday, May 7, 2012, 12:38
9660 Duration: 40 minutes
9661 Scope: Exchange 2003
9662 Description: The HTTPS service on the Exchange cluster crashed, triggering
9663 a cluster failover.
9664
9665 User Impact: During this period, all Exchange users were unable to
9666 access e-mail. Zimbra users were unaffected.
9667 Technician: [xxx]
9668 </pre></blockquote>
9669
9670 Next the planned outage:
9671
9672 <blockquote><pre>
9673 Subject: H Building Switch Upgrades
9674 Severity: Major (Planned)
9675 Start: Saturday, June 16, 2012, 06:00
9676 End: Saturday, June 16, 2012, 16:00
9677 Duration: 10 hours
9678 Scope: H2 Transport
9679 Description: Currently, Catalyst 4006s provide 10/100 Ethernet to end-
9680 stations. We will replace these with newer Catalyst
9681 4510s.
9682 User Impact: All users on H2 will be isolated from the network during
9683 this work. Afterward, they will have gigabit
9684 connectivity.
9685 Technician: [xxx]
9686 </pre></blockquote>
9687
9688 <p>He notes in his article that the date formats and other fields have
9689 been a bit too free form to make it easy to automatically process them
9690 into a database for further analysis, and I would have used ISO 8601
9691 dates myself to make it easier to process (in other words I would ask
9692 people to write '2012-06-16 06:00 +0000' instead of the start time
9693 format listed above). There are also other issues with the format
9694 that could be improved, read the article for the details.</p>
9695
9696 <p>I find the idea of standardising outage messages seem to be such a
9697 good idea that I would like to get it implemented here at the
9698 university too. We do register
9699 <a href="http://www.uio.no/tjenester/it/aktuelt/planlagte-tjenesteavbrudd/">planned
9700 changes and outages in a calendar</a>, and report the to a mailing
9701 list, but we do not do so in a structured format and there is not a
9702 report to the same location for unplanned outages. Perhaps something
9703 for other sites to consider too?</p>
9704
9705 </div>
9706 <div class="tags">
9707
9708
9709 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
9710
9711
9712 </div>
9713 </div>
9714 <div class="padding"></div>
9715
9716 <div class="entry">
9717 <div class="title">
9718 <a href="http://people.skolelinux.org/pere/blog/Amazon_steal_books_from_customer_and_throw_out_her_out_without_any_explanation.html">Amazon steal books from customer and throw out her out without any explanation</a>
9719 </div>
9720 <div class="date">
9721 22nd October 2012
9722 </div>
9723 <div class="body">
9724 <p>A blog post from Martin Bekkelund today tell the story of
9725 <a href="http://www.bekkelund.net/2012/10/22/outlawed-by-amazon-drm/">how
9726 Amazon erased the books from a customer's kindle, locked the account
9727 and refuse to tell the customer why</a>. If a real book store did
9728 this to a customer, it would be called breaking into private property
9729 and theft. The story has spread around the net today. A bit more
9730 background information is available in Norwegian from
9731 <a href="http://www.digi.no/904658/hun-ble-kastet-ut-av-amazon">digi.no</a>.
9732 It is no surprise that digital restriction mechanisms (DRM) are used
9733 this way, as it has been warned about such abuse since DRM was
9734 introduced many years back. And Amazon proved in 2009 that it was
9735 willing to
9736 <a href="http://boingboing.net/2009/07/20/amazons-orwellian-de.html">
9737 break into customers equipment and remove the books</a> people had
9738 bought, when it removed the book 1984 by George Orwell from all the
9739 customers who had bought it. From the official comments, it even
9740 sounded like
9741 <a href="http://www.nytimes.com/2009/07/18/technology/companies/18amazon.html">Amazon
9742 would never do that again</a>. And here we are, three years
9743 later.</p>
9744
9745 <p>And thought this action is
9746 <a href="http://www.itavisen.no/904648/forbrukerraadet-helt-haarreisende">against
9747 Norwegian regulations and law</a>, it is according to the terms of use
9748 as written by Amazon, and it is hard to hold Amazon accountable to
9749 Norwegian laws. It is just yet another example of unacceptable terms
9750 of use on the web, and how they are used to remove customer
9751 rights.</p>
9752
9753 <p>Luckily for electronic books, there are alternatives without
9754 unacceptable terms. For example
9755 <a href="http://www.gutenberg.org/">Project Gutenberg</a> (about 40,000
9756 books), <a href="http://runeberg.org/">Project Runenberg</a> (1,652
9757 books) and <a href="http://www.archive.org/details/texts">The Internet
9758 Archive</a> (3,641,797 books) have heaps of books without DRM, which
9759 can read by anyone and shared with anyone.</p>
9760
9761 <p>Update 2012-10-23: This story broke in the morning on Monday. In
9762 the evening after the story had spread all across the Internet, Amazon
9763 restored the account of the user, as reported by
9764 <a href="http://www.digi.no/904675/helomvending-fra-amazon">digi.no</a>
9765 and <a href="http://nrk.no/kultur-og-underholdning/1.8368487">NRK</a>.
9766 Apparently public pressure work. The story from Martin have seen
9767 several twitter messages per minute the last 24 hours, which is quite
9768 a lot, and is still drawing a lot of attention. But even when the
9769 account is restored, the fundamental problem still exist. I recommend
9770 reading two opinions from
9771 <a href="http://blogs.computerworlduk.com/simon-says/2012/10/rights-you-have-no-right-to-your-ebooks/index.htm">Simon
9772 Phipps</a> and
9773 <a href="http://blogs.computerworlduk.com/open-enterprise/2012/10/is-amazon-playing-fair/index.htm">Glen
9774 Moody</a> if you want to learn more about the fundamentals and more
9775 details about the original story.</p>
9776
9777 </div>
9778 <div class="tags">
9779
9780
9781 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett</a>, <a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern</a>.
9782
9783
9784 </div>
9785 </div>
9786 <div class="padding"></div>
9787
9788 <div class="entry">
9789 <div class="title">
9790 <a href="http://people.skolelinux.org/pere/blog/The_fight_for_freedom_and_privacy.html">The fight for freedom and privacy</a>
9791 </div>
9792 <div class="date">
9793 18th October 2012
9794 </div>
9795 <div class="body">
9796 <p>Civil liberties and privacy in the western world are going down the
9797 drain, and it is hard to fight against it. I try to do my best, but
9798 time is limited. I hope you do your best too. A few years ago I came
9799 across a marvellous drawing by
9800 <a href="http://www.claybennett.com/about.html">Clay Bennett</a>
9801 visualising some of what is going on.
9802
9803 <p><a href="http://www.claybennett.com/pages/security_fence.html">
9804 <img src="http://www.claybennett.com/images/archivetoons/security_fence.jpg"></a></p>
9805
9806 <blockquote>
9807 «They who can give up essential liberty to obtain a little temporary
9808 safety, deserve neither liberty nor safety.» - Benjamin Franklin
9809 </blockquote>
9810
9811 <p>Do you feel safe at the airport? I do not. Do you feel safe when
9812 you see a surveillance camera? I do not. Do you feel safe when you
9813 leave electronic traces of your behaviour and opinions? I do not. I
9814 just remember <a href="http://en.wikipedia.org/wiki/Panopticon">the
9815 Panopticon</a>, and can not help to think that we are slowly
9816 transforming our society to a huge Panopticon on our own.</p>
9817
9818 </div>
9819 <div class="tags">
9820
9821
9822 Tags: <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>, <a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance</a>.
9823
9824
9825 </div>
9826 </div>
9827 <div class="padding"></div>
9828
9829 <div class="entry">
9830 <div class="title">
9831 <a href="http://people.skolelinux.org/pere/blog/ColonHelp_produser_sue_WordPress_to_silence_critic.html">ColonHelp produser sue WordPress to silence critic</a>
9832 </div>
9833 <div class="date">
9834 12th October 2012
9835 </div>
9836 <div class="body">
9837 <p>Thanks to a blog post by
9838 <a href="http://ramblingfoo.blogspot.no/2012/10/a-shitstorm-is-comming.html">Eddy
9839 Petrișor</a>, I became aware of yet another "alternative medicine"
9840 company using legal intimidation tactics to scare off critics.
9841 According to the originating blog post about the detox "cure"
9842 <a href="http://insulaindoielii.wordpress.com/2012/10/11/colon-help-sues-wordpress/">ColonHelp
9843 and its producers Zenyth Pharmaceuticals actions</a>, the producer
9844 sues Wordpress to get rid of the critical information. To check if
9845 the story was for real, I contacted Automattic, the company behind
9846 wordpress.com, and they reply was "We can confirm that Zenyth is
9847 seeking a court order against WordPress / Automattic. However, we
9848 don't believe the Terms of Service have been violated in this
9849 matter".</p>
9850
9851 <p>The story seem to be simply that a blogger checked the scientific
9852 foundation for a popular health product in Rumania, ColonHelp, and
9853 reported that there was no reason at all to believe it improved the
9854 health of its users. This caused the company behind the product,
9855 Zenyth Pharmaceuticals, to use legal intimidation to try to silence
9856 the critic, instead of presenting its views and scientific foundation
9857 to argue its side.</p>
9858
9859 <p>This is the usual story, and the Zenyth Pharmaceuticals company
9860 deserve everyone to know how it failed to act properly. Lets hope the
9861 <a href="http://en.wikipedia.org/wiki/Streisand_effect">Streisand
9862 effect</a> can make it rethink its strategy.</p>
9863
9864 <p>What is the harm, you might think. I suggest you take a look at
9865 <a href="http://www.whatstheharm.net/detoxification.html">a list of
9866 victims of detoxification</a>.</p>
9867
9868 </div>
9869 <div class="tags">
9870
9871
9872 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis</a>.
9873
9874
9875 </div>
9876 </div>
9877 <div class="padding"></div>
9878
9879 <div class="entry">
9880 <div class="title">
9881 <a href="http://people.skolelinux.org/pere/blog/Why_is_your_local_library_collecting_the__wrong__computer_books_.html">Why is your local library collecting the "wrong" computer books?</a>
9882 </div>
9883 <div class="date">
9884 3rd October 2012
9885 </div>
9886 <div class="body">
9887 <p>I just read the blog post from Tim Retout
9888 <a href="http://retout.co.uk/blog/2012/10/02/the-library-challenge">about
9889 the computer science book collection available in his local
9890 library</a>, and just wanted to share my comment on his theory about
9891 computer books becoming obsolete so soon. That is part of the reason
9892 why the selection is so sad in almost any local library (it is in mine
9893 too), but I believe the major contributing factor is that the people
9894 buying books to the library have no way to know a good and future
9895 computer classic from trash. And they need to know which one will
9896 become a classic in the future, as they would normally buy one of the
9897 recently published books.</p>
9898
9899 <p>During my university years, I worked for a while at the university
9900 library, and even there the person in charge of buying computer
9901 related books (and in fact any natural science related book), did not
9902 know enough about computers to make a good educated guess. Once, just
9903 before Christmas, they had some leftover money on the book budget and
9904 I was asked if I could pick out a lot of computer books in the
9905 university book store, for the library to buy for their collection. I
9906 had a great time picking all the books I dreamt of buying and reading,
9907 and the books I knew were classics (like most of the
9908 <a href="http://en.wikipedia.org/wiki/W._Richard_Stevens">Stevens
9909 collection</a>). I picked several of the generic O'Reilly books (ie
9910 documenting protocols, formats and systems, not specific versions of
9911 products) and stayed away from the 'teach yourself X in N days' class.
9912 I had a great time, and probably picked out more than a hundred books
9913 for the library that evening.</p>
9914
9915 <p>The sad fact is that there is no way a overworked librarian is
9916 going to know that for example
9917 <a href="http://en.wikipedia.org/wiki/The_Practice_of_Programming">The
9918 Practice of Programming</a> is a must-have in any computer library,
9919 and they will most of the time end up picking the wrong books to buy.
9920 Perhaps you can help your local library make better choices by giving
9921 the suggestions for books to get? I know they would love to hear from
9922 you, even if their budget might block them from getting your favourite
9923 book right away.</p>
9924
9925 </div>
9926 <div class="tags">
9927
9928
9929 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
9930
9931
9932 </div>
9933 </div>
9934 <div class="padding"></div>
9935
9936 <div class="entry">
9937 <div class="title">
9938 <a href="http://people.skolelinux.org/pere/blog/Seventy_percent_done_with_Norwegian_docbook_version_of_Free_Culture.html">Seventy percent done with Norwegian docbook version of Free Culture</a>
9939 </div>
9940 <div class="date">
9941 23rd September 2012
9942 </div>
9943 <div class="body">
9944 <p>Since this summer, I have worked in my spare time on a Norwegian <a
9945 href="http://www.docbook.org/">docbook</a> version of the 2004 book <a
9946 href="http://free-culture.cc/">Free Culture</a> by Lawrence Lessig.
9947 The reason is that this book is a great primer on what problems exist
9948 in the current copyright laws, and I want it to be available also for
9949 those that are reluctant do read an English book.
9950
9951 When I started, I
9952 <a href="http://people.skolelinux.org/pere/blog/Dugnad_for___sende_norsk_versjon_av_Free_Culture_til_stortingets_representanter_.html">called
9953 for volunteers</a> to help me, but too few have volunteered so far,
9954 and progress is a bit slow. Anyway, today I broken the 70 percent
9955 mark for the first rough translation. At the moment, less than 700
9956 strings (paragraphs, index terms, titles) are left to translate. With
9957 my current progress of 10-20 strings per day, it will take a while to
9958 complete the translation. This graph show the updated progress:</p>
9959
9960 <img width="80%" align="center" src="https://github.com/petterreinholdtsen/free-culture-lessig/raw/master/progress.png">
9961
9962 <p>Progress have slowed down lately due to family and work
9963 commitments. If you want to help, please get in touch, and check out
9964 the project files currently available from
9965 <a href="https://github.com/petterreinholdtsen/free-culture-lessig">github</a>.</p>
9966
9967 <p>If you are curious what the translated book currently look like,
9968 the updated
9969 <a href="https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.pdf?raw=true">PDF</a>
9970 and
9971 <a href="https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.epub?raw=true">EPUB</a>
9972 are published on github. The HTML version is published as well, but
9973 github hand it out with MIME type text/plain, confusing browsers, so I
9974 saw no point in linking to that version.</p>
9975
9976 </div>
9977 <div class="tags">
9978
9979
9980 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>.
9981
9982
9983 </div>
9984 </div>
9985 <div class="padding"></div>
9986
9987 <div class="entry">
9988 <div class="title">
9989 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Giorgio_Pioda.html">Debian Edu interview: Giorgio Pioda</a>
9990 </div>
9991 <div class="date">
9992 17th September 2012
9993 </div>
9994 <div class="body">
9995 <p>After a long break in my row of interviews with people in the
9996 <a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>
9997 community, I finally found time to wrap up another. This time it is
9998 Giorgio Pioda, which showed up on the mailing list at the start of
9999 this year, asking questions and inspiring us to improve the first time
10000 administrators experience with Skolelinux. :) The interview was
10001 conduced in May, but I only found time to publish it now.</p>
10002
10003 <p><strong>Who are you, and how do you spend your days?</strong></p>
10004
10005 <p>I have a PhD in chemistry but since several years I work as teacher
10006 in secondary (15-18 year old students) and tertiary (a kind of "light"
10007 university) schools. Five years ago I started to manage a Learning
10008 Management Service server and slowly I got more and more involved with
10009 IT. 3 years ago the graduating schools moved completely to Linux and I
10010 got the head of the IT for this. The experience collected in chemistry
10011 labs computers (for example NMR analysis of protein folding) and in
10012 the IT-courses during university where sufficient to start. Self
10013 training is anyway very important</p>
10014
10015 <p>I live in the Italian speaking part of Switzerland, and the
10016 <a href="http://www.spse.ch/">SPSE school</a> (secondary) is a very
10017 special sport school for young people who try to became sport pro (for
10018 all sports, we have dozens of disciplines represented) and we are
10019 recognised by the Olympic Swiss Organisation.
10020
10021 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
10022 project?</strong></p>
10023
10024 <p>Looking for Linux / Primary Domain Controller (PDC) I found it
10025 already several years ago. But since the system was still not
10026 Kerberized and since our schools relies strongly on laptops I didn't
10027 use it. I plan to introduce it in the next future, probably for the
10028 next school year, since the squeeze release solved this security
10029 hole.</p>
10030
10031 <p><strong>What do you see as the advantages of Skolelinux/Debian
10032 Edu?</strong></p>
10033
10034 <p>Many. First of all there is a strong and living community that is
10035 very generous for help and hints. Chat help is crucial, together with
10036 the mailing list. Second. With Skolelinux you get an already well
10037 engineered platform and you don't have to start to build up your PDC
10038 and your clients from GNU/scratch; I've already done this once and I
10039 can tell it, it is hard. Third, since Skolelinux is a standard
10040 platform, it is way easier to educate other IT people and even if the
10041 head IT is sick another one could pick up the task without too much
10042 hassle.</p>
10043
10044 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
10045 Edu?</strong></p>
10046
10047 <p>The only real problem I see is that it is a little too less
10048 flexible at client level. Debian stable is rocky and desirable, but
10049 there are many reasons that force for another choice. For example the
10050 need of new drivers for new PC, or the need for a specific OS for some
10051 devices that have specific software packages for another specific
10052 distribution (I have such a case for whiteboards that have only
10053 Ubuntu packages). Thus, I prepared compatibility packages educlient
10054 and eduroaming, hoping not to use them ;-)</p>
10055
10056 <p><strong>Which free software do you use daily?</strong></p>
10057
10058 <p>I have a Debian Stable PDC at school (Kerberos, NIS, NFS) with
10059 mixed Debian and Ubuntu clients. If you think that this triad
10060 combination is exotic... well I discovered right yesterday that
10061 <a href="http://moo.nac.uci.edu/~hjm/Perceus-Report.html">Perceus</a>
10062 has the same...</p>
10063
10064 <p>For myself I run Debian wheezy/sid, but this combination is good
10065 only I you have enough competence to fix stuff for yourself, if
10066 something breaks. Daily I use texmacs, gnumeric, a little bit of R
10067 statistics, kmplot, and less frequently OpenOffice.org.</p>
10068
10069 <p><strong>Which strategy do you believe is the right one to use to
10070 get schools to use free software?</strong></p>
10071
10072 <P>I think that the only real argument that school managers "hear" is
10073 cost reduction. They don't give too much weight on quality, stability,
10074 just because they are normally not open to change.</p>
10075
10076 <p>Students adapts very quickly to GNU/Linux (and for them being able
10077 to switch between different OS is a plus value); teachers and managers
10078 don't.</p>
10079
10080 <p>We decided to move to Linux because students at our school have own
10081 laptop and we have the responsibility to keep the laptop ready to use;
10082 we were really unsatisfied with Microsoft since every Monday we had 20
10083 machine to fix for viral infections... With Linux this has been
10084 reduced to zero, since people installs almost only from official
10085 repositories. I think that our special needs brought us to Linux.
10086 Those who don't have such needs will hardly move to Linux.</p>
10087
10088 </div>
10089 <div class="tags">
10090
10091
10092 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju</a>.
10093
10094
10095 </div>
10096 </div>
10097 <div class="padding"></div>
10098
10099 <div class="entry">
10100 <div class="title">
10101 <a href="http://people.skolelinux.org/pere/blog/IETF_activity_to_standardise_video_codec.html">IETF activity to standardise video codec</a>
10102 </div>
10103 <div class="date">
10104 15th September 2012
10105 </div>
10106 <div class="body">
10107 <p>After the
10108 <a href="http://people.skolelinux.org/pere/blog/IETF_standardize_its_first_multimedia_codec__Opus.html">Opus
10109 codec made</a> it into <a href="http://www.ietf.org/">IETF</a> as
10110 <a href="http://tools.ietf.org/html/rfc6716">RFC 6716</a>, I had a look
10111 to see if there is any activity in IETF to standardise a video codec
10112 too, and I was happy to discover that there is some activity in this
10113 area. A non-"working group" mailing list
10114 <a href="https://www.ietf.org/mailman/listinfo/video-codec">video-codec</a>
10115 was
10116 <a href="http://ietf.10.n7.nabble.com/New-Non-WG-Mailing-List-video-codec-Video-codec-BoF-discussion-list-td119548.html">created 2012-08-20</a>. It is intended to discuss the topic and if a
10117 formal working group should be formed.</p>
10118
10119 <p>I look forward to see how this plays out. There is already
10120 <a href="http://www.ietf.org/mail-archive/web/video-codec/current/msg00003.html">an
10121 email from someone</a> in the MPEG group at ISO asking people to
10122 participate in the ISO group. Given how ISO failed with OOXML and given
10123 that it so far (as far as I can remember) only have produced
10124 multimedia formats requiring royalty payments, I suspect
10125 joining the ISO group would be a complete waste of time, but I am not
10126 involved in any codec work and my opinion will not matter much.</p>
10127
10128 <p>If one of my readers is involved with codec work, I hope she will
10129 join this work to standardise a royalty free video codec within
10130 IETF.</p>
10131
10132 </div>
10133 <div class="tags">
10134
10135
10136 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen</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>.
10137
10138
10139 </div>
10140 </div>
10141 <div class="padding"></div>
10142
10143 <div class="entry">
10144 <div class="title">
10145 <a href="http://people.skolelinux.org/pere/blog/IETF_standardize_its_first_multimedia_codec__Opus.html">IETF standardize its first multimedia codec: Opus</a>
10146 </div>
10147 <div class="date">
10148 12th September 2012
10149 </div>
10150 <div class="body">
10151 <p>Yesterday, <a href="http://www.ietf.org/">IETF</a> announced the
10152 publication of of
10153 <a href="http://tools.ietf.org/html/rfc6716">RFC 6716, the Definition
10154 of the Opus Audio Codec</a>, a low latency, variable bandwidth, codec
10155 intended for both VoIP, film and music. This is the first time, as
10156 far as I know, that IETF have standardized a multimedia codec. In
10157 <a href="http://tools.ietf.org/html/rfc3533">RFC 3533</a>, IETF
10158 standardized the OGG container format, and it has proven to be a great
10159 royalty free container for audio, video and movies. I hope IETF will
10160 continue to standardize more royalty free codeces, after ISO and MPEG
10161 have proven incapable of securing everyone equal rights to publish
10162 multimedia content on the Internet.</p>
10163
10164 <p>IETF require two interoperating independent implementations to
10165 ratify a standard, and have so far ensured to only standardize royalty
10166 free specifications. Both are key factors to allow everyone (rich and
10167 poor), to compete on equal terms on the Internet.</p>
10168
10169 <p>Visit the <a href="http://opus-codec.org/">Opus project page</a> if
10170 you want to learn more about the solution.</p>
10171
10172 </div>
10173 <div class="tags">
10174
10175
10176 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen</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>.
10177
10178
10179 </div>
10180 </div>
10181 <div class="padding"></div>
10182
10183 <div class="entry">
10184 <div class="title">
10185 <a href="http://people.skolelinux.org/pere/blog/Git_repository_for_song_book_for_Computer_Scientists.html">Git repository for song book for Computer Scientists</a>
10186 </div>
10187 <div class="date">
10188 7th September 2012
10189 </div>
10190 <div class="body">
10191 <p>As I
10192 <a href="http://people.skolelinux.org/pere/blog/Song_book_for_Computer_Scientists.html">mentioned
10193 this summer</a>, I have created a Computer Science song book a few
10194 years ago, and today I finally found time to create a public
10195 <a href="https://gitorious.org/pere-cs-songbook/pere-cs-songbook">Gitorious
10196 repository for the project</a>.</p>
10197
10198 <p>If you want to help out, please clone the source and submit patches
10199 to the HTML version. To generate the PDF and PostScript version,
10200 please use prince XML, or let me know about a useful free software
10201 processor capable of creating a good looking PDF from the HTML.</p>
10202
10203 <p>Want to sing? You can still find the song book in HTML, PDF and
10204 PostScript formats at
10205 <a href="http://www.hungry.com/~pere/cs-songbook/">Petter's Computer
10206 Science Songbook</a>.</p>
10207
10208 </div>
10209 <div class="tags">
10210
10211
10212 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/multimedia">multimedia</a>.
10213
10214
10215 </div>
10216 </div>
10217 <div class="padding"></div>
10218
10219 <div class="entry">
10220 <div class="title">
10221 <a href="http://people.skolelinux.org/pere/blog/Free_software_forced_Microsoft_to_open_Office__and_don_t_forget_Officeshots_.html">Free software forced Microsoft to open Office (and don't forget Officeshots)</a>
10222 </div>
10223 <div class="date">
10224 23rd August 2012
10225 </div>
10226 <div class="body">
10227 <p>I came across a great comment from Simon Phipps today, about how
10228 <a href="http://www.infoworld.com/d/open-source-software/how-microsoft-was-forced-open-office-200233">Microsoft
10229 have been forced to open Office</a>, and it made me remember and
10230 revisit the great site
10231 <a href="http://www.officeshots.org/">officeshots</a> which allow you
10232 to check out how different programs present the ODF file format. I
10233 recommend both to those of my readers interested in ODF. :)</p>
10234
10235 </div>
10236 <div class="tags">
10237
10238
10239 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
10240
10241
10242 </div>
10243 </div>
10244 <div class="padding"></div>
10245
10246 <div class="entry">
10247 <div class="title">
10248 <a href="http://people.skolelinux.org/pere/blog/Half_way_there_with_translated_docbook_version_of_Free_Culture.html">Half way there with translated docbook version of Free Culture</a>
10249 </div>
10250 <div class="date">
10251 17th August 2012
10252 </div>
10253 <div class="body">
10254 <p>In my spare time, I currently work on a Norwegian
10255 <a href="http://www.docbook.org/">docbook</a> version of the 2004 book
10256 <a href="http://free-culture.cc/">Free Culture</a> by Lawrence Lessig,
10257 to get a Norwegian text explaining the problems with the copyright law
10258 I can give to my parents and others that are reluctant to read an
10259 English book. It is a marvellous set of examples on how the ever
10260 expanding copyright regulations hurt culture and society. When the
10261 translation is done, I hope to find funding to print and ship a copy
10262 to all the members of the Norwegian parliament, before they sit down
10263 to debate the latest revisions to the Norwegian copyright law. This
10264 summer I
10265 <a href="http://people.skolelinux.org/pere/blog/Dugnad_for___sende_norsk_versjon_av_Free_Culture_til_stortingets_representanter_.html">called
10266 for volunteers</a> to help me, and I have been able to secure the
10267 valuable contribution from at least one other Norwegian.</p>
10268
10269 <p>Two days ago, we finally broke the 50% mark. Then more than 50% of
10270 the number of strings to translate (normally paragraphs, but also
10271 titles and index entries are also counted). All parts from the
10272 beginning up to and including chapter four is translated. So is
10273 chapters six, seven and the conclusion. I created a graph to show the
10274 progress:</p>
10275
10276 <img width="80%" align="center" src="https://github.com/petterreinholdtsen/free-culture-lessig/raw/master/progress.png">
10277
10278 <p>The number of strings to translate increase as I insert the index
10279 entries into the docbook. They were missing with the docbook version
10280 I initially started with. There are still quite a few index entries
10281 missing, but everyone starting with A, B, O, Z and Y are done. I
10282 currently focus on completing the index entries, to get a complete
10283 english version of the docbook source.</p>
10284
10285 <p>There is still need for translators and people with docbook
10286 knowledge, to be able to get a good looking book (I still struggle
10287 with dblatex, xmlto and docbook-xsl) as well as to do the draft
10288 translation and proof reading. And I would like the figures to be
10289 redrawn as SVGs to make it easy to translate them. Any SVG master
10290 around? I am sure there are some legal terms that are unfamiliar to
10291 me. If you want to help, please get in touch, and check out the
10292 project files currently available from <a
10293 href="https://github.com/petterreinholdtsen/free-culture-lessig">github</a>.</p>
10294
10295 <p>If you are curious what the translated book currently look like,
10296 the updated
10297 <a href="https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.pdf?raw=true">PDF</a>
10298 and
10299 <a href="https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.epub?raw=true">EPUB</a>
10300 are published on github. The HTML version is published as well, but
10301 github hand it out with MIME type text/plain, confusing browsers, so I
10302 saw no point in linking to that version.</p>
10303
10304 </div>
10305 <div class="tags">
10306
10307
10308 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>.
10309
10310
10311 </div>
10312 </div>
10313 <div class="padding"></div>
10314
10315 <div class="entry">
10316 <div class="title">
10317 <a href="http://people.skolelinux.org/pere/blog/Notes_on_language_codes_for_Norwegian_docbook_processing___.html">Notes on language codes for Norwegian docbook processing...</a>
10318 </div>
10319 <div class="date">
10320 10th August 2012
10321 </div>
10322 <div class="body">
10323 <p>In <a href="http://www.docbook.org/">docbook</a> one can specify
10324 the language used at the top, and the processing pipeline will use
10325 this information to pick the correct translations for 'chapter', 'see
10326 also', 'index' etc. And for most languages used with docbook, I guess
10327 this work just fine. For example a German user can start the document
10328 with &lt;book lang="de"&gt;, and the document will show up with the
10329 correct content with any of the docbook processors. This is not the
10330 case for the language
10331 <a href="http://people.skolelinux.org/pere/blog/Free_Culture_in_Norwegian___5_chapters_done__74_percent_left_to_do.html">I
10332 am working with at the moment</a>, Norwegian Bokmål.</p>
10333
10334 <p>For a while, I was confused about which language code to use,
10335 because I was unable to find any language code that would work across
10336 all tools. I am currently testing dblatex, xmlto, docbook-xsl, and
10337 dbtoepub, and they do not handle Norwegian Bokmål the same way. Some
10338 of them do not handle it at all.</p>
10339
10340 <p>A bit of background information is probably needed to understand
10341 this mess. Norwegian is not one, but two written variants. The
10342 variants are Norwegian Nynorsk and Norwegian Bokmål. There are three
10343 two letter language codes associated with these languages, Norwegian
10344 is 'no', Norwegian Nynorsk is 'nn' and Norwegian Bokmål is 'nb'.
10345 Historically the 'no' language code was used for Norwegian Bokmål, but
10346 many years ago this was found to be å bad idea, and the recommendation
10347 is to use the most specific language code instead, to avoid confusion.
10348 In the transition period it is a good idea to make sure 'no' was an
10349 alias for 'nb'.</p>
10350
10351 <p>Back to docbook processing tools in Debian. The dblatex tool only
10352 understand 'nn'. There are translations for 'no', but not 'nb' (BTS
10353 <a href="http://bugs.debian.org/684391">#684391</a>), but due to a bug
10354 (BTS <a href="http://bugs.debian.org/682936">#682936</a>) the 'no'
10355 language code is not recognised. The docbook-xsl tool chain only
10356 recognise 'nn' and 'nb', but not 'no'. The xmlto tool only recognise
10357 'nn' and 'nb', but not 'no'. The end result that there is no language
10358 code I can use to get the docbook file working with all of these tools
10359 at the same time. :(</p>
10360
10361 <p>The correct solution is to use &lt;book lang="nb"&gt;, but it will
10362 take time before that will work with all the free software docbook
10363 processors. :(</p>
10364
10365 <p>Oh, the joy of well integrated tools. :/</p>
10366
10367 </div>
10368 <div class="tags">
10369
10370
10371 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>.
10372
10373
10374 </div>
10375 </div>
10376 <div class="padding"></div>
10377
10378 <div class="entry">
10379 <div class="title">
10380 <a href="http://people.skolelinux.org/pere/blog/Best_way_to_create_a_docbook_book_.html">Best way to create a docbook book?</a>
10381 </div>
10382 <div class="date">
10383 31st July 2012
10384 </div>
10385 <div class="body">
10386 <p>I tried to send this text to the
10387 <a href="https://lists.oasis-open.org/archives/docbook-apps/">docbook-apps
10388 mailing list at lists.oasis-open.org</a>, but it only accept messages
10389 from subscribers and rejected my post, and I completely lack the
10390 bandwidth required to subscribe to another mailing list, so instead I
10391 try to post my message here and hope my blog readers can help me
10392 out.</p>
10393
10394 <p>I am quite new to docbook processing, and am climbing a steep
10395 learning curve at the moment.</p>
10396
10397 <p>To give you some background, I am working on a Norwegian
10398 translation of the book Free Culture by Lawrence Lessig, and I use
10399 docbook to handle the process. The files to build the book are
10400 available from
10401 <a href="https://github.com/petterreinholdtsen/free-culture-lessig">github</a>.
10402 The book got around 400 pages with parts, images, footnotes, tables,
10403 index entries etc, which has proven to be a challenge for the free
10404 software docbook processors. My build platform is Debian GNU/Linux
10405 Squeeze.</p>
10406
10407 <p>I want to build PDF, EPUB and HTML version of the book, and have
10408 tried different tool chains to do the conversion from docbook to these
10409 formats. I am currently focusing on the PDF version, and have a few
10410 problems.</p>
10411
10412 <ul>
10413
10414 <li>Using dblatex, the &lt;part&gt; handling is not the way I want to,
10415 as &lt;/part&gt; do not really end the &lt;part&gt;. (See
10416 <a href="http://bugs.debian.org/683166">BTS report #683166</a>), the
10417 xetex backend (needed to process UTF-8) give incorrect hyphens in
10418 index references spanning several pages (See
10419 <a href="http://bugs.debian.org/682901">BTS report #682901</a>), and
10420 I am unable to get the norwegian template texts (See
10421 <a href="http://bugs.debian.org/682936">BTS report #682936</a>).</li>
10422
10423 <li>Using straight xmlto fail with some latex error (See
10424 <a href="http://bugs.debian.org/683163">BTS report
10425 #683163</a>).</li>
10426
10427 <li>Using xmlto with the fop backend fail to handle images (do not
10428 show up in the PDF), fail to handle a long footnote (overlap
10429 footnote and text body, see
10430 <a href="http://bugs.debian.org/683197">BTS report #683197</a>), and
10431 fail to create a correct index (some lack page ref, and the page
10432 refs listed are not right).</li>
10433
10434 <li>Using xmlto with the dblatex backend behave like dblatex.</li>
10435
10436 <li>Using docbook-xls with xsltproc + fop have the same footnote and
10437 index problems the xmlto + fop processing.</li>
10438
10439 </ul>
10440
10441 <p>So I wonder, what would be the best way to create the PDF version
10442 of this book? Are some of the bugs found above solved in new or
10443 experimental versions of some docbook tool chain?</p>
10444
10445 <p>What about HTML and EPUB versions?</p>
10446
10447 </div>
10448 <div class="tags">
10449
10450
10451 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>.
10452
10453
10454 </div>
10455 </div>
10456 <div class="padding"></div>
10457
10458 <div class="entry">
10459 <div class="title">
10460 <a href="http://people.skolelinux.org/pere/blog/Free_Culture_in_Norwegian___5_chapters_done__74_percent_left_to_do.html">Free Culture in Norwegian - 5 chapters done, 74 percent left to do</a>
10461 </div>
10462 <div class="date">
10463 21st July 2012
10464 </div>
10465 <div class="body">
10466 <p>I reported earlier that I am working on
10467 <a href="http://people.skolelinux.org/pere/blog/Dugnad_for___sende_norsk_versjon_av_Free_Culture_til_stortingets_representanter_.html">a
10468 norwegian version</a> of the book
10469 <a href="http://free-culture.cc/">Free Culture</a> by Lawrence Lessig.
10470 Progress is good, and yesterday I got a major contribution from Anders
10471 Hagen Jarmund completing chapter six. The source files as well as a
10472 PDF and EPUB version of this book are available from
10473 <a href="https://github.com/petterreinholdtsen/free-culture-lessig">github</a>.</p>
10474
10475 <p>I am happy to report that the draft for the first two chapters
10476 (preface, introduction) is complete, and three other chapters are also
10477 completely translated. This completes 26 percent of the number of
10478 strings (equivalent to paragraphs) in the book, and there is thus 74
10479 percent left to translate. A graph of the progress is present at the
10480 bottom of the github project page. There is still room for more
10481 contributors. Get in touch or send github pull requests with fixes if
10482 you got time and are willing to help make this book make it to
10483 print. :)</p>
10484
10485 <p>The book translation framework could also be a good basis for other
10486 translations, if you want the book to be available in your
10487 language.</p>
10488
10489 </div>
10490 <div class="tags">
10491
10492
10493 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>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett</a>.
10494
10495
10496 </div>
10497 </div>
10498 <div class="padding"></div>
10499
10500 <div class="entry">
10501 <div class="title">
10502 <a href="http://people.skolelinux.org/pere/blog/Call_for_help_from_docbook_expert_to_tag_Free_Culture_by_Lawrence_Lessig.html">Call for help from docbook expert to tag Free Culture by Lawrence Lessig</a>
10503 </div>
10504 <div class="date">
10505 16th July 2012
10506 </div>
10507 <div class="body">
10508 <p>I am currently working on a
10509 <a href="http://people.skolelinux.org/pere/blog/Dugnad_for___sende_norsk_versjon_av_Free_Culture_til_stortingets_representanter_.html">project
10510 to translate</a> the book
10511 <a href="http://free-culture.cc/">Free Culture</a> by Lawrence Lessig
10512 to Norwegian. And the source we base our translation on is the
10513 <a href="http://en.wikipedia.org/wiki/DocBook">docbook</a> version, to
10514 allow us to use po4a and .po files to handle the translation, and for
10515 this to work well the docbook source document need to be properly
10516 tagged. The source files of this project is available from
10517 <a href="https://github.com/petterreinholdtsen/free-culture-lessig">github</a>.</p>
10518
10519 <p>The problem is that the docbook source have flaws, and we have
10520 no-one involved in the project that is a docbook expert. Is there a
10521 docbook expert somewhere that is interested in helping us create a
10522 well tagged docbook version of the book, and adjust our build process
10523 for the PDF, EPUB and HTML version of the book? This will provide a
10524 well tagged English version (our source document), and make it a lot
10525 easier for us to create a good Norwegian version. If you can and want
10526 to help, please get in touch with me or fork the github project and
10527 send pull requests with fixes. :)</p>
10528
10529 </div>
10530 <div class="tags">
10531
10532
10533 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>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett</a>.
10534
10535
10536 </div>
10537 </div>
10538 <div class="padding"></div>
10539
10540 <div class="entry">
10541 <div class="title">
10542 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__George_Bredberg.html">Debian Edu interview: George Bredberg</a>
10543 </div>
10544 <div class="date">
10545 9th July 2012
10546 </div>
10547 <div class="body">
10548 <p>The <a href="http://www.skolelinux.org/">Debian Edu /
10549 Skolelinux</a> project have users all over the globe, but until
10550 recently we have not known about any users in Norway's neighbour
10551 country Sweden. This changed when George Bredberg showed up in March
10552 this year on the mailing list, asking interesting questions about how
10553 to adjust and scale the just released
10554 <a href="http://www.debian.org/News/2012/20120311.html">Debian Edu
10555 Wheezy</a> setup to his liking. He granted me an interview, and I am
10556 happy to share his answers with you here.</p>
10557
10558 <p><strong>Who are you, and how do you spend your days?</strong></p>
10559
10560 <p>I'm a 44 year old country guy that have been working 12 years at
10561 the same school as 50% IT-manager and 50% Teacher. My educational
10562 background is fil.kand in history and religious beliefs, an exam as a
10563 "folkhighschool" teacher, that is, for teaching grownups. In
10564 Norwegian I believe it's called "Vuxenupplaring". I also have a master
10565 in "Technology and social change". So I'm not really a tech guy, I
10566 just like to study how humans and technology interact and that is my
10567 perspective when working with IT.</p>
10568
10569 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
10570 project?</strong></p>
10571
10572 I have followed the Skolelinux project for quite some time by
10573 now. Earlier I tested out the K12-LTSP project, which we used for some
10574 time, but I really like the idea of having a distribution aimed to be
10575 a complete solution for schools with necessary tools integrated. When
10576 K12-LTSP abandoned that idea some years ago, I started to look more
10577 seriously into Skolelinux instead.
10578
10579 <p><strong>What do you see as the advantages of Skolelinux/Debian
10580 Edu?</strong></p>
10581
10582 The big point of Skolelinux to me is that it is a complete
10583 distribution, ready to install. It has LDAP-support, MS Windows
10584 integration tools and so forth already configured, saving an
10585 administrator a lot of time and headache. We were using another Linux
10586 based thin-client system called Thinlinc, that has served us very
10587 well. But that Skolelinux is based on VNC and LTSP, to me, is better
10588 when it comes to the kind of multimedia used in schools. That is
10589 showing videos from Youtube or educational TV. It is also easier to
10590 mix thin clients with workstations, since the user settings will be the
10591 same. In our VNC-based solution you had to "beat around the bush" by
10592 setting up a second, hidden, home-directory for user settings for the
10593 workstations, because they will be different from the ones used on the
10594 thin clients. Skolelinux support for diskless workstations are very
10595 convenient since a school today often need to use a class room
10596 projector showing videos in full screen. That is easily done with a
10597 small integrated media computer running as a diskless workstation. You
10598 have only two installs to update and configure. One for the thin
10599 clients and one for the workstations. Also saving a lot of time. Our
10600 old system was also based on Redhat and CentOS. They are both very
10601 nice distributions, but they are sometimes painfully slow when it
10602 comes to updating multimedia support and multimedia programs (even
10603 such as Gimp), leaving us with a bit "oldish" applications. Debian is
10604 quicker to update.
10605
10606 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
10607 Edu?</strong></p>
10608
10609 <p>Debian is a bit too quick when it comes to updating. As an example
10610 we use old HP terminals as thinclients, and two times already this
10611 year (2012) the updates you get from the repositories has stopped
10612 sound from working with them. It's a kernel/ALSA issue. So you have
10613 to be more careful properly testing the updates before you run them in
10614 a production environment. This has never happened with CentOS.</p>
10615
10616 <p>I also would like to be able to set my own domain-settings at
10617 install time. In Skolelinux they are kind of hard coded into the
10618 distribution, when it comes to LDAP and at least samba integration.
10619 That is more a cosmetic/translation issue, and not a real problem.
10620 Running MS Windows applications within the Skolelinux environment needs
10621 to be better supported. That is, running them seamlessly via RDP, and
10622 support for single-sign on. That will make the transition to free
10623 software easier, because you can keep the applications you really
10624 need. No support will make it impossible if you work in a school where
10625 some applications can't be open source. As for us we really need to
10626 run Adobe InDesign in our journalist classes. We run a journalist
10627 education, and is one of the very few non university ones that is ok:d
10628 by Svenska journalistförbundet (Swedish journalist association). Our
10629 education gives the pupils the right of membership there, once they
10630 are done. This is important if you want to get a job.</p>
10631
10632 <p>Adobe InDesign is the program most commonly used in newspapers and
10633 magazines. We used Quark Express before, but they seem to loose there
10634 market to Adobe. The only "equivalent" to InDesign in the opensource
10635 world is Scribus, and its not advanced enough. At least not according
10636 to the teacher. I think it would be possible to use it, because they
10637 are not supposed to learn a program, they are supposed to learn how to
10638 edit and compile a newspaper. But politically at our school we are not
10639 there yet. And Scribus lacks a lot of things you find i InDesign.</p>
10640
10641 <p>We used even a windows program for sound editing when it comes to
10642 the radio-journalist part. The year to come we are going to try
10643 Audacity. That software has the same kind of limitations compared to
10644 Adobe Audition, but that teacher is a bit more open minded. We have
10645 tried Ardour also, but that instead is more like a music studio
10646 program, not intended for the kind of editing taking place in a radio
10647 studio. Its way to complex and the GUI is to scattered when you only
10648 want to cut, make pass-overs, add extra channels and normalise. Those
10649 things you can do in Audacity, but its not as easy as in Audition. You
10650 have to do more things manually with envelopes, and that is a bit old
10651 fashion and timewasting. Its also harder to cut and move sound from
10652 one channel to another, which is a thing that you do frequently
10653 because you often find yourself needing to rearrange parts of the
10654 sound file.</p>
10655
10656 <p>So, I am not sure we will succeed in replacing even Audition, but we
10657 will try. The problem is the students have certain expectations when
10658 they start an education towards a profession. So the programs has to
10659 look and feel professional. Good thing with radio, there are many
10660 programs out there, that radio studios use, so its not as standardised
10661 as Newspaper editing. That means, it does not really matter what
10662 program they learn, because once they start working they still have to
10663 learn the program the studio uses, so instead focus has to be to learn
10664 the editing part without to much focus on a specific software.</p>
10665
10666 <p><strong>Which free software do you use daily?</strong></p>
10667
10668 <p>Myself I'm running Linux Mint, or Ubuntu these days. I use almost
10669 only open source software, and preferably Linux based. When it comes
10670 to most used applications its OpenOffice, and Firefox (of course ;)
10671 )</p>
10672
10673 <p><strong>Which strategy do you believe is the right one to use to
10674 get schools to use free software?</strong></p>
10675
10676 <p>To get schools to use free software there has to be good open
10677 source software that are windows based, to ease the transition. But
10678 it's also very important that the multimedia support is working
10679 flawlessly. The problems with Youtube, Twitter, Facebook and whatever
10680 will create problems when it comes to both teachers and
10681 students. Economy are also important for schools, so using thin
10682 clients, as long as they have good multimedia support, is a very good
10683 idea. It's also important that the open source software works even for
10684 the administration. It's hard to convince the teachers to stick with
10685 open source, if the principal has to run Windows. It also creates a
10686 problem if some classes has to use Windows for there tasks, since that
10687 will create a difference in "status" between classes, so a good
10688 support for running windows applications via the thin client (Linux)
10689 desktop is essential. At least at our school, where we have mixed
10690 level of educations, from high-school to journalist-school.</p>
10691
10692 <p>Update 2012-07-09 08:30: Paul Wise tipped me on IRC about three
10693 useful sources related to Free Software for radio stations: the LWN
10694 article <a href="https://lwn.net/Articles/481607/">Radio station
10695 management with Airtime</a>,
10696 <a href="http://www.sourcefabric.org/en/airtime/">Airtime</a> which
10697 claim to be a Free open source radio automation software and
10698 <a href="http://www.rivendellaudio.org/">Rivendell</a> which claim to
10699 be complete radio broadcast automation solution. All of them seem
10700 useful to the aspiring radio producer.</p>
10701
10702 </div>
10703 <div class="tags">
10704
10705
10706 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju</a>.
10707
10708
10709 </div>
10710 </div>
10711 <div class="padding"></div>
10712
10713 <div class="entry">
10714 <div class="title">
10715 <a href="http://people.skolelinux.org/pere/blog/Why_do_schools_waste_money_on_IT_.html">Why do schools waste money on IT?</a>
10716 </div>
10717 <div class="date">
10718 8th July 2012
10719 </div>
10720 <div class="body">
10721 <p>In the Debian Edu / Skolelinux project, we have realised that one
10722 of the major blockers for the project success is the purchasing skills
10723 in schools and municipalities. We provide what the happy users of
10724 Debian Edu / Skolelinux say they need and to a lower cost than the
10725 alternatives, and yet so few schools decide to use our solution. I
10726 was pleased to discover the same observation done by mySociety and Tom
10727 Steinberg in his blog post
10728 "<a href="http://www.mysociety.org/2012/06/19/can-you-recognize-the-million-pound-chair/">Can
10729 you recognize the million pound chair?</a>". Read it and weep for the
10730 spending of your tax money.</p>
10731
10732 <p>Of course there are other factors involved as well, like our
10733 projects bad marketing skills and the Linux community fragmentation
10734 causing worry with the people on the outside, so we as a project need
10735 to keep working hard to gain users, but it is a up-hill battle when
10736 public decision makers are unable to understand computer system
10737 purchases.</p>
10738
10739 </div>
10740 <div class="tags">
10741
10742
10743 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
10744
10745
10746 </div>
10747 </div>
10748 <div class="padding"></div>
10749
10750 <div class="entry">
10751 <div class="title">
10752 <a href="http://people.skolelinux.org/pere/blog/Free_Timetabling_Software___nice_free_software.html">Free Timetabling Software - nice free software</a>
10753 </div>
10754 <div class="date">
10755 7th July 2012
10756 </div>
10757 <div class="body">
10758 <p>Included in <a href="http://www.skolelinux.org/">Debian Edu /
10759 Skolelinux</a> is a large collection of end user and school specific
10760 software. It is one of the packages not installed by default but
10761 provided in the Debian archive for schools to install if they want to,
10762 is a system to automatically plan the school time table using
10763 information about available teachers, classes and rooms, combined with
10764 the list of required courses and how many hours each topic should
10765 receive. The software is
10766
10767 <a href="http://lalescu.ro/liviu/fet/">named FET</a>, and it provide a
10768 graphical user interface to input the required information, save the
10769 result in a fairly simple XML format, and generate time tables for
10770 both teachers and students. It is available both for
10771 <a href="http://lalescu.ro/liviu/fet/download.html">Linux, MacOSX and
10772 Windows</a>.</p>
10773
10774 <p>This is <a href="http://lalescu.ro/liviu/fet/features.html">the
10775 feature list</a>, liftet from the project web site:</p>
10776
10777 <p><ul>
10778
10779 <li>FET is free software, licensed under the GNU GPL v2 or later.
10780 You can freely use, copy, modify and redistribute it </li>
10781
10782 <li>Localized to en_US (US English, default), ar (Arabic), ca
10783 (Catalan), da (Danish), de (German), el (Greek), es (Spanish), fa
10784 (Persian), fr (French), gl (Galician), he (Hebrew), hu
10785 (Hungarian), id (Indonesian), it (Italian), lt (Lithuanian), mk
10786 (Macedonian), ms (Malay), nl (Dutch), pl (Polish), pt_BR
10787 (Brazilian Portuguese), ro (Romanian), ru (Russian), si (Sinhala),
10788 sk (Slovak), sr (Serbian), tr (Turkish), uk (Ukrainian), uz
10789 (Uzbek) and vi (Vietnamese) (incompletely for some languages)
10790 </li>
10791
10792 <li>Fully automatic generation algorithm, allowing also
10793 semi-automatic or manual allocation</li>
10794
10795 <li>Platform independent implementation, allowing running on
10796 GNU/Linux, Windows, Mac and any system that Qt supports </li>
10797
10798 <li>Flexible modular XML format for the input file, allowing editing
10799 with an XML editor or by hand (besides FET interface)</li>
10800
10801 <li>Import/export from CSV format</li>
10802
10803 <li>The resulted timetables are exported into HTML, XML and CSV
10804 formats </li>
10805
10806 <li>Flexible students structure, organized into sets: years, groups
10807 and subgroups. FET allows overlapping years and groups and
10808 non-overlapping subgroups. You can even define individual students
10809 (as separate sets)</li>
10810
10811 <li>Each constraint has a weight percentage, from 0.0% to 100.0%
10812 (but some special constraints are allowed to have only 100% weight
10813 percentage)</li>
10814
10815 <li>Limits for the algorithm (all these limits can be increased on
10816 demand, as a custom version, because this would require a bit more
10817 memory):
10818 <ul>
10819 <li>Maximum total number of hours (periods) per day: 60</li>
10820 <li>Maximum number of working days per week: 35</li>
10821 <li>Maximum total number of teachers: 6000</li>
10822 <li>Maximum total number of sets of students: 30000</li>
10823 <li>Maximum total number of subjects: 6000</li>
10824 <li>Virtually unlimited number of activity tags</li>
10825 <li>Maximum number of activities: 30000</li>
10826 <li>Maximum number of rooms: 6000</li>
10827 <li>Maximum number of buildings: 6000</li>
10828 <li>Possibility of adding multiple teachers and
10829 students sets for each activity. (it is possible
10830 also to have no teachers or no students sets for an
10831 activity)</li>
10832 <li>Virtually unlimited number of time constraints</li>
10833 <li>Virtually unlimited number of space constraints</li>
10834 </ul></li>
10835
10836 <li>A large and flexible palette of time constraints:
10837 <ul>
10838 <li>Break periods</li>
10839 <li>For teacher(s):
10840 <ul>
10841 <li>Not available periods</li>
10842 <li>Max/min days per week</li>
10843 <li>Max gaps per day/week</li>
10844 <li>Max hours daily/continuously</li>
10845 <li>Min hours daily</li>
10846 <li>Max hours daily/continuously with an activity tag</li>
10847
10848 <li>Respect working in an hourly interval a max number of
10849 days per week</li>
10850 </ul></li>
10851 <li>For students (sets):
10852 <ul>
10853 <li>Not available periods</li>
10854 <li>Begins early (specify max allowed beginnings at second hour)</li>
10855 <li>Max gaps per day/week</li>
10856 <li>Max hours daily/continuously</li>
10857 <li>Min hours daily</li>
10858 <li>Max hours daily/continuously with an activity tag</li>
10859
10860 <li>Respect working in an hourly interval a max number of
10861 days per week</li>
10862 </ul></li>
10863 <li>For an activity or a set of activities/subactivities:
10864 <ul>
10865 <li>A single preferred starting time</li>
10866 <li>A set of preferred starting times</li>
10867 <li>A set of preferred time slots</li>
10868 <li>Min/max days between them</li>
10869 <li>End(s) students day</li>
10870 <li>Same starting time/day/hour</li>
10871 <li>Occupy max time slots from selection (a complex and
10872 flexible constraint, useful in many situations)</li>
10873 <li>Consecutive, ordered, grouped (for 2 or 3 (sub)activities)</li>
10874 <li>Not overlapping</li>
10875 <li>Max simultaneous in selected time slots</li>
10876 <li>Min gaps between a set of (sub)activities</li>
10877 </ul></li>
10878 </ul></li>
10879
10880 <li>A large and flexible palette of space constraints:
10881 <ul>
10882 <li>Room not available periods</li>
10883 <li>For teacher(s):
10884 <ul>
10885 <li>Home room(s)</li>
10886 <li>Max building changes per day/week</li>
10887 <li>Min gaps between building changes</li>
10888 </ul>
10889 </li>
10890
10891 <li>For students (sets):
10892 <ul>
10893 <li>Home room(s)</li>
10894 <li>Max building changes per day/week</li>
10895 <li>Min gaps between building changes</li>
10896 </ul>
10897 </li>
10898 <li>Preferred room(s):
10899 <ul>
10900 <li>For a subject</li>
10901 <li>For an activity tag</li>
10902 <li>For a subject and an activity tag</li>
10903 <li>Individually for a (sub)activity</li>
10904 </ul>
10905 </li>
10906
10907 <li>For a set of activities:
10908 <ul>
10909 <li>Occupy a maximum number of different rooms</li>
10910 </ul>
10911 </li>
10912 </ul>
10913 </li>
10914 </ul></p>
10915
10916 <p>I have not used it myself, as I am not involved in time table
10917 planning at a school, but it seem to work fine when I test it. If you
10918 need to set up your schools time table, and is tired of doing it
10919 manually, check it out.
10920
10921 A quick summary on how to use it can be found in
10922 <a href="http://marvelsoft.co.in/wp/2012/03/generate-timetable-for-state-cbse-icse-igcse-schools-free/">a
10923 blog post from MarvelSoft</a>. If you find FET useful, please provide
10924 a recipe for the Debian Edu project in the
10925 <a href="http://wiki.debian.org/DebianEdu#Howtos">Debian Edu HowTo
10926 section</a>.</p>
10927
10928 </div>
10929 <div class="tags">
10930
10931
10932 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
10933
10934
10935 </div>
10936 </div>
10937 <div class="padding"></div>
10938
10939 <div class="entry">
10940 <div class="title">
10941 <a href="http://people.skolelinux.org/pere/blog/Can_Zimbra_be_told_to_send_autoreplies_to_the_From__address_.html">Can Zimbra be told to send autoreplies to the From: address?</a>
10942 </div>
10943 <div class="date">
10944 3rd July 2012
10945 </div>
10946 <div class="body">
10947 <p>In the NUUG <a href="http://www.fiksgatami.no/">FiksGataMi</a>
10948 project (Norwegian version of
10949 <a href="http://www.fixmystreet.com/">FixMyStreet</a> from
10950 <a href="http://www.mysociety.org/">mySociety</a>), we have discovered
10951 a problem with the municipalities using
10952 <a href="http://www.zimbra.com/">Zimbra</a>. When FiksGataMi send a
10953 problem report to the government, the email From: address is set to
10954 the address of the person reporting the problem, while envelope sender
10955 is set to the FiksGataMi contact address. The intention is to make
10956 sure the municipality send any replies to the person reporting the
10957 problem, while any email delivery problems are sent to us in NUUG.
10958 This work well in most cases, but not for Karmøy municipality using
10959 Zimbra. Karmøy is using the vacation message function in Zimbra to
10960 send an automatic reply to report that the message has been received,
10961 and this message is sent to the envelope sender and not the address in
10962 the From: header.</p>
10963
10964 <p>This causes the automatic message from Karmøy to go to NUUGs
10965 request-tracker instance instead of to the person reporting the
10966 problem. We can not really change the envelope sender address, as
10967 this would make it impossible for us to discover when there are
10968 problems with the MTAs receiving problem reports. We have been in
10969 contact with the people at Karmøy municipality, and they are willing
10970 to adjust Zimbra if something can be changed there to get a better
10971 behaviour.</p>
10972
10973 <p>The default behaviour of Zimbra is as far as I can tell according
10974 to the specification in RFC 3834, which recommend that vacation
10975 messages are sent to the envelope sender and not to the From: address.
10976 But I wonder if it is possible to adjust or configure Zimbra to behave
10977 differently. Anyone know? Please let us know at
10978 <a href="http://lists.nuug.no/mailman/listinfo/fiksgatami">fiksgatami
10979 (at) nuug.no</a>.</p>
10980
10981 </div>
10982 <div class="tags">
10983
10984
10985 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
10986
10987
10988 </div>
10989 </div>
10990 <div class="padding"></div>
10991
10992 <div class="entry">
10993 <div class="title">
10994 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Jos__Luis_Redrejo_Rodr_guez.html">Debian Edu interview: José Luis Redrejo Rodríguez</a>
10995 </div>
10996 <div class="date">
10997 26th June 2012
10998 </div>
10999 <div class="body">
11000 <p>I've been too busy at home, but finally I found time to wrap up
11001 another interview with the people behind
11002 <a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>.
11003 This time we get to know José Luis Redrejo Rodríguez, one of our great
11004 helpers from Spain. His effort was the reason we added support for
11005 several desktop types (KDE, Gnome and most recently LXDE) in Debian
11006 Edu, and have all of these available in the recently published
11007 <a href="http://www.debian.org/News/2012/20120311.html">Debian Edu
11008 Squeeze</a> version.</p>
11009
11010 <p><strong>Who are you, and how do you spend your days?</strong></p>
11011
11012 <p>I'm a father, teacher and engineer who is working for the Education
11013 ministry of the Region of Extremadura (Spain) in the implementation of
11014 ICT in schools</p>
11015
11016 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
11017 project?</strong></p>
11018
11019 <p>At 2006, I verified that both, we in Extremadura and Skolelinux
11020 project, had been working in parallel for some years, doing very
11021 similar things, using very similar tools and with similar targets, so
11022 I decided it was time to join forces as much as possible.</p>
11023
11024 <p><strong>What do you see as the advantages of Skolelinux/Debian
11025 Edu?</strong></p>
11026
11027 <p>A community of highly skilled experts working together, with a
11028 really open schema of collaboration and work. I really love the
11029 concepts of Do-ocracy and Merit-ocracy and the way these concepts are
11030 been used everyday inside Debian Edu.</p>
11031
11032 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
11033 Edu?</strong></p>
11034
11035 <p>Sometimes the differences in the implementations, laws or
11036 economical and technical resources in the different countries don't
11037 allow us to agree in the same solution for all of us, and several
11038 approaches are needed, what is a waste of effort. Also, there is a
11039 lack of more man power to be able to follow the fast evolution of the
11040 technologies in school.</p>
11041
11042 <p><strong>Which free software do you use daily?</strong></p>
11043
11044 <p>Debian, of course, and due to my kind of job I am most of my time
11045 between Iceweasel, <a href="http://www.geany.org/">Geany</a> and
11046 <a href="http://www.ohloh.net/p/gnome-terminator">Terminator</a>.</p>
11047
11048 <p><strong>Which strategy do you believe is the right one to use to
11049 get schools to use free software?</strong></p>
11050
11051 <p>I think there is not a single strategy because there are very
11052 different scenarios: schools with mixed proprietary and free
11053 environments, schools using only workstations, other schools using
11054 laptops, netbooks, tablets, interactive white-boards, etc.</p>
11055
11056 <p>Also the range of ages of the students is very broad and you can
11057 not use the same solutions for primary schools and secondary or even
11058 universities. So different strategies are needed.</p>
11059
11060 <p>But, looking at these differences, and looking back to the things
11061 we've done and implemented, and the places were we have spent most of
11062 our forces, I think we should focus as much as possible in free
11063 multi-platform environments, using only standards tools, and moving
11064 more and more to Internet or network solutions that could be deployed
11065 using wireless. I think we'll see more and more personal devices in
11066 the schools, devices the students and teachers will take home with
11067 them, so the solutions must be able to be taken at home and continue
11068 working there.</p>
11069
11070 </div>
11071 <div class="tags">
11072
11073
11074 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju</a>.
11075
11076
11077 </div>
11078 </div>
11079 <div class="padding"></div>
11080
11081 <div class="entry">
11082 <div class="title">
11083 <a href="http://people.skolelinux.org/pere/blog/Song_book_for_Computer_Scientists.html">Song book for Computer Scientists</a>
11084 </div>
11085 <div class="date">
11086 24th June 2012
11087 </div>
11088 <div class="body">
11089 <p>Many years ago, while studying Computer Science at the
11090 <a href="http://www.uit.no/">University of Tromsø</a>, I started
11091 collecting computer related songs for use at parties. The original
11092 version was written in LaTeX, but a few years ago I got help from
11093 Håkon W. Lie, one of the inventors of W3C CSS, to convert it to HTML
11094 while keeping the ability to create a nice book in PDF format. I have
11095 not had time to maintain the book for a while now, and guess I should
11096 put it up on some public version control repository where others can
11097 help me extend and update the book. If anyone is volunteering to help
11098 me with this, send me an email. Also let me know if there are songs
11099 missing in my book.</p>
11100
11101 <p>I have not mentioned the book on my blog so far, and it occured to
11102 me today that I really should let all my readers share the joys of
11103 singing out load about programming, computers and computer networks.
11104 Especially now that <a href="http://debconf12.debconf.org/">Debconf
11105 12</a> is about to start (and I am not going). Want to sing? Check
11106 out <a href="http://www.hungry.com/~pere/cs-songbook/">Petter's
11107 Computer Science Songbook</a>.
11108
11109 </div>
11110 <div class="tags">
11111
11112
11113 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/multimedia">multimedia</a>.
11114
11115
11116 </div>
11117 </div>
11118 <div class="padding"></div>
11119
11120 <div class="entry">
11121 <div class="title">
11122 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu___some_ideas_for_the_future_versions.html">Debian Edu - some ideas for the future versions</a>
11123 </div>
11124 <div class="date">
11125 11th June 2012
11126 </div>
11127 <div class="body">
11128 <p>During my work on
11129 <a href="http://www.debian.org/News/2012/20120311.nb.html">Debian Edu
11130 based on Squeeze</a>, I came across some issues that should be
11131 addressed in the Wheezy release. I finally found time to wrap up my
11132 notes and provide quick summary of what I found, with a bit
11133 explanation.</p>
11134
11135 <p><ul>
11136
11137 <li>We need to rewrite our package installation framework, as tasksel
11138 changed from using tasksel tasks to using meta packages (aka packages
11139 with dependencies like our education-* packages), and our installation
11140 system depend on tasksel tasks in
11141 /usr/share/tasksel/debian-edu-tasks.desc for package
11142 installation.</li>
11143
11144 <li>Enable Kerberos login for more services. Now with the Kerberos
11145 foundation in place, we should use it to get single sign on with more
11146 services, and avoiding unneeded password / login questions. We should
11147 at least try to enable it for these services:
11148 <ul>
11149
11150 <li>CUPS for admins to add/configure printers and users when using
11151 quotas.</li>
11152 <li>Nagios for admins checking the system status.</li>
11153 <li>GOsa for admins updating LDAP and users changing their passwords.</li>
11154 <li>LDAP for admins updating LDAP.</li>
11155 <li>Squid for users when exam mode / filtering is active.</li>
11156 <li>ssh for admins and users to save a password prompt.</li>
11157
11158 </ul></li>
11159
11160 <li>When we move GOsa to use Kerberos instead of LDAP bind to
11161 authenticate users, we should try to block or at least limit access to
11162 use LDAP bind for authentication, to ensure Kerberos is used when it
11163 is intended, and nothing fall back to using the less safe LDAP bind</li>
11164
11165 <li>Merge debian-edu-config and debian-edu-install. The split made
11166 sense when d-e-install did a lot more, but these days it is just an
11167 inconvenience when we update the debconf preseeding values.</li>
11168
11169 <li>Fix partman-auto to allow us to abort the installation before
11170 touching the disk if the disk is too small. This is
11171 <a href="http://bugs.debian.org/653305">BTS report #653305</a> and the
11172 d-i developers are fine with the patch and someone just need to apply
11173 it and upload. After this is done we need to adjust
11174 debian-edu-install to use this new hook.</li>
11175
11176 <li>Adjust to new LTSP framework (boot time config instead of install
11177 time config). LTSP changed its design, and our hooks to install
11178 packages and update the configuration is most likely not going to work
11179 in Wheezy.
11180
11181 <li>Consider switching to NBD instead of NFS for LTSP root, to allow
11182 the Kernel to cache files in its normal file cache, possibly speeding
11183 up KDE login on slow networks.</li>
11184
11185 <li>Make it possible to create expired user passwords that need to
11186 change on first login. This is useful when handing out password on
11187 paper, to make sure only the user know the password. This require
11188 fixes to the PAM handling of kdm and gdm.</li>
11189
11190 <li>Make GUI for adding new machines automatically from sitesummary.
11191 The current command line script is not very friendly to people most
11192 familiar with GUIs. This should probably be integrated into GOsa to
11193 have it available where the admin will be looking for it..</li>
11194
11195 <li>We should find way for Nagios to check that the DHCP service
11196 actually is working (as in handling out IP addresses). None of the
11197 Nagios checks I have found so far have been working for me.</li>
11198
11199 <li>We should switch from libpam-nss-ldapd to sssd for all profiles
11200 using LDAP, and not only on for roaming workstations, to have less
11201 packages to configure and consistent setup across all profiles.</li>
11202
11203 <li>We should configure Kerberos to update LDAP and Samba password
11204 when changing password using the Kerberos protocol. The hook was
11205 requested in <a href="http://bugs.debian.org/588968">BTS report
11206 #588968</a> and is now available in Wheezy. We might need to write a
11207 MIT Kerberos plugin in C to get this.</li>
11208
11209 <li>We should clean up the set of applications installed by default.
11210 <ul>
11211
11212 <li>reduce the number of chemistry visualisers</li>
11213 <li>consider dropping xpaint</li>
11214 <li>and probably more?</li>
11215 </ul></li>
11216
11217 <li>Some hardware need external firmware to work properly. This is
11218 mostly the case for WiFi network cards, but there are some other
11219 examples too. For popular laptops to work out of the box, such
11220 firmware need to be installed from non-free, and we should provide
11221 some GUI to do this. Ubuntu already have this implemented, and we
11222 could consider using their packages. At the moment we have some
11223 command line script to do this (one for the running system, another
11224 for the LTSP chroot).</li>
11225
11226
11227 <li>In Squeeze, we provide KDE, Gnome and LXDE as desktop options. We
11228 should extend the list to Xfce and Sugar, and preferably find a way to
11229 install several and allow the admin or the user to select which one to
11230 use.</li>
11231
11232 <li>The golearn tool from the goplay package make it easy to check out
11233 interesting educational packages. We should work on the package
11234 tagging in Debian to ensure it represent all the useful educational
11235 packages, and extend the tool to allow it to use packagekit to install
11236 new applications with a simple mouse click.</li>
11237
11238 <li>The Squeeze version got half a exam solution already in place,
11239 with the introduction of iptable based network blocking, but for it to
11240 be a complete exam solution the Squid proxy need to enable
11241 filtering/blocking as well when the exam mode is enabled. We should
11242 implement a way to easily enable this for the schools that want it,
11243 instead of the "it is documented" method of today.</li>
11244
11245 <li>A feature used in several schools is the ability for a teacher to
11246 "take over" the desktop of individual or all computers in the room.
11247 There are at least three implementations,
11248 <a href="italc.sourceforge.net/">italc</a>,
11249 <a href="http://www.itais.net/help/en/">controlaula</a> og
11250 <a href="http://www.epoptes.org/">epoptes</a> and we should pick one of
11251 them and make it trivial to set it up in a school. The challenges is
11252 how to distribute crypto keys and how to group computers in one room
11253 and how to set up which machine/user can control the machines in a
11254 given room.</li>
11255
11256 <li>Tablets and surf boards are getting more and more popular, and we
11257 should look into providing a good solution for integrating these into
11258 the Debian Edu network. Not quite sure how. Perhaps we should
11259 provide a installation profile with better touch screen support for
11260 them, or add some sync services to allow them to exchange
11261 configuration and data with the central server. This should be
11262 investigated.</li>
11263
11264 </ul></p>
11265
11266 <p>I guess we will discover more as we continue to work on the Wheezy
11267 version.</p>
11268
11269 </div>
11270 <div class="tags">
11271
11272
11273 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
11274
11275
11276 </div>
11277 </div>
11278 <div class="padding"></div>
11279
11280 <div class="entry">
11281 <div class="title">
11282 <a href="http://people.skolelinux.org/pere/blog/TV_with_face_recognition__for_improved_viewer_experience.html">TV with face recognition, for improved viewer experience</a>
11283 </div>
11284 <div class="date">
11285 9th June 2012
11286 </div>
11287 <div class="body">
11288 <p>Slashdot got a story about Intel planning a
11289 <a href="http://entertainment.slashdot.org/story/12/06/09/0012247/intel-to-launch-tv-service-with-facial-recognition-by-end-of-the-year">TV
11290 with face recognition</a> to recognise the viewer, and it occurred to
11291 me that it would be more interesting to turn it around, and do face
11292 recognition on the TV image itself. It could let the viewer know who
11293 is present on the screen, and perhaps look up their credibility,
11294 company affiliation, previous appearances etc for the viewer to better
11295 evaluate what is being said and done. That would be a feature I would
11296 be willing to pay for.</p>
11297
11298 <p>I would not be willing to pay for a TV that point a camera on my
11299 household, like the big brother feature apparently proposed by Intel.
11300 It is the telescreen idea fetched straight out of the book
11301 <a href="http://gutenberg.net.au/ebooks01/0100021.txt">1984 by George
11302 Orwell</a>.</p>
11303
11304 </div>
11305 <div class="tags">
11306
11307
11308 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance</a>.
11309
11310
11311 </div>
11312 </div>
11313 <div class="padding"></div>
11314
11315 <div class="entry">
11316 <div class="title">
11317 <a href="http://people.skolelinux.org/pere/blog/Web_service_to_look_up_HP_and_Dell_computer_hardware_support_status.html">Web service to look up HP and Dell computer hardware support status</a>
11318 </div>
11319 <div class="date">
11320 6th June 2012
11321 </div>
11322 <div class="body">
11323 <p>A few days ago
11324 <a href="http://people.skolelinux.org/pere/blog/SOAP_based_webservice_from_Dell_to_check_server_support_status.html">I
11325 reported how to get</a> the support status out of Dell using an
11326 unofficial and undocumented SOAP API, which I since have found out was
11327 <a href="http://lists.us.dell.com/pipermail/linux-poweredge/2012-February/045959.html">discovered
11328 by Daniel De Marco in february</a>. Combined with my web scraping
11329 code for HP, Dell and IBM
11330 <a href="http://people.skolelinux.org/pere/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html">from
11331 2009</a>, I got inspired and wrote
11332 <a href="https://views.scraperwiki.com/run/computer-hardware-support-status/">a
11333 web service</a> based on Scraperwiki to make it easy to look up the
11334 support status and get a machine readable result back.</p>
11335
11336 <p>This is what it look like at the moment when asking for the JSON
11337 output:
11338
11339 <blockquote><pre>
11340 % GET <a href="https://views.scraperwiki.com/run/computer-hardware-support-status/?format=json&vendor=Dell&servicetag=2v1xwn1">https://views.scraperwiki.com/run/computer-hardware-support-status/?format=json&vendor=Dell&servicetag=2v1xwn1</a>
11341 supportstatus({"servicetag": "2v1xwn1", "warrantyend": "2013-11-24", "shipped": "2010-11-24", "scrapestamputc": "2012-06-06T20:26:56.965847", "scrapedurl": "http://143.166.84.118/services/assetservice.asmx?WSDL", "vendor": "Dell", "productid": ""})
11342 %
11343 </pre></blockquote>
11344
11345 <p>It currently support Dell and HP, and I am hoping for help to add
11346 support for other vendors. The python source is available on
11347 Scraperwiki and I welcome help with adding more features.</p>
11348
11349 </div>
11350 <div class="tags">
11351
11352
11353 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
11354
11355
11356 </div>
11357 </div>
11358 <div class="padding"></div>
11359
11360 <div class="entry">
11361 <div class="title">
11362 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Mike_Gabriel.html">Debian Edu interview: Mike Gabriel</a>
11363 </div>
11364 <div class="date">
11365 2nd June 2012
11366 </div>
11367 <div class="body">
11368 <p>Back in 2010, Mike Gabriel showed up on the
11369 <a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>
11370 mailing list. He quickly proved to be a valuable developer, and
11371 thanks to his tireless effort we now have Kerberos integrated into the
11372 <a href="http://www.debian.org/News/2012/20120311.html">Debian Edu
11373 Squeeze</a> version.</p>
11374
11375 <p><strong>Who are you, and how do you spend your days?</strong></p>
11376
11377 <p>My name is Mike Gabriel, I am 38 years old and live near Kiel,
11378 Schleswig-Holstein, Germany. I live together with a wonderful partner
11379 (Angela Fuß) and two own children and two bonus children (contributed
11380 by Angela).</p>
11381
11382 <p>During the day I am part-time employed as a system administrator
11383 and part-time working as an IT consultant. The consultancy work
11384 touches free software topics wherever and whenever possible. During
11385 the nights I am a free software developer. In the gaps I also train in
11386 becoming an osteopath.</p>
11387
11388 <p>Starting in 2010 we (Andreas Buchholz, Angela Fuß, Mike Gabriel)
11389 have set up a free software project in the area of Kiel that aims at
11390 introducing free software into schools. The project's name is
11391 "IT-Zukunft Schule" (IT future for schools). The project links IT
11392 skills with communication skills.</p>
11393
11394 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
11395 project?</strong></p>
11396
11397 <p>While preparing our own customised Linux distribution for
11398 "IT-Zukunft Schule" we were repeatedly asked if we really wanted to
11399 reinvent the wheel. What schools really need is already available,
11400 people said. From this impulse we started evaluating other Linux
11401 distributions that target being used for school networks.</p>
11402
11403 <p>At the end we short-listed two approaches and compared them: a
11404 commercial Linux distribution developed by a company in Bremen,
11405 Germany, and Skolelinux / Debian Edu. Between 12/2010 and 03/2011 we
11406 went to several events and met people being responsible for marketing
11407 and development of either of the distributions. Skolelinux / Debian
11408 Edu was by far much more convincing compared to the other product that
11409 got short-listed beforehand--across the full spectrum. What was most
11410 attractive for me personally: the perspective of collaboration within
11411 the developmental branch of the Debian Edu project itself.</p>
11412
11413 <p>In parallel with this, we talked to many local and not-so-local
11414 people. People teaching at schools, headmasters, politicians, data
11415 protection experts, other IT professionals.</p>
11416
11417 <p>We came to two conclusions:</p>
11418
11419 <p>First, a technical conclusion: What schools need is available in
11420 bits and pieces here and there, and none of the solutions really fit
11421 by 100%. Any school we have seen has a very individual IT setup
11422 whereas most of each school's requirements could mapped by a standard
11423 IT solution. The requirement to this IT solution is flexibility and
11424 customisability, so that individual adaptations here and there are
11425 possible. In terms of re-distributing and rolling out such a
11426 standardised IT system for schools (a system that is still to some
11427 degree customisable) there is still a lot of work to do here
11428 locally. Debian Edu / Skolelinux has been our choice as the starting
11429 point.</p>
11430
11431 <p>Second, a holistic conclusion: What schools need does not exist at
11432 all (or we missed it so far). There are several technical solutions
11433 for handling IT at schools that tend to make a good impression. What
11434 has been missing completely here in Germany, though, is the enrolment
11435 of people into using IT and teaching with IT. "IT-Zukunft Schule"
11436 tries to provide an approach for this.</p>
11437
11438 <p>Only some schools have some sort of a media concept which explains,
11439 defines and gives guidance on how to use IT in class. Most schools in
11440 Northern Germany do not have an IT service provider, the school's IT
11441 equipment is managed by one or (if the school is lucky) two (admin)
11442 teachers, most of the workload these admin teachers get done in there
11443 spare time.</p>
11444
11445 <p>We were surprised that only a very few admin teachers were
11446 networked with colleagues from other schools. Basically, every school
11447 here around has its individual approach of providing IT equipment to
11448 teachers and students and the exchange of ideas has been quasi
11449 non-existent until 2010/2011.</p>
11450
11451 <p>Quite some (non-admin) teachers try to avoid using IT technology in
11452 class as a learning medium completely. Several reasons for this
11453 avoidance do exist.</p>
11454
11455 <p>We discovered that no-one has ever taken a closer look at this
11456 social part of IT management in schools, so far. On our quest journey
11457 for a technical IT solution for schools, we discussed this issue with
11458 several teachers, headmasters, politicians, other IT professionals and
11459 they all confirmed: a holistic approach of considering IT management
11460 at schools, an approach that includes the people in place, will be new
11461 and probably a gain for all.</p>
11462
11463 <p><strong>What do you see as the advantages of Skolelinux/Debian
11464 Edu?</strong></p>
11465
11466 <p>There is a list of advantages: international context, openness to
11467 any kind of contributions, do-ocracy policy, the closeness to Debian,
11468 the different installation scenarios possible (from stand-alone
11469 workstation to complex multi-server sites), the transparency within
11470 project communication, honest communication within the group of
11471 developers, etc.</p>
11472
11473 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
11474 Edu?</strong></p>
11475
11476 <p>Every coin has two sides:</p>
11477
11478 <p>Technically: <a href="http://bugs.debian.org/311188">BTS issue
11479 #311188</a>, tricky upgradability of a Debian Edu main server, network
11480 client installations on top of a plain vanilla Debian installation
11481 should become possible sometime in the near future, one could think
11482 about splitting the very complex package debian-edu-config into
11483 several portions (to make it easier for new developers to
11484 contribute).</p>
11485
11486 <p>Another issue I see is that we (as Debian Edu developers) should
11487 find out more about the network of people who do the marketing for
11488 Debian Edu / Skolelinux. There is a very active group in Germany
11489 promoting Skolelinux on the bigger Linux Days within Germany. Are
11490 there other groups like that in other countries? How can we bring
11491 these marketing people together (marketing group A with group B and
11492 all of them with the group of Debian Edu developers)? During the last
11493 meeting of the German Skolelinux group, I got the impression of people
11494 there being rather disconnected from the development department of
11495 Debian Edu / Skolelinux.</p>
11496
11497 <p><strong>Which free software do you use daily?</strong></p>
11498
11499 <p>For my daily business, I do not use commercial software at all.</p>
11500
11501 <p>For normal stuff I use Iceweasel/Firefox, Libreoffice.org. For
11502 serious text writing I prefer LaTeX. I use gimp, inkscape, scribus for
11503 more artistic tasks. I run virtual machines in KVM and Virtualbox.</p>
11504
11505 <p>I am one of the upstream developers of X2Go. In 2010 I started the
11506 development of a Python based X2Go Client, called PyHoca-GUI.
11507 PyHoca-GUI has brought forth a Python X2Go Client API that currently
11508 is being integrated in Ubuntu's software center.</p>
11509
11510 <p>For communications I have my own Kolab server running using Horde
11511 as web-based groupware client. For IRC I love to use irssi, for Jabber
11512 I have several clients that I use, mostly pidgin, though. I am also
11513 the Debian maintainer of Coccinella, a Jabber-based interactive
11514 whiteboard.</p>
11515
11516 <p>My favourite terminal emulator is KDE's Yakuake.</p>
11517
11518 <p><strong>Which strategy do you believe is the right one to use to
11519 get schools to use free software?</strong></p>
11520
11521 <p>Communicate, communicate, communicate. Enrol people, enrol people,
11522 enrol people.</p>
11523
11524 </div>
11525 <div class="tags">
11526
11527
11528 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju</a>.
11529
11530
11531 </div>
11532 </div>
11533 <div class="padding"></div>
11534
11535 <div class="entry">
11536 <div class="title">
11537 <a href="http://people.skolelinux.org/pere/blog/SOAP_based_webservice_from_Dell_to_check_server_support_status.html">SOAP based webservice from Dell to check server support status</a>
11538 </div>
11539 <div class="date">
11540 1st June 2012
11541 </div>
11542 <div class="body">
11543 <p>A few years ago I wrote
11544 <a href="http://people.skolelinux.org/pere/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html">how
11545 to extract support status</a> for your Dell and HP servers. Recently
11546 I have learned from colleges here at the
11547 <a href="http://www.uio.no/">University of Oslo</a> that Dell have
11548 made this even easier, by providing a SOAP based web service. Given
11549 the service tag, one can now query the Dell servers and get machine
11550 readable information about the support status. This perl code
11551 demonstrate how to do it:</p>
11552
11553 <p><pre>
11554 use strict;
11555 use warnings;
11556 use SOAP::Lite;
11557 use Data::Dumper;
11558 my $GUID = '11111111-1111-1111-1111-111111111111';
11559 my $App = 'test';
11560 my $servicetag = $ARGV[0] or die "Please supply a servicetag. $!\n";
11561 my ($deal, $latest, @dates);
11562 my $s = SOAP::Lite
11563 -> uri('http://support.dell.com/WebServices/')
11564 -> on_action( sub { join '', @_ } )
11565 -> proxy('http://xserv.dell.com/services/assetservice.asmx')
11566 ;
11567 my $a = $s->GetAssetInformation(
11568 SOAP::Data->name('guid')->value($GUID)->type(''),
11569 SOAP::Data->name('applicationName')->value($App)->type(''),
11570 SOAP::Data->name('serviceTags')->value($servicetag)->type(''),
11571 );
11572 print Dumper($a -> result) ;
11573 </pre></p>
11574
11575 <p>The output can look like this:</p>
11576
11577 <p><pre>
11578 $VAR1 = {
11579 'Asset' => {
11580 'Entitlements' => {
11581 'EntitlementData' => [
11582 {
11583 'EntitlementType' => 'Expired',
11584 'EndDate' => '2009-07-29T00:00:00',
11585 'Provider' => '',
11586 'StartDate' => '2006-07-29T00:00:00',
11587 'DaysLeft' => '0'
11588 },
11589 {
11590 'EntitlementType' => 'Expired',
11591 'EndDate' => '2009-07-29T00:00:00',
11592 'Provider' => '',
11593 'StartDate' => '2006-07-29T00:00:00',
11594 'DaysLeft' => '0'
11595 },
11596 {
11597 'EntitlementType' => 'Expired',
11598 'EndDate' => '2007-07-29T00:00:00',
11599 'Provider' => '',
11600 'StartDate' => '2006-07-29T00:00:00',
11601 'DaysLeft' => '0'
11602 }
11603 ]
11604 },
11605 'AssetHeaderData' => {
11606 'SystemModel' => 'GX620',
11607 'ServiceTag' => '8DSGD2J',
11608 'SystemShipDate' => '2006-07-29T19:00:00-05:00',
11609 'Buid' => '2323',
11610 'Region' => 'Europe',
11611 'SystemID' => 'PLX_GX620',
11612 'SystemType' => 'OptiPlex'
11613 }
11614 }
11615 };
11616 </pre></p>
11617
11618 <p>I have not been able to find any documentation from Dell about this
11619 service outside the
11620 <a href="http://xserv.dell.com/services/assetservice.asmx?op=GetAssetInformation">inline
11621 documentation</a>, and according to
11622 <a href="http://iboyd.net/index.php/2012/02/14/updated-dell-warranty-information-script/">one
11623 comment</a> it can have stability issues, but it is a lot better than
11624 scraping HTML pages. :)</p>
11625
11626 <p>Wonder if HP and other server vendors have a similar service. If
11627 you know of one, drop me an email. :)</p>
11628
11629 </div>
11630 <div class="tags">
11631
11632
11633 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
11634
11635
11636 </div>
11637 </div>
11638 <div class="padding"></div>
11639
11640 <div class="entry">
11641 <div class="title">
11642 <a href="http://people.skolelinux.org/pere/blog/First_monitor_calibration_using_ColorHug.html">First monitor calibration using ColorHug</a>
11643 </div>
11644 <div class="date">
11645 31st May 2012
11646 </div>
11647 <div class="body">
11648 <p>A few days ago my color calibration gadget
11649 <a href="http://www.hughski.com/index.html">ColorHug</a> arrived in the
11650 mail, and I've had a few days to test it. As all my machines are
11651 running Debian Squeeze, where
11652 <a href="http://packages.qa.debian.org/c/colorhug-client.html">the
11653 calibration software</a> is missing (it is present in Wheezy and Sid),
11654 I ran the calibration using the Fedora based live CD. This worked
11655 just fine. So far I have only done the quick calibration. It was
11656 slow enough for me, so I will leave the more extensive calibration for
11657 another day.</p>
11658
11659 <p>After calibration, I get a
11660 <a href="http://en.wikipedia.org/wiki/ICC_profile">ICC color
11661 profile</a> file that can be passed to programs understanding such
11662 tools. KDE do not seem to understand it out of the box, so I searched
11663 for command line tools to use to load the color profile into X.
11664 xcalib was the first one I found, and it seem to work fine for single
11665 monitor setups. But for my video player, a laptop with a flat screen
11666 attached, it was unable to load the color profile for the correct
11667 monitor. After searching a bit, I
11668 <a href="http://ubuntuforums.org/showthread.php?t=1347896">discovered</a>
11669 that the dispwin tool from the argyll package would do what I wanted,
11670 and a simple</p>
11671
11672 <p><pre>
11673 dispwin -d 1 profile.icc
11674 </pre></p>
11675
11676 <p>later I had the color profile loaded for the correct monitor. The
11677 result was a bit more pink than I expected. I guess I picked the
11678 wrong monitor type for the "led" monitor I got, but the result is good
11679 enough for now.</p>
11680
11681 </div>
11682 <div class="tags">
11683
11684
11685 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
11686
11687
11688 </div>
11689 </div>
11690 <div class="padding"></div>
11691
11692 <div class="entry">
11693 <div class="title">
11694 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Ralf_Gesellensetter.html">Debian Edu interview: Ralf Gesellensetter</a>
11695 </div>
11696 <div class="date">
11697 27th May 2012
11698 </div>
11699 <div class="body">
11700 <p>In 2003, a German teacher showed up on the
11701 <a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>
11702 mailing list with interesting problems and reports proving he setting
11703 up Linux for a (for us at the time) lot of pupils. His name was Ralf
11704 Gesellensetter, and he has been an important tester and contributor
11705 since then, helping to make sure the
11706 <a href="http://www.debian.org/News/2012/20120311.html">Debian Edu
11707 Squeeze</a> release became as good as it is..</p>
11708
11709 <p><strong>Who are you, and how do you spend your days?</strong></p>
11710
11711 <p>I am a teacher from Germany, and my subjects are Geography,
11712 Mathematics, and Computer Science ("Informatik"). During the past 12
11713 years (since 2000), I have been working for a comprehensive (and soon,
11714 also inclusive) school leading to all kind of general levels, such as
11715 O- or A-level ("Abitur"). For quite as long, I've been taking care of
11716 our computer network.</p>
11717
11718 <p>Now, in my early 40s, I enjoy the privilege of spending a lot of my
11719 spare time together with my wife, our son (3 years) and our daughter
11720 (4 months).</p>
11721
11722 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
11723 project?</strong></p>
11724
11725 <p>We had tried different Linux based school servers, when members of
11726 my local Linux User Group (LUG OWL) detected Skolelinux. I remember
11727 very well, being part of a party celebrating the Linux New Media Award
11728 ("Best Newcomer Distribution", also nominated: Ubuntu) that was given
11729 to Skolelinux at Linux World Exposition in Frankfurt, 2005 (IIRC). Few
11730 months later, I had the chance to join a developer meeting in Ulsrud
11731 (Oslo) and to hand out the award to Knut Yrvin and others. For more
11732 than 7 years, Skolelinux is part of our schools infrastructure, namely
11733 our main server (tjener), one LTSP (today without thin clients), and
11734 approximately 50 work stations. Most of these have the option to boot a
11735 locally installed Skolelinux image. As a consequence, I joined quite
11736 a few events dealing with free software or Linux, and met many Debian
11737 (Edu) developers. All of them seemed quite nice and competent to me,
11738 one more reason to stick to Skolelinux.</p>
11739
11740 <p><strong>What do you see as the advantages of Skolelinux/Debian
11741 Edu?</strong></p>
11742
11743 <p>Debian driven, you are given all the advantages of a community
11744 project including well maintained updates. Once, you are familiar with
11745 the network layout, you can easily roll out an entire educational
11746 computer infrastructure, from just one installation media. As only
11747 free software (FOSS) is used, that supports even elderly hardware,
11748 up-sizing your IT equipment is only limited by space (i.e. available
11749 labs). Especially if you run a LTSP thin client server, your
11750 administration costs tend towards zero.</p>
11751
11752 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
11753 Edu?</strong></p>
11754
11755 <p>While Debian's stability has loads of advantages for servers, this
11756 might be different in some cases for clients: Schools with unlimited
11757 budget might buy new hardware with components that are not yet
11758 supported by Debian stable, or wish to use more recent versions of
11759 office packages or desktop environments. These schools have the
11760 option to run Debian testing or other distributions - if they have the
11761 capacity to do so. Another issue is that Debian release cycles
11762 include a wide range of changes; therefor a high percentage of human
11763 power seems to be absorbed by just keeping the features of Skolelinux
11764 within the new setting of the version to come. During this process,
11765 the cogs of Debian Edu are getting more and more professional,
11766 i.e. harder to understand for novices.</p>
11767
11768 <p><strong>Which free software do you use daily?</strong></p>
11769
11770 <p>LibreOffice, Wikipedia, Openstreetmap, Iceweasel (Mozilla Firefox),
11771 KMail, Gimp, Inkscape - and of course the Linux Kernel (not only on
11772 PC, Laptop, Mobile, but also our SAT receiver)</p>
11773
11774 <p><strong>Which strategy do you believe is the right one to use to
11775 get schools to use free software?</strong></p>
11776
11777 <p><ol>
11778
11779 <li>Support computer science as regular subject in schools to make
11780 people really "own" their hardware, to make them understand the
11781 difference between proprietary software products, and free software
11782 developing.</li>
11783
11784 <li>Make budget baskets corresponding: In Germany's public schools
11785 there are more or less fixed budgets for IT equipment (including
11786 licenses), so schools won't benefit from any savings here. This
11787 privilege is left to private schools which have consequently a large
11788 share among German Skolelinux schools.</li>
11789
11790 <li>Get free software in the seminars where would-be teachers are
11791 trained. In many cases, teachers' software customs are respected by
11792 decision makers rather than the expertise of any IT experts.</li>
11793
11794 <li>Don't limit ourself to free software run natively. Everybody uses
11795 free software or free licenses (for instance Wikipedia), and this
11796 general concept should get expanded to free educational content to be
11797 shared world wide (school books e.g.).</li>
11798
11799 <li>Make clear where ever you can that the market share of free (libre)
11800 office suites is much above 20 p.c. today, and that you pupils don't
11801 need to know the "ribbon menu" in order to get employed.</li>
11802
11803 <li>Talk about the difference between freeware and free software.</li>
11804
11805 <li>Spread free software, or even collections of portable free apps
11806 for USB pen drives. Endorse students to get a legal copy of
11807 Libreoffice rather than accepting them to use illegal serials. And
11808 keep sending documents in ODF formats.</li>
11809
11810 </ol></p>
11811
11812 </div>
11813 <div class="tags">
11814
11815
11816 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju</a>.
11817
11818
11819 </div>
11820 </div>
11821 <div class="padding"></div>
11822
11823 <div class="entry">
11824 <div class="title">
11825 <a href="http://people.skolelinux.org/pere/blog/The_cost_of_ODF_and_OOXML.html">The cost of ODF and OOXML</a>
11826 </div>
11827 <div class="date">
11828 26th May 2012
11829 </div>
11830 <div class="body">
11831 <p>I just come across a blog post from Glyn Moody reporting the
11832 claimed cost from Microsoft on requiring ODF to be used by the UK
11833 government. I just sent him an email to let him know that his
11834 assumption are most likely wrong. Sharing it here in case some of my
11835 blog readers have seem the same numbers float around in the UK.</p>
11836
11837 <p><blockquote> <p>Hi. I just noted your
11838 <a href="http://blogs.computerworlduk.com/open-enterprise/2012/04/does-microsoft-office-lock-in-cost-the-uk-government-500-million/index.htm">http://blogs.computerworlduk.com/open-enterprise/2012/04/does-microsoft-office-lock-in-cost-the-uk-government-500-million/index.htm</a>
11839 comment:</p>
11840
11841 <p><blockquote>"They're all in Danish, not unreasonably, but even
11842 with the help of Google Translate I can't find any figures about the
11843 savings of "moving to a flexible two standard" as claimed by the
11844 Microsoft email. But I assume it is backed up somewhere, so let's take
11845 it, and the £500 million figure for the UK, on trust."
11846 </blockquote></p>
11847
11848 <p>I can tell you that the Danish reports are inflated. I believe it is
11849 the same reports that were used in the Norwegian debate around 2007,
11850 and Gisle Hannemyr (a well known IT commentator in Norway) had a look
11851 at the content. In short, the reason it is claimed that using ODF
11852 will be so costly, is based on the assumption that this mean every
11853 existing document need to be converted from one of the MS Office
11854 formats to ODF, transferred to the receiver, and converted back from
11855 ODF to one of the MS Office formats, and that the conversion will cost
11856 10 minutes of work time for both the sender and the receiver. In
11857 reality the sender would have a tool capable of saving to ODF, and the
11858 receiver would have a tool capable of reading it, and the time spent
11859 would at most be a few seconds for saving and loading, not 20 minutes
11860 of wasted effort.</p>
11861
11862 <p>Microsoft claimed all these costs were saved by allowing people to
11863 transfer the original files from MS Office instead of spending 10
11864 minutes converting to ODF. :)</p>
11865
11866 <p>See
11867 <a href="http://hannemyr.com/no/ms12_vl02.php">http://hannemyr.com/no/ms12_vl02.php</a>
11868 and
11869 <a href="http://hannemyr.com/no/ms12.php">http://hannemyr.com/no/ms12.php</a>
11870 for background information. Norwegian only, sorry. :)</p>
11871 </blockquote></p>
11872
11873 </div>
11874 <div class="tags">
11875
11876
11877 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
11878
11879
11880 </div>
11881 </div>
11882 <div class="padding"></div>
11883
11884 <div class="entry">
11885 <div class="title">
11886 <a href="http://people.skolelinux.org/pere/blog/ColorHug___USB_and_free_software_based_screen_color_calibration.html">ColorHug - USB and free software based screen color calibration</a>
11887 </div>
11888 <div class="date">
11889 18th May 2012
11890 </div>
11891 <div class="body">
11892 <p>In january, I
11893 <a href="http://blog.cihar.com/archives/2012/01/17/colorhug-has-arrived/">discovered
11894 the ColorHug</a>, a USB dongle from
11895 <a href="http://www.hughski.com/index.html">Hughski</a> to calibrate
11896 the color on a computer screen. The software required is
11897 <a href="http://packages.qa.debian.org/c/colorhug-client.html">included
11898 in Debian</a>, and I decided back then to preorder from the next
11899 batch. Yesterday I finally heard back from them, and got the
11900 opportunity to order. Today I ordered mine, and eagerly await the
11901 delivery. I hope it arrive next week, as I got a confirmation that it
11902 should go in the mail on monday. :)</p>
11903
11904 <p>If you want to ensure the colors on the screen match the intended
11905 colors, I suggest you check out this cheap tool with free software
11906 drivers. :)</p>
11907
11908 </div>
11909 <div class="tags">
11910
11911
11912 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
11913
11914
11915 </div>
11916 </div>
11917 <div class="padding"></div>
11918
11919 <div class="entry">
11920 <div class="title">
11921 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__J_rgen_Leibner.html">Debian Edu interview: Jürgen Leibner</a>
11922 </div>
11923 <div class="date">
11924 13th May 2012
11925 </div>
11926 <div class="body">
11927 <p>It has been a few busy weeks for me, but I am finally back to
11928 publish another interview with the people behind
11929 <a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>.
11930 This time it is one of our German developers, who have helped out over the
11931 years to make sure both a lot of major but also a lot of the minor
11932 details get right before release.
11933
11934 <p><strong>Who are you, and how do you spend your days?</strong></p>
11935
11936 <p>My name is Jürgen Leibner, I'm 49 years old and living in
11937 Bielefeld, a town in northern Germany. I worked nearly 20 years as
11938 certified engineer in the department for plant design and layout of an
11939 international company for machinery and equipment. Since 2011 I'm a
11940 certified technical writer (tekom e.V.) and doing technical
11941 documentations for a steam turbine manufacturer. From April this year
11942 I will manage the department of technical documentation at a
11943 manufacturer of automation and assembly line engineering.</p>
11944
11945 <p>My first contact with linux was around 1993. Since that time I used
11946 it at work and at home repeatedly but not exclusively as I do now at
11947 home since 2006.</p>
11948
11949 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
11950 project?</strong></p>
11951
11952 <p>Once a day in the early year of 2001 when I wanted to fetch my
11953 daughter from primary school, there was a teacher sitting in the
11954 middle of 20 old computers trying to boot them and he failed. I helped
11955 him to get them booting. That was seen by the school director and she
11956 asked me if I would like to manage that the school gets all that old
11957 computers in use. I answered: "Yes".</p>
11958
11959 <p>Some weeks later every of the 10 classrooms had one computer
11960 running Windows98. I began to collect old computers and equipment as
11961 gifts and installed the first computer room with a peer-to-peer
11962 network. I did my work at school without being payed in my spare time
11963 and with a lot of fun. About one year later the school was connected
11964 to Internet and a local area network was installed in the school
11965 building. That was the time to have a server and I knew it must be a
11966 Linux server to be able to fulfil all the wishes of the teachers and
11967 being able to do this in a transparent and economic way, without extra
11968 costs for things like licence and software. So I searched for a
11969 school server system running under Linux and I found a couple of
11970 people nearby who founded 'skolelinux.de'. It was the Skolelinux
11971 prerelease 32 I first tried out for being used at the school. I
11972 managed the IT of that school until the municipal authority took over
11973 the IT management and centralised the services for all schools in
11974 Bielefeld in December of 2006.</p>
11975
11976 <p><strong>What do you see as the advantages of Skolelinux/Debian
11977 Edu?</strong></p>
11978
11979 <p>When I'm looking back to the beginning, there were other advantages
11980 for me as today.</p>
11981
11982 <p>In the past there were advantages like:</p>
11983
11984 <p><ul>
11985
11986 <li>I don't need to buy it so it generates no costs to the school as
11987 they had little money to spent for computers and software.</li>
11988
11989 <li>It has a licence which grands all rights to use it without
11990 cost.</li>
11991
11992 <li>It was more able to fit all requirements of a server system for
11993 schools than a Microsoft server system, even if there are only Windows
11994 clients because of it's preconfigured overall concept of being a
11995 infrastructure solution and community for schools, not only a
11996 server</li>
11997
11998 <li>I was able to configure the server to the needs of the
11999 school.</li>
12000
12001 </ul></p>
12002
12003 <p>Today some of the advantages has been lost, changed or new ones
12004 came up in this way:</p>
12005
12006 <p><ul>
12007
12008 <li>Most schools here do have money to buy hardware and software
12009 now.</li>
12010
12011 <li>They are today mostly managed from central IT departments which
12012 have own concepts which often do not fit to Debian Edu concepts
12013 because they are to close to Microsoft ideology.</li>
12014
12015 <li>With the Squeeze version of Debian Edu which now uses GOsa² for
12016 management I feel more able to manage the daily tasks than with the
12017 interfaces used in the past.</li>
12018
12019 <li>It is more modular than in the past and fits even better to the
12020 different needs.</li>
12021
12022 <li>The documentation is usable and gets better every day.</li>
12023
12024 <li>More people than ever before are using Debian Edu all over the
12025 world and so the community, which is an very important part I think,
12026 is sharing knowledge and minds.</li>
12027
12028 <li>Most, maybe all, of the technical requirements for schools are
12029 solved today by Debian Edu. </li>
12030
12031 </ul></p>
12032
12033 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
12034 Edu?</strong></p>
12035
12036 <p><ul>
12037
12038 <li>There are too few IT companies able to integrate Debian Edu into
12039 their product portfolio for serving schools with concepts or even
12040 whole municipality areas.</li>
12041
12042 <li>Debian Edu has beside other free and open software projects not
12043 enough lobbyists which promote free and open software to
12044 politicians.</li>
12045
12046 <li>Technically there are no disadvantages I'm aware of.</li>
12047
12048 </ul></p>
12049
12050 <p><strong>Which free software do you use daily?</strong></p>
12051
12052 <p>I use Debian stable on my home server and on my little desktop
12053 computer. On my laptop I use Debian testing/sid. The applications I
12054 use on my laptop and my desktop are Open/Libre-office, Iceweasel,
12055 KMail, DigiKam, Amarok, Dolphin, okular and all the other programs I
12056 need from the KDE environment. On console I use newsbeuter, mutt,
12057 screen, irssi and all the other famous and useful tools.</p>
12058
12059 <p>My home server provides mail services with exim, dovecot, roundcube
12060 and mutt over ssh on the console, file services with samba, NFS,
12061 rsync, web services with apache, moinmoin-wiki, multimedia services
12062 with gallery2 and mediatomb and database services with MySQL for me
12063 and the whole family. I probably forgot something.</p>
12064
12065 <p><strong>Which strategy do you believe is the right one to use to
12066 get schools to use free software?</strong></p>
12067
12068 <p>I believe, we should provide concepts for IT companies to integrate
12069 Debian Edu into their product portfolio with use cases for different
12070 countries and areas all over the world.</p>
12071
12072 </div>
12073 <div class="tags">
12074
12075
12076 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju</a>.
12077
12078
12079 </div>
12080 </div>
12081 <div class="padding"></div>
12082
12083 <div class="entry">
12084 <div class="title">
12085 <a href="http://people.skolelinux.org/pere/blog/Cutting_it_short___and_picking_the_right_tool_for_the_job.html">Cutting it short - and picking the right tool for the job</a>
12086 </div>
12087 <div class="date">
12088 30th April 2012
12089 </div>
12090 <div class="body">
12091 <p><!-- IMG_5869.JPG -->
12092 <img src="http://people.skolelinux.org/pere/blog/images/panasonic-er-1611.jpeg"></p>
12093
12094 <p>I normally cut my hair short, and my tool of choice has been a
12095 common hair/beard cutter, bought in a electrical shop here in Norway.
12096 But the last ones have not really been up to the task. My last
12097 cutter, some model from Braun, could only cut a few of my hairs at the
12098 time, and cutting my head took forever. And the one before that did
12099 not work very well either. We have looked for something better for a
12100 while, but it was not until I ended up visiting a hairdresser that we
12101 discovered that there are indeed better tools available. But these
12102 are not marketed and sold to "regular consumers". The hair saloons
12103 can get them through their suppliers, but their suppliers only sell
12104 companies. The models they sell, are very different from the ones
12105 available from Elkjøp and Lefdal. The main difference is their
12106 efficiency. It would cut my hair in 5 minutes, instead of the 30-40
12107 minutes required by my impotent Braun. The hairdresser I visited had
12108 a Panasonic ER160, which unfortunately is no longer available from the
12109 producer. But I found it had a successor, the Panasonic ER1611.</p>
12110
12111 <p>The next step was to find somewhere to buy it. This was not
12112 straight forward. The list of suppliers I got from the hairdresser
12113 did not want to sell anything to me. But searching for the model on
12114 the web we found a supplier in Norway willing to sell it to us for
12115 around NOK 4000,-. This was a bit much. We kept searching and
12116 finally found a Danish supplier
12117 <a href="http://nicehair.dk/panasonic-er-1611-professionel-hartrimmer.html">selling
12118 it for around NOK 1800,-</a>. We ordered one, and it arrived a few
12119 days ago.</p>
12120
12121 <p>The instructions said it had to charge for 8 hours when we started
12122 to use it, so we left it charging over night. Normally it will only
12123 need one hour to charge. The following evening we successfully tested
12124 it, and I can warmly recommend it to anyone looking for a real hair
12125 cutter. The ones we have used until now have been hair cutter
12126 toys.</p>
12127
12128 </div>
12129 <div class="tags">
12130
12131
12132 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
12133
12134
12135 </div>
12136 </div>
12137 <div class="padding"></div>
12138
12139 <div class="entry">
12140 <div class="title">
12141 <a href="http://people.skolelinux.org/pere/blog/HTC_One_X___Your_video___What_do_you_mean_.html">HTC One X - Your video? What do you mean?</a>
12142 </div>
12143 <div class="date">
12144 26th April 2012
12145 </div>
12146 <div class="body">
12147 <p>In <a href="http://www.idg.no/computerworld/article243690.ece">an
12148 article today</a> published by Computerworld Norway, the photographer
12149 <a href="http://www.urke.com/eirik/">Eirik Helland Urke</a> reports
12150 that the video editor application included with
12151 <a href="http://www.htc.com/www/smartphones/htc-one-x/#specs">HTC One
12152 X</a> have some quite surprising terms of use. The article is mostly
12153 based on the twitter message from mister Urke, stating:
12154
12155 <p><blockquote>
12156 "<a href="http://twitter.com/urke/status/194062269724897280">Drøy
12157 brukeravtale: HTC kan bruke MINE redigerte videoer kommersielt. Selv
12158 kan jeg KUN bruke dem privat.</a>"
12159 </blockquote></p>
12160
12161 <p>I quickly translated it to this English message:</p>
12162
12163 <p><blockquote>
12164 "Arrogant user agreement: HTC can use MY edited videos
12165 commercially. Although I can ONLY use them privately."
12166 </blockquote></p>
12167
12168 <p>I've been unable to find the text of the license term myself, but
12169 suspect it is a variation of the MPEG-LA terms I
12170 <a href="http://people.skolelinux.org/pere/blog/Terms_of_use_for_video_produced_by_a_Canon_IXUS_130_digital_camera.html">discovered
12171 with my Canon IXUS 130</a>. The HTC One X specification specifies that
12172 the recording format of the phone is .amr for audio and .mp3 for
12173 video. AMR is
12174 <a href="http://en.wikipedia.org/wiki/Adaptive_Multi-Rate_audio_codec#Licensing_and_patent_issues">Adaptive
12175 Multi-Rate audio codec</a> with patents which according to the
12176 Wikipedia article require an license agreement with
12177 <a href="http://www.voiceage.com/">VoiceAge</a>. MP4 is
12178 <a href="http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Patent_licensing">MPEG4 with
12179 H.264</a>, which according to Wikipedia require a licence agreement
12180 with <a href="http://www.mpegla.com/">MPEG-LA</a>.</p>
12181
12182 <p>I know why I prefer
12183 <a href="http://www.digistan.org/open-standard:definition">free and open
12184 standards</a> also for video.</p>
12185
12186 </div>
12187 <div class="tags">
12188
12189
12190 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan</a>, <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/personvern">personvern</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</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>.
12191
12192
12193 </div>
12194 </div>
12195 <div class="padding"></div>
12196
12197 <div class="entry">
12198 <div class="title">
12199 <a href="http://people.skolelinux.org/pere/blog/RAND_terms___non_reasonable_and_discriminatory.html">RAND terms - non-reasonable and discriminatory</a>
12200 </div>
12201 <div class="date">
12202 19th April 2012
12203 </div>
12204 <div class="body">
12205 <p>Here in Norway, the
12206 <a href="http://www.regjeringen.no/nb/dep/fad.html?id=339"> Ministry of
12207 Government Administration, Reform and Church Affairs</a> is behind
12208 a <a href="http://standard.difi.no/forvaltningsstandarder">directory of
12209 standards</a> that are recommended or mandatory for use by the
12210 government. When the directory was created, the people behind it made
12211 an effort to ensure that everyone would be able to implement the
12212 standards and compete on equal terms to supply software and solutions
12213 to the government. Free software and non-free software could compete
12214 on the same level.</p>
12215
12216 <p>But recently, some standards with RAND
12217 (<a href="http://en.wikipedia.org/wiki/Reasonable_and_non-discriminatory_licensing">Reasonable
12218 And Non-Discriminatory</a>) terms have made their way into the
12219 directory. And while this might not sound too bad, the fact is that
12220 standard specifications with RAND terms often block free software from
12221 implementing them. The reasonable part of RAND mean that the cost per
12222 user/unit is low,and the non-discriminatory part mean that everyone
12223 willing to pay will get a license. Both sound great in theory. In
12224 practice, to get such license one need to be able to count users, and
12225 be able to pay a small amount of money per unit or user. By
12226 definition, users of free software do not need to register their use.
12227 So counting users or units is not possible for free software projects.
12228 And given that people will use the software without handing any money
12229 to the author, it is not really economically possible for a free
12230 software author to pay a small amount of money to license the rights
12231 to implement a standard when the income available is zero. The result
12232 in these situations is that free software are locked out from
12233 implementing standards with RAND terms.</p>
12234
12235 <p>Because of this, when I see someone claiming the terms of a
12236 standard is reasonable and non-discriminatory, all I can think of is
12237 how this really is non-reasonable and discriminatory. Because free
12238 software developers are working in a global market, it does not really
12239 help to know that software patents are not supposed to be enforceable
12240 in Norway. The patent regimes in other countries affect us even here.
12241 I really hope the people behind the standard directory will pay more
12242 attention to these issues in the future.</p>
12243
12244 <p>You can find more on the issues with RAND, FRAND and RAND-Z terms
12245 from Simon Phipps
12246 (<a href="http://blogs.computerworlduk.com/simon-says/2010/11/rand-not-so-reasonable/">RAND:
12247 Not So Reasonable?</a>).</p>
12248
12249 <p>Update 2012-04-21: Just came across a
12250 <a href="http://blogs.computerworlduk.com/open-enterprise/2012/04/of-microsoft-netscape-patents-and-open-standards/index.htm">blog
12251 post from Glyn Moody</a> over at Computer World UK warning about the
12252 same issue, and urging people to speak out to the UK government. I
12253 can only urge Norwegian users to do the same for
12254 <a href="http://www.standard.difi.no/hoyring/hoyring-om-nye-anbefalte-it-standarder">the
12255 hearing taking place at the moment</a> (respond before 2012-04-27).
12256 It proposes to require video conferencing standards including
12257 specifications with RAND terms.</p>
12258
12259 </div>
12260 <div class="tags">
12261
12262
12263 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/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
12264
12265
12266 </div>
12267 </div>
12268 <div class="padding"></div>
12269
12270 <div class="entry">
12271 <div class="title">
12272 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Andreas_Mundt.html">Debian Edu interview: Andreas Mundt</a>
12273 </div>
12274 <div class="date">
12275 15th April 2012
12276 </div>
12277 <div class="body">
12278 <p>Behind <a href="http://www.skolelinux.org/">Debian Edu and
12279 Skolelinux</a> there are a lot of people doing the hard work of
12280 setting together all the pieces. This time I present to you Andreas
12281 Mundt, who have been part of the technical development team several
12282 years. He was also a key contributor in getting GOsa and Kerberos set
12283 up in the recently released
12284 <a href="http://wiki.debian.org/DebianEdu/Documentation/Squeeze">Debian
12285 Edu Squeeze</a> version.</p>
12286
12287 <p><strong>Who are you, and how do you spend your days?</strong></p>
12288
12289 <p>My name is Andreas Mundt, I grew up in south Germany. After
12290 studying Physics I spent several years at university doing research in
12291 Quantum Optics. After that I worked some years in an optics company.
12292 Finally I decided to turn over a new leaf in my life and started
12293 teaching 10 to 19 years old kids at school. I teach math, physics,
12294 information technology and science/technology.</p>
12295
12296 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
12297 project?</strong></p>
12298
12299 <p>Already before I switched to teaching, I followed the Debian Edu
12300 project because of my interest in education and Debian. Within the
12301 qualification/training period for the teaching, I started
12302 contributing.</p>
12303
12304 <p><strong>What do you see as the advantages of Skolelinux/Debian
12305 Edu?</strong></p>
12306
12307 <p>The advantages of Debian Edu are the well known name, the
12308 out-of-the-box philosophy and of course the great free software of the
12309 Debian Project!</p>
12310
12311 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
12312 Edu?</strong></p>
12313
12314 <p>As every coin has two sides, the out-of-the-box philosophy has its
12315 downside, too. In my opinion, it is hard to modify and tweak the
12316 setup, if you need or want that. Further more, it is not easily
12317 possible to upgrade the system to a new release. It takes much too
12318 long after a Debian release to prepare the -Edu release, perhaps
12319 because the number of developers working on the core of the code is
12320 rather small and often busy elsewhere.</p>
12321
12322 <p>The <a href="http://wiki.debian.org/DebianLAN">Debian LAN</a>
12323 project might fill the use case of a more flexible system.</p>
12324
12325 <p><strong>Which free software do you use daily?</strong></p>
12326
12327 <p>I am only using non-free software if I am forced to and run Debian
12328 on all my machines. For documents I prefer LaTeX and PGF/TikZ, then
12329 mutt and iceweasel for email respectively web browsing. At school I
12330 have Arduino and Fritzing in use for a micro controller project.</p>
12331
12332 <p><strong>Which strategy do you believe is the right one to use to
12333 get schools to use free software?</strong></p>
12334
12335 <p>One of the major problems is the vendor lock-in from top to bottom:
12336 Especially in combination with ignorant government employees and
12337 politicians, this works out great for the "market-leader". The school
12338 administration here in Baden-Wuerttemberg is occupied by that vendor.
12339 Documents have to be prepared in non-free, proprietary formats. Even
12340 free browsers do not work for the school administration. Publishers
12341 of school books provide software only for proprietary platforms.</p>
12342
12343 <p>To change this, political work is very important. Parts of the
12344 political spectrum have become aware of the problem in the last years.
12345 However it takes quite some time and courageous politicians to 'free'
12346 the system. There is currently some discussion about "Open Data" and
12347 "Free/Open Standards". I am not sure if all the involved parties have
12348 a clue about the potential of these ideas, and probably only a
12349 fraction takes them seriously. However it might slowly make free
12350 software and the philosophy behind it more known and popular.</p>
12351
12352 </div>
12353 <div class="tags">
12354
12355
12356 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju</a>.
12357
12358
12359 </div>
12360 </div>
12361 <div class="padding"></div>
12362
12363 <div class="entry">
12364 <div class="title">
12365 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Justin_B__Rye.html">Debian Edu interview: Justin B. Rye</a>
12366 </div>
12367 <div class="date">
12368 8th April 2012
12369 </div>
12370 <div class="body">
12371 <p>It take all kind of contributions to create a Linux distribution
12372 like <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a>,
12373 and this time I lend the ear to Justin B. Rye, who is listed as a big
12374 contributor to the
12375 <a href="http://wiki.debian.org/DebianEdu/Documentation/Squeeze">Debian
12376 Edu Squeeze release manual</a>.
12377
12378 <p><strong>Who are you, and how do you spend your days?</strong></p>
12379
12380 <p>I'm a 44-year-old linguistics graduate living in Edinburgh who has
12381 occasionally been employed as a sysadmin.</p>
12382
12383 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
12384 project?</strong></p>
12385
12386 <p>I'm neither a developer nor a Skolelinux/Debian Edu user! The only
12387 reason my name's in the credits for the documentation is that I hang
12388 around on debian-l10n-english waiting for people to mention things
12389 they'd like a native English speaker to proofread... So I did a sweep
12390 through the wiki for typos and Norglish and inconsistent spellings of
12391 "localisation".</p>
12392
12393 <p><strong>What do you see as the advantages of Skolelinux/Debian
12394 Edu?</strong></p>
12395
12396 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
12397 Edu?</strong></p>
12398
12399 <p>These questions are too hard for me - I don't use it! In fact I
12400 had hardly any contact with I.T. until long after I'd got out of the
12401 education system.</p>
12402
12403 <p>I can tell you the advantages of Debian for me though: it soaks up
12404 as much of my free time as I want and no more, and lets me do
12405 everything I want a computer for without ever forcing me to spend
12406 money on the latest hardware.</p>
12407
12408 <p><strong>Which free software do you use daily?</strong></p>
12409
12410 <p>I've been using Debian since Rex; popularity-contest says the
12411 software that I use most is xinit, xterm, and xulrunner (in other
12412 words, I use a distinctly retro sort of desktop).</p>
12413
12414 <p><strong>Which strategy do you believe is the right one to use to
12415 get schools to use free software?</strong></p>
12416
12417 <p>Well, I don't know. I suppose I'd be inclined to try reasoning
12418 with the people who make the decisions, but obviously if that worked
12419 you would hardly need a strategy.</p>
12420
12421 </div>
12422 <div class="tags">
12423
12424
12425 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju</a>.
12426
12427
12428 </div>
12429 </div>
12430 <div class="padding"></div>
12431
12432 <div class="entry">
12433 <div class="title">
12434 <a href="http://people.skolelinux.org/pere/blog/Why_the_KDE_menu_is_slow_when__usr__is_NFS_mounted___and_a_workaround.html">Why the KDE menu is slow when /usr/ is NFS mounted - and a workaround</a>
12435 </div>
12436 <div class="date">
12437 6th April 2012
12438 </div>
12439 <div class="body">
12440 <p>Recently I have spent time with
12441 <a href="http://www.slxdrift.no/">Skolelinux Drift AS</a> on speeding
12442 up a <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a>
12443 Lenny installation using LTSP diskless workstations, and in the
12444 process I discovered something very surprising. The reason the KDE
12445 menu was responding slow when using it for the first time, was mostly
12446 due to the way KDE find application icons. I discovered that showing
12447 the Multimedia menu would cause more than 20 000 IP packages to be
12448 passed between the LTSP client and the NFS server. Most of these were
12449
12450 NFS LOOKUP calls, resulting in a NFS3ERR_NOENT response. Because the
12451 ping times between the client and the server were in the range 2-20
12452 ms, the menus would be very slow. Looking at the strace of kicker in
12453 Lenny (or plasma-desktop i Squeeze - same problem there), I see that
12454 the source of these NFS calls are access(2) system calls for
12455 non-existing files. KDE can do hundreds of access(2) calls to find
12456 one icon file. In my example, just finding the mplayer icon required
12457 around 230 access(2) calls.</p>
12458
12459 <p>The KDE code seem to search for icons using a list of icon
12460 directories, and the list of possible directories is large. In
12461 (almost) each directory, it look for files ending in .png, .svgz, .svg
12462 and .xpm. The result is a very slow KDE menu when /usr/ is NFS
12463 mounted. Showing a single sub menu may result in thousands of NFS
12464 requests. I am not the first one to discover this. I found a
12465 <a href="https://bugs.kde.org/show_bug.cgi?id=211416">KDE bug report
12466 from 2009</a> about this problem, and it is still unsolved.</p>
12467
12468 <p>My solution to speed up the KDE menu was to create a package
12469 kde-icon-cache that upon installation will look at all .desktop files
12470 used to generate the KDE menu, find their icons, search the icon paths
12471 for the file that KDE will end up finding at run time, and copying the
12472 icon file to /var/lib/kde-icon-cache/. Finally, I add symlinks to
12473 these icon files in one of the first directories where KDE will look
12474 for them. This cut down the number of file accesses required to find
12475 one icon from several hundred to less than 5, and make the KDE menu
12476 almost instantaneous. I'm not quite sure where to make the package
12477 publicly available, so for now it is only available on request.</p>
12478
12479 <p>The bug report mention that this do not only affect the KDE menu
12480 and icon handling, but also the login process. Not quite sure how to
12481 speed up that part without replacing NFS with for example NBD, and
12482 that is not really an option at the moment.</p>
12483
12484 <p>If you got feedback on this issue, please let us know on debian-edu
12485 (at) lists.debian.org.</p>
12486
12487 </div>
12488 <div class="tags">
12489
12490
12491 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
12492
12493
12494 </div>
12495 </div>
12496 <div class="padding"></div>
12497
12498 <div class="entry">
12499 <div class="title">
12500 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_in_the_Linux_Weekly_News.html">Debian Edu in the Linux Weekly News</a>
12501 </div>
12502 <div class="date">
12503 5th April 2012
12504 </div>
12505 <div class="body">
12506 <p>About two weeks ago, I was interviewed via email about
12507 <a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a> by
12508 Bruce Byfield in Linux Weekly News. The result was made public for
12509 non-subscribers today. I am pleased to see liked our Linux solution
12510 for schools. Check out his article
12511 <a href="https://lwn.net/Articles/488805/">Debian Edu/Skolelinux: A
12512 distribution for education</a> if you want to learn more.</p>
12513
12514 </div>
12515 <div class="tags">
12516
12517
12518 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
12519
12520
12521 </div>
12522 </div>
12523 <div class="padding"></div>
12524
12525 <div class="entry">
12526 <div class="title">
12527 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Wolfgang_Schweer.html">Debian Edu interview: Wolfgang Schweer</a>
12528 </div>
12529 <div class="date">
12530 1st April 2012
12531 </div>
12532 <div class="body">
12533 <p>Germany is a core area for the
12534 <a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>
12535 user community, and this time I managed to get hold of Wolfgang
12536 Schweer, a valuable contributor to the project from Germany.
12537
12538 <p><strong>Who are you, and how do you spend your days?</strong></p>
12539
12540 <p>I've studied Mathematics at the university 'Ruhr-Universität' in
12541 Bochum, Germany. Since 1981 I'm working as a teacher at the school
12542 "<a href="http://www.westfalenkolleg-dortmund.de/">Westfalen-Kolleg
12543 Dortmund</a>", a second chance school. Here, young adults is given
12544 the opportunity to get further education in order to do the school
12545 examination 'Abitur', which will allow to study at a university. This
12546 second chance is of value for those who want a better job perspective
12547 or failed to get a higher school examination being teens.</p>
12548
12549 <p>Besides teaching I was involved in developing online courses for a
12550 blended learning project called 'abitur-online.nrw' and in some other
12551 information technology related projects. For about ten years I've been
12552 teacher and coordinator for the 'abitur-online' project at my
12553 school. Being now in my early sixties, I've decided to leave school at
12554 the end of April this year.</p>
12555
12556 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
12557 project?</strong></p>
12558
12559 <p>The first information about Skolelinux must have come to my
12560 attention years ago and somehow related to LTSP (Linux Terminal Server
12561 Project). At school, we had set up a network at the beginning of 1997
12562 using Suse Linux on the desktop, replacing a Novell network. Since
12563 2002, we used old machines from the city council of Dortmund as thin
12564 clients (LTSP, later Ubuntu/Lessdisks) cause new hardware was out of
12565 reach. At home I'm using Debian since years and - subscribed to the
12566 Debian news letter - heard from time to time about Skolelinux. About
12567 two years ago I proposed to replace the (somehow undocumented and only
12568 known to me) system at school by a well known Debian based system:
12569 Skolelinux.</p>
12570
12571 <p>Students and teachers appreciated the new system because of a
12572 better look and feel and an enhanced access to local media on thin
12573 clients. The possibility to alter and/or reset passwords using a GUI
12574 was welcomed, too. Being able to do administrative tasks using a GUI
12575 and to easily set up workstations using PXE was of very high value for
12576 the admin teachers.</p>
12577
12578 <p><strong>What do you see as the advantages of Skolelinux/Debian
12579 Edu?</strong></p>
12580
12581 <p>It's open source, easy to set up, stable and flexible due to it's
12582 Debian base. It integrates LTSP out-of-the-box. And it is documented!
12583 So it was a perfect choice.</p>
12584
12585 <p>Being open source, there are no license problems and so it's
12586 possible to point teachers and students to programs like
12587 OpenOffice.org, ViewYourMind (mind mapping) and The Gimp. It's of
12588 high value to be able to adapt parts of the system to special needs of
12589 a school and to choose where to get support for this.</p>
12590
12591 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
12592 Edu?</strong></p>
12593
12594 <p>Nothing yet.</p>
12595
12596 <p><strong>Which free software do you use daily?</strong></p>
12597
12598 <p>At home (Debian Sid with Gnome Desktop): Iceweasel, LibreOffice,
12599 Mutt, Gedit, Document Viewer, Midnight Commander, flpsed (PDF
12600 Annotator). At school (Skolelinux Lenny): Iceweasel, Gedit,
12601 LibreOffice.</p>
12602
12603 <p><strong>Which strategy do you believe is the right one to use to
12604 get schools to use free software?</strong></p>
12605
12606 <p>Some time ago I thought it was enough to tell people about it. But
12607 that doesn't seem to work quite well. Now I concentrate on those more
12608 interested and hope to get multiplicators that way.</p>
12609
12610 </div>
12611 <div class="tags">
12612
12613
12614 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju</a>.
12615
12616
12617 </div>
12618 </div>
12619 <div class="padding"></div>
12620
12621 <div class="entry">
12622 <div class="title">
12623 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_screencast__Checking_email_with_kmail_using_Kerberos_authentication.html">Debian Edu screencast: Checking email with kmail using Kerberos authentication</a>
12624 </div>
12625 <div class="date">
12626 25th March 2012
12627 </div>
12628 <div class="body">
12629 <!-- Video HTML based on http://www.diveintohtml5.net/video.html -->
12630
12631 <p>The same Debian Edu developer that did the last screen cast I
12632 published, Wolfgang Schweer, has created a new screen cast showing how
12633 to set up Kmail in Debian Edu Squeze to authenticate using Kerberos,
12634 allowing users to check their local email account without providing
12635 any password. The video is embedded here in quarter size,
12636 and also available from <a href="https://vimeo.com/38601767">vimeo</a>
12637 and download as a
12638 <a href="http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-03-14-Debian-Edu_Configure_Kmail_for_internal_usage.ogv">Ogg
12639 Theora</a> file. Check it out below.</p>
12640
12641 <p><video id="kmail-kerberos-movie" width="256" height="184" preload controls>
12642 <source src="http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-03-14-Debian-Edu_Configure_Kmail_for_internal_usage.ogv" type='video/ogg; codecs="theora, vorbis"' />
12643 <p>Download video as
12644 <a href="http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-03-14-Debian-Edu_Configure_Kmail_for_internal_usage.ogv">Ogg</a>.</p>
12645 </video></p>
12646
12647 </div>
12648 <div class="tags">
12649
12650
12651 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
12652
12653
12654 </div>
12655 </div>
12656 <div class="padding"></div>
12657
12658 <div class="entry">
12659 <div class="title">
12660 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__John_Ingleby.html">Debian Edu interview: John Ingleby</a>
12661 </div>
12662 <div class="date">
12663 19th March 2012
12664 </div>
12665 <div class="body">
12666 <p><a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a>
12667 users are spread all across the globe. The second inteview after
12668 <a href="http://lists.debian.org/debian-edu-announce/2012/03/msg00001.html">the
12669 Squeeze release</a> was publised is with John Ingleby, a teacher and
12670 long time Linux user in United Kingdom.</p>
12671
12672 <p><strong>Who are you, and how do you spend your days?</strong></p>
12673
12674 <p>I teach ICT part time at the Rudolf Steiner School in Kings
12675 Langley, near London, UK. Previously I worked as a technical
12676 author/trainer while my children attended the school, and I also
12677 contributed to the Schoolforge UK community with the aim of
12678 encouraging UK schools to adopt free/open source software. Five or six
12679 years ago we had about 50 schools interested in some way, but we
12680 weren't able to convert many of them into sustainable
12681 installations.</p>
12682
12683 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
12684 project?</strong></p>
12685
12686 <p>Skolelinux had two representatives at an early Edubuntu meeting in
12687 London which I attended. However at that time our school network had
12688 just been installed using CentOS, LTSP 4 and GNOME. When LTSP 5 came
12689 along we switched to Edubuntu thin client servers so now we have a
12690 mixed environment which includes Windows PCs and student laptops, as
12691 well as their MacBooks and iPads. However, the proprietary systems
12692 have always been rather problematic, and we never built a GUI for the
12693 LDAP server, so when I discovered Skolelinux is configured for all
12694 these things we decided to try it.</p>
12695
12696 <p><strong>What do you see as the advantages of Skolelinux/Debian
12697 Edu?</strong></p>
12698
12699 <p>By far the biggest advantage is the Debian Edu community. Apart
12700 from that I have always believed in the same "sustainable computing"
12701 goals that Skolelinux is built on: installing Linux on computers which
12702 would otherwise be thrown away, to provide a reliable, secure and
12703 low-cost IT environment for schools. From my own experience I know
12704 that a part-time person can teach and manage a network of about 25
12705 Linux computers, but it would take much more of my time if we had
12706 proprietary software everywhere.</p>
12707
12708 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
12709 Edu?</strong></p>
12710
12711 <p>As a newcomer I'm just finding out who's who in the community and
12712 how you're organised, and what your procedures are for dealing with
12713 various things such as editing manual pages and so-on. The only
12714 English language mailing list seems to be for developers as well as
12715 users, so my inbox needs heavy pruning each day!</p>
12716
12717 <p><strong>Which free software do you use daily?</strong></p>
12718
12719 <p>Besides the software already mentioned at school we use Samba,
12720 OpenLDAP, CUPS, Nagios and Dansguardian for the network, and on the
12721 desktops we have LibreOffice, Firefox, GIMP and Inkscape. At home I
12722 use Ubuntu and an Android 4 eePad Transformer (but I'm not sure if
12723 that counts...)</p>
12724
12725 <p><strong>Which strategy do you believe is the right one to use to
12726 get schools to use free software?</strong></p>
12727
12728 <p>That's a tough question! For very many years UK schools installed
12729 and taught only proprietary software, so that at the highest levels
12730 the notion of "computer" means simply "proprietary office
12731 applications". However, schools today are experiencing budget
12732 constraints, and many are having to think hard about upgrading Windows
12733 XP. At the same time, we have students showing teachers how to use
12734 iPads, MacBooks and Android, so the choice of operating system is no
12735 longer quite so automatic. What is more, our government at last
12736 realised that we need people with programming skills, so they're
12737 putting coding back in the curriculum! And it's encouraging that the
12738 first 10,000 Raspberry Pi units sold out in 2 hours.</p>
12739
12740 <p>I don't really know what strategy is going to get UK schools to use
12741 free software, but building an active community of Skolelinux/Debian
12742 Edu users in this country has to be part of it.</p>
12743
12744 </div>
12745 <div class="tags">
12746
12747
12748 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju</a>.
12749
12750
12751 </div>
12752 </div>
12753 <div class="padding"></div>
12754
12755 <div class="entry">
12756 <div class="title">
12757 <a href="http://people.skolelinux.org/pere/blog/Writing_and_translating_documentation_in_Debian_Edu.html">Writing and translating documentation in Debian Edu</a>
12758 </div>
12759 <div class="date">
12760 16th March 2012
12761 </div>
12762 <div class="body">
12763 <p>Documentation in Debian Edu is provided in several languages, and
12764 it is important to make it both easy to contribute and to keep the
12765 translated versions in sync. To do this we have come up with what we
12766 believe is a very efficient work flow.</p>
12767
12768 <ol>
12769
12770 <li>The documentation is written in a
12771 <a href="http://moinmo.in">moinmoin wiki</a> (see for example
12772 <a href="http://wiki.debian.org/DebianEdu/Documentation/Squeeze">the
12773 Squeeze release manual</a>) with support for exporting the content as
12774 docbook XML.</li>
12775
12776 <li>This docbook document is given to po4a to extract a gettext style
12777 .pot file with the content, which in turn is used to create .po files
12778 with the translated text.</li>
12779
12780 <li>The .po files are given to translators, and they can always tell
12781 which part of the original wiki document is new or changed. They can
12782 use their normal translation tools like lokalize or poedit to write
12783 the translation. There is even a system in place to handle translated
12784 images.</li>
12785
12786 <li>The translated .po files are combined with the original docbook
12787 XML document using po4a to create a translated docbook document.</li>
12788
12789 <li>The final step is to use all the generated docbook files and
12790 create PDF and HTML version of the original and translated documents.</li>
12791
12792 </ol>
12793
12794 <p>This setup work very well, but have a few issues. The biggest
12795 issue is that <a href="http://moinmo.in/DocBook">the docbook support
12796 we use in moinmoin</a> is not actively maintained. The docbook
12797 support is also buggy, and our build system contain workarounds to
12798 make sure the generated docbook is usable despite these bugs.</p>
12799
12800 <p>If you want to have a look at our setup, it is all there in the
12801 <a href="http://packages.qa.debian.org/debian-edu-doc">debian-edu-doc
12802 package</a>.</p>
12803
12804 </div>
12805 <div class="tags">
12806
12807
12808 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
12809
12810
12811 </div>
12812 </div>
12813 <div class="padding"></div>
12814
12815 <div class="entry">
12816 <div class="title">
12817 <a href="http://people.skolelinux.org/pere/blog/Skolelinux___Debian_Edu_Squeeze_is_out_.html">Skolelinux / Debian Edu Squeeze is out!</a>
12818 </div>
12819 <div class="date">
12820 11th March 2012
12821 </div>
12822 <div class="body">
12823 <p>This weekend we finally published the first stable release of
12824 <a href="http://www.skolelinux.org/">Skolelinux / Debian Edu</a> based
12825 on Debian/Squeeze. The full announcement is
12826 <a href="http://lists.debian.org/debian-edu-announce/2012/03/msg00001.html">available</a>
12827 from the project announcement list. Now is a good time to test if it
12828 you have not done so already.</p>
12829
12830 <p>I plan to present the new version at
12831 <a href="http://www.nuug.no/aktiviteter/20120313-skolelinux/">a NUUG
12832 meeting</a> on tuesday. I look forward to seeing you there if you are
12833 in Oslo, Norway.</p>
12834
12835 </div>
12836 <div class="tags">
12837
12838
12839 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
12840
12841
12842 </div>
12843 </div>
12844 <div class="padding"></div>
12845
12846 <div class="entry">
12847 <div class="title">
12848 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Nigel_Barker.html">Debian Edu interview: Nigel Barker</a>
12849 </div>
12850 <div class="date">
12851 9th March 2012
12852 </div>
12853 <div class="body">
12854 <p>Inspired by <a href="http://raphaelhertzog.com/tag/interview/">the
12855 interview series</a> conducted by Raphael, I started a Norwegian
12856 interview series with people involved in the Debian Edu / Skolelinux
12857 community. This was so popular that I believe it is time to move to a
12858 more international audience.</p>
12859
12860 <p>While <a href="http://www.skolelinux.org/">Debian Edu and
12861 Skolelinux</a> originated in France and Norway, and have most users in
12862 Europe, there are users all around the globe. One of those far away
12863 from me is Nigel Barker, a long time Debian Edu system administrator
12864 and contributor. It is thanks to him that Debian Edu is adjusted to
12865 work out of the box in Japan. I got him to answer a few questions,
12866 and am happy to share the response with you. :)
12867
12868
12869 <p><strong>Who are you, and how do you spend your days?</strong></p>
12870
12871 <p>My name is Nigel Barker, and I am British. I am married to Yumiko,
12872 and we have three lovely children, aged 15, 14 and 4(!) I am the IT
12873 Coordinator at Hiroshima International School, Japan. I am also a
12874 teacher, and in fact I spend most of my day teaching Mathematics,
12875 Science, IT, and Chemistry. I was originally a Chemistry teacher, but
12876 I have always had an interest in computers. Another teacher teaches
12877 primary school IT, but apart from that I am the only computer person,
12878 so that means I am the network manager, technician and webmaster,
12879 also, and I help people with their computer problems. I teach python
12880 to beginners in an after-school club. I am way too busy, so I really
12881 appreciate the simplicity of Skolelinux.</p>
12882
12883 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
12884 project?</strong></p>
12885
12886 <p>In around 2004 or 5 I discovered the ltsp project, and set up a
12887 server in the IT lab. I wanted some way to connect it to our central
12888 samba server, which I was also quite poor at configuring. I discovered
12889 Edubuntu when it came out, but it didn't really improve my setup. I
12890 did various desperate searches for things like "school Linux server"
12891 and ended up in a document called "Drift" something or other. Reading
12892 there it became clear that Skolelinux was going to solve all my
12893 problems in one go. I was very excited, but apprehensive, because my
12894 previous attempts to install Debian had ended in failure (I used
12895 Mandrake for everything - ltsp, samba, apache, mail, ns...). I
12896 downloaded a beta version, had some problems, so subscribed to the
12897 Debian Edu list for help. I have remained subscribed ever since, and
12898 my school has run a Skolelinux network since Sarge.</p>
12899
12900 <p><strong>What do you see as the advantages of Skolelinux/Debian
12901 Edu?</strong></p>
12902
12903 <p>For me the integrated setup. This is not just the server, or the
12904 workstation, or the ltsp. Its all of them, and its all configured
12905 ready to go. I read somewhere in the early documentation that it is
12906 designed to be setup and managed by the Maths or Science teacher, who
12907 doesn't necessarily know much about computers, in a small Norwegian
12908 school. That describes me perfectly if you replace Norway with
12909 Japan.</p>
12910
12911 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
12912 Edu?</strong></p>
12913
12914 <p>The desktop is fairly plain. If you compare it with Edubuntu, who
12915 have fun themes for children, or with distributions such as Mint, who
12916 make the desktop beautiful. They create a good impression on people
12917 who don't need to understand how to use any of it, but who might be
12918 important to the school. School administrators or directors, for
12919 instance, or parents. Even kids. Debian itself usually has ugly
12920 default theme settings. It was my dream a few years back that some
12921 kind of integration would allow Edubuntu to do the desktop stuff and
12922 Debian Edu the servers, but now I realise how impossible that is. A
12923 second disadvantage is that if something goes wrong, or you need to
12924 customise something, then suddenly the level of expertise required
12925 multiplies. For example, backup wasn't working properly in Lenny. It
12926 took me ages to learn how to set up my own server to do rsync backups.
12927 I am afraid of anything to do with ldap, but perhaps Gosa will
12928 help.</p>
12929
12930 <p><strong>Which free software do you use daily?</strong></p>
12931
12932 <p>Nowadays I only use Debian on my personal computers. I have one for
12933 studio work (I play guitar and write songs), running AV Linux
12934 (customised Debian) a netbook running Squeeze, and a bigger laptop
12935 still running Skolelinux Lenny workstation. I have a Tjener in my
12936 house, that's very useful for the family photos and music. At school
12937 the students only use Skolelinux. (Some teachers and the office still
12938 have windows). So that means we only use free software all day every
12939 day. Open office, The GIMP, Firefox/Iceweasel, VLC and Audacity are
12940 installed on every computer in school, irrespective of OS. We also
12941 have Koha on Debian for the library, and Apache, Moodle, b2evolution
12942 and Etomite on Debian for the www. The firewall is Untangle.</p>
12943
12944 <p><strong>Which strategy do you believe is the right one to use to
12945 get schools to use free software?</strong></p>
12946
12947 <p>Current trends are in our favour. Open source is big in industry,
12948 and ordinary people have heard of it. The spread of Android and the
12949 popularity of Apple have helped to weaken the impression that you have
12950 to have Microsoft on everything. People complain to me much less about
12951 file formats and Word than they did 5 years ago. The Edu aspect is
12952 also a selling point. This is all customised for schools. Where is the
12953 Windows-edu, or the Mac-edu? But of course the main attraction is
12954 budget.The trick is to convince people that the quality is not
12955 compromised when you stop paying and use free software instead. That
12956 is one reason why I say the desktop experience is a weakness. People
12957 are not impressed when their USB drive doesn't work, or their browser
12958 doesn't play flash, for example.</p>
12959
12960 </div>
12961 <div class="tags">
12962
12963
12964 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju</a>.
12965
12966
12967 </div>
12968 </div>
12969 <div class="padding"></div>
12970
12971 <div class="entry">
12972 <div class="title">
12973 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_screencast__Mass_creation_of_user_accounts_in_Squeeze.html">Debian Edu screencast: Mass creation of user accounts in Squeeze</a>
12974 </div>
12975 <div class="date">
12976 7th March 2012
12977 </div>
12978 <div class="body">
12979 <!-- Video HTML based on http://www.diveintohtml5.net/video.html -->
12980
12981 <p>One of the Debian Edu developers, Wolfgang Schweer, just created a
12982 screen cast documenting how to create a lot of new users in LDAP on
12983 Debian Edu Squeeze. The video is embedded here in quarter size, and
12984 also available from <a href="http://vimeo.com/37675399">vimeo</a> and
12985 download as a
12986 <a href="http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-02-29-debian_edu_mass_create_user_accounts.ogv">Ogg
12987 Theora</a> file. Check it out below.</p>
12988
12989 <p><video id="gosa-mass-user-create-movie" width="256" height="184" preload controls>
12990 <source src="http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-02-29-debian_edu_mass_create_user_accounts.ogv" type='video/ogg; codecs="theora, vorbis"' />
12991 <p>Download video as
12992 <a href="http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-02-29-debian_edu_mass_create_user_accounts.ogv">Ogg</a>.</p>
12993 </video></p>
12994
12995 </div>
12996 <div class="tags">
12997
12998
12999 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
13000
13001
13002 </div>
13003 </div>
13004 <div class="padding"></div>
13005
13006 <div class="entry">
13007 <div class="title">
13008 <a href="http://people.skolelinux.org/pere/blog/Third_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html">Third release candidate of Debian Edu / Skolelinux based on Squeeze</a>
13009 </div>
13010 <div class="date">
13011 4th March 2012
13012 </div>
13013 <div class="body">
13014 <p>This weekend we wrapped up and published the third release
13015 candidate for <a href="http://www.skolelinux.org/">Debian Edu /
13016 Skolelinux</a> based on Squeeze. The full announcement is
13017 <a href="http://lists.debian.org/debian-edu-announce/2012/03/msg00000.html">available</a>
13018 from the project announcement list. Check it out if you
13019 need a software solution for your school.</p>
13020
13021 </div>
13022 <div class="tags">
13023
13024
13025 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
13026
13027
13028 </div>
13029 </div>
13030 <div class="padding"></div>
13031
13032 <div class="entry">
13033 <div class="title">
13034 <a href="http://people.skolelinux.org/pere/blog/Stopmotion_for_making_stop_motion_animations_on_Linux___reloaded.html">Stopmotion for making stop motion animations on Linux - reloaded</a>
13035 </div>
13036 <div class="date">
13037 3rd March 2012
13038 </div>
13039 <div class="body">
13040 <p>Many years ago, the <a href="http://www.skolelinux.org/">Skolelinux
13041 / Debian Edu project</a> initiated a student project to create a tool
13042 for making stop motion movies. The proposal came from a teacher
13043 needing such tool on Skolelinux. The project, called "stopmotion",
13044 was manned by two extraordinary students and won a school award and a
13045 national aware with this great project. The project was initiated and
13046 mentored by Herman Robak, and manned by the students Bjørn Erik Nilsen
13047 and Fredrik Berg Kjølstad. They got in touch with people at Aardman
13048 Animation studio and received feedback on how professionals would like
13049 such stopmotion tool to work, and the end result was and is used by
13050 animators around the globe. But as is usual after studying, both got
13051 jobs and went elsewhere, and did not have time to properly tend to the
13052 project, and it has been lingering for a few years now. Until last
13053 year...</p>
13054
13055 <p>Last year some of the users got together with Herman, and moved the
13056 project to Sourceforge and in effect restarted the project under a new
13057 name,
13058 <a href="http://sourceforge.net/projects/linuxstopmotion/">linuxstopmotion</a>.
13059 The name change was done to make it possible to find the project using
13060 Internet search engines (try to search for 'stopmotion' to see what I
13061 mean). I've been following
13062 <a href="https://lists.sourceforge.net/lists/listinfo/linuxstopmotion-community">the
13063 mailing list</a> and the improvement already in place and planned for
13064 the future is encouraging. If you want to make stop motion movies.
13065 Check it out. :)</p>
13066
13067 </div>
13068 <div class="tags">
13069
13070
13071 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
13072
13073
13074 </div>
13075 </div>
13076 <div class="padding"></div>
13077
13078 <div class="entry">
13079 <div class="title">
13080 <a href="http://people.skolelinux.org/pere/blog/Second_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html">Second release candidate of Debian Edu / Skolelinux based on Squeeze</a>
13081 </div>
13082 <div class="date">
13083 27th February 2012
13084 </div>
13085 <div class="body">
13086 <p>This weekend we wrapped up and published the second release
13087 candidate for <a href="http://www.skolelinux.org/">Debian Edu /
13088 Skolelinux</a> based on Squeeze. The full announcement did for some
13089 reason not make it the project announcement list, but is
13090 <a href="http://lists.debian.org/debian-devel-announce/2012/02/msg00015.html">available</a>
13091 from the Debian development announcement list. Check it out if you
13092 need a software solution for your school.</p>
13093
13094 </div>
13095 <div class="tags">
13096
13097
13098 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
13099
13100
13101 </div>
13102 </div>
13103 <div class="padding"></div>
13104
13105 <div class="entry">
13106 <div class="title">
13107 <a href="http://people.skolelinux.org/pere/blog/First_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html">First release candidate of Debian Edu / Skolelinux based on Squeeze</a>
13108 </div>
13109 <div class="date">
13110 19th February 2012
13111 </div>
13112 <div class="body">
13113 <p>One week delayed due to DVD build problems, we managed today to
13114 wrap up and publish the first release candidate for
13115 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> based
13116 on Squeeze. The full announcement is
13117 <a href="http://lists.debian.org/debian-edu-announce/2012/02/msg00001.html">available</a>
13118 on the project announcement list. Check it out if you need a software
13119 solution for your school.</p>
13120
13121 </div>
13122 <div class="tags">
13123
13124
13125 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
13126
13127
13128 </div>
13129 </div>
13130 <div class="padding"></div>
13131
13132 <div class="entry">
13133 <div class="title">
13134 <a href="http://people.skolelinux.org/pere/blog/How_to_figure_out_which_RAID_disk_to_replace_when_it_fail.html">How to figure out which RAID disk to replace when it fail</a>
13135 </div>
13136 <div class="date">
13137 14th February 2012
13138 </div>
13139 <div class="body">
13140 <p>Once in a while my home server have disk problems. Thanks to Linux
13141 Software RAID, I have not lost data yet (but
13142 <a href="http://comments.gmane.org/gmane.linux.raid/34532">I was
13143 close</a> this summer :). But once a disk is starting to behave
13144 funny, a practical problem present itself. How to get from the Linux
13145 device name (like /dev/sdd) to something that can be used to identify
13146 the disk when the computer is turned off? In my case I have SATA
13147 disks with a unique ID printed on the label. All I need is a way to
13148 figure out how to query the disk to get the ID out.</p>
13149
13150 <p>After fumbling a bit, I
13151 <a href="http://www.cyberciti.biz/faq/linux-getting-scsi-ide-harddisk-information/">found
13152 that hdparm -I</a> will report the disk serial number, which is
13153 printed on the disk label. The following (almost) one-liner can be
13154 used to look up the ID of all the failed disks:</p>
13155
13156 <blockquote><pre>
13157 for d in $(cat /proc/mdstat |grep '(F)'|tr ' ' "\n"|grep '(F)'|cut -d\[ -f1|sort -u);
13158 do
13159 printf "Failed disk $d: "
13160 hdparm -I /dev/$d |grep 'Serial Num'
13161 done
13162 </blockquote></pre>
13163
13164 <p>Putting it here to make sure I do not have to search for it the
13165 next time, and in case other find it useful.</p>
13166
13167 <p>At the moment I have two failing disk. :(</p>
13168
13169 <blockquote><pre>
13170 Failed disk sdd1: Serial Number: WD-WCASJ1860823
13171 Failed disk sdd2: Serial Number: WD-WCASJ1860823
13172 Failed disk sde2: Serial Number: WD-WCASJ1840589
13173 </blockquote></pre>
13174
13175 <p>The last time I had failing disks, I added the serial number on
13176 labels I printed and stuck on the short sides of each disk, to be able
13177 to figure out which disk to take out of the box without having to
13178 remove each disk to look at the physical vendor label. The vendor
13179 label is at the top of the disk, which is hidden when the disks are
13180 mounted inside my box.</p>
13181
13182 <p>I really wish the check_linux_raid Nagios plugin for checking Linux
13183 Software RAID in the
13184 <a href="http://packages.qa.debian.org/n/nagios-plugins.html">nagios-plugins-standard</a>
13185 debian package would look up this value automatically, as it would
13186 make the plugin a lot more useful when my disks fail. At the moment
13187 it only report a failure when there are no more spares left (it really
13188 should warn as soon as a disk is failing), and it do not tell me which
13189 disk(s) is failing when the RAID is running short on disks.</p>
13190
13191 </div>
13192 <div class="tags">
13193
13194
13195 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/raid">raid</a>.
13196
13197
13198 </div>
13199 </div>
13200 <div class="padding"></div>
13201
13202 <div class="entry">
13203 <div class="title">
13204 <a href="http://people.skolelinux.org/pere/blog/Automatic_proxy_configuration_with_Debian_Edu___Skolelinux.html">Automatic proxy configuration with Debian Edu / Skolelinux</a>
13205 </div>
13206 <div class="date">
13207 13th February 2012
13208 </div>
13209 <div class="body">
13210 <p>New in the Squeeze version of
13211 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> is the
13212 ability for clients to automatically configure their proxy settings
13213 based on their environment. We want all systems on the client to use
13214 the WPAD based proxy definition fetched from <tt>http://wpad/wpad.dat</tt>, to
13215 allow sites to control the proxy setting from a central place and make
13216 sure clients do not have hard coded proxy settings. The schools can
13217 change the global proxy setting by editing
13218 <tt>tjener:/etc/debian-edu/www/wpad.dat</tt> and the change propagate
13219 to all Debian Edu clients in the network.</p>
13220
13221 <p>The problem is that some systems do not understand the WPAD system.
13222 In other words, how do one get from a WPAD file like this (this is a
13223 simple one, they can run arbitrary code):</p>
13224
13225 <blockquote><pre>
13226 function FindProxyForURL(url, host)
13227 {
13228 if (!isResolvable(host) ||
13229 isPlainHostName(host) ||
13230 dnsDomainIs(host, ".intern"))
13231 return "DIRECT";
13232 else
13233 return "PROXY webcache:3128; DIRECT";
13234 }
13235 </pre></blockquote>
13236
13237 <p>to a proxy setting in the process environment looking like this:</p>
13238
13239 <blockquote><pre>
13240 http_proxy=http://webcache:3128/
13241 ftp_proxy=http://webcache:3128/
13242 </pre></blockquote>
13243
13244 <p>To do this conversion I developed a perl script that will execute
13245 the javascript fragment in the WPAD file and return the proxy that
13246 would be used for
13247 <tt><a href="http://www.debian.org/">http://www.debian.org/</a></tt>,
13248 and insert this extracted proxy URL in <tt>/etc/environment</tt> and
13249 <tt>/etc/apt/apt.conf</tt>. The perl script wpad-extract work just
13250 fine in Squeeze, but in Wheezy the library it need to run the
13251 javascript code is <a href="http://bugs.debian.org/631045">no longer
13252 able to build</a> because the C library it depended on is now a C++
13253 library. I hope someone find a solution to that problem before Wheezy
13254 is frozen. An alternative would be for us to rewrite wpad-extract to
13255 use some other javascript library currently working in Wheezy, but no
13256 known alternative is known at the moment.</p>
13257
13258 <p>This automatic proxy system allow the roaming workstation (aka
13259 laptop) setup in Debian Edu/Squeeze to use the proxy when the laptop
13260 is connected to the backbone network in a Debian Edu setup, and to
13261 automatically use any proxy present and announced using the WPAD
13262 feature when it is connected to other networks. And if no proxy is
13263 announced, direct connections will be used instead.</p>
13264
13265 <p>Silently using a proxy announced on the network might be a privacy
13266 or security problem. But those controlling DHCP and DNS on a network
13267 could just as easily set up a transparent proxy, and force all HTTP
13268 and FTP connections to use a proxy anyway, so I consider that
13269 distinction to be academic. If you are afraid of using the wrong
13270 proxy, you should avoid connecting to the network in question in the
13271 first place. In Debian Edu, the proxy setup is updated using dhcp and
13272 ifupdown hooks, to make sure the configuration is updated every time
13273 the network setup changes.</p>
13274
13275 <p>The WPAD system is documented in a
13276 <a href="http://tools.ietf.org/html/draft-ietf-wrec-wpad-01">IETF
13277 draft</a> and a
13278 <a href="http://en.wikipedia.org/wiki/Web_Proxy_Autodiscovery_Protocol">Wikipedia
13279 page</a> for those that want to learn more.</p>
13280
13281 </div>
13282 <div class="tags">
13283
13284
13285 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
13286
13287
13288 </div>
13289 </div>
13290 <div class="padding"></div>
13291
13292 <div class="entry">
13293 <div class="title">
13294 <a href="http://people.skolelinux.org/pere/blog/Saving_power_with_Debian_Edu___Skolelinux_using_shutdown_at_night.html">Saving power with Debian Edu / Skolelinux using shutdown-at-night</a>
13295 </div>
13296 <div class="date">
13297 5th February 2012
13298 </div>
13299 <div class="body">
13300 <p>Since the Lenny version of
13301 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a>, a
13302 feature to save power have been included. It is as simple as it is
13303 practical: Shut down unused clients at night, and turn them on again
13304 in the morning. This is done using the
13305 <a href="http://packages.qa.debian.org/s/shutdown-at-night.html">shutdown-at-night</a> Debian package.</p>
13306
13307 <p>To enable this feature on a client, the machine need to be added to
13308 the netgroup shutdown-at-night-hosts. For Debian Edu, this is done in
13309 LDAP, and once this is in place, the machine in question will check
13310 every hour from 16:00 until 06:00 to see if the machine is unused, and
13311 shut it down if it is. If the hardware in question is supported by
13312 the
13313 <a href="http://packages.qa.debian.org/n/nvram-wakeup.html">nvram-wakeup</a>
13314 package, the BIOS is told to turn the machine back on around 07:00 +-
13315 10 minutes. If this isn't working, one can configure wake-on-lan to
13316 try to turn on the client. The wake-on-lan option is only documented
13317 and not enabled by default in Debian Edu.</p>
13318
13319 <p>It is important to not turn all machines on at once, as this can
13320 blow a fuse if several computers are connected to the same fuse like
13321 the common setup for a classroom. The nvram-wakeup method only work
13322 for machines with a functioning hardware/BIOS clock. I've seen old
13323 machines where the BIOS battery were dead and the hardware clock were
13324 starting from 0 (or was it 1990?) every boot. If you have one of
13325 those, you have to turn on the computer manually.</p>
13326
13327 <p>The shutdown-at-night package is completely self contained, and can
13328 also be used outside the Debian Edu environment. For those without a
13329 central LDAP server with netgroups, one can instead touch the file
13330 <tt>/etc/shutdown-at-night/shutdown-at-night</tt> to enable it.
13331 Perhaps you too can use it to save some power?</p>
13332
13333 </div>
13334 <div class="tags">
13335
13336
13337 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
13338
13339
13340 </div>
13341 </div>
13342 <div class="padding"></div>
13343
13344 <div class="entry">
13345 <div class="title">
13346 <a href="http://people.skolelinux.org/pere/blog/Third_beta_version_of_Debian_Edu___Skolelinux_based_on_Squeeze.html">Third beta version of Debian Edu / Skolelinux based on Squeeze</a>
13347 </div>
13348 <div class="date">
13349 4th February 2012
13350 </div>
13351 <div class="body">
13352 <p>I am happy to announce that finally we managed today to wrap up and
13353 publish the third beta version of
13354 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> based
13355 on Squeeze. If you want to test a LDAP backed Kerberos server with
13356 out of the box PXE configuration for running diskless machines and
13357 installing new machines, check it out. If you need a software
13358 solution for your school, check it out too. The full announcement is
13359 <a href="http://lists.debian.org/debian-edu-announce/2012/02/msg00000.html">available</a>
13360 on the project announcement list.</p>
13361
13362 <p>I am very happy to report these changes and improvements since
13363 beta2 (there are more, see announcement for full list):</p>
13364
13365 <ul>
13366
13367 <li>It is now possible to change the pre-configured IP subnet from
13368 10.0.0.0/8 to something else by using the subnet-change tool after
13369 the installation.</li>
13370
13371 <li>Too full partitions are now automatically extended on the Main
13372 Server, based on the rules specified in /etc/fsautoresizetab.</li>
13373
13374 <li>The CUPS queues are now automatically flushed every night, and all
13375 disabled queues are restarted every hour. This should cut down on
13376 the amount of manual administration needed for printers.</li>
13377
13378 <li>The set of initial users have been changed. Now a personal user
13379 for the local system administrator is created during installation
13380 instead of the previously created localadmin and super-admin users,
13381 and this user is granted administrative privileges using group
13382 membership. This reduces the number of passwords one need to keep
13383 up to date on the system.</li>
13384
13385 </ul>
13386
13387 <p>The new main server seem to work so well that I am testing it as my
13388 private DNS/LDAP/Kerberos/PXE/LTSP server at home. I will use it look
13389 for issues we could fix to polish Debian Edu even further before the
13390 final Squeeze release is published.</p>
13391
13392 <p>Next weekend the project organise a
13393 <a href="http://lists.debian.org/debian-edu-announce/2012/01/msg00001.html">developer
13394 gathering</a> in Oslo. We will continue the work on the Squeeze
13395 version, and start initial planning for the Wheezy version. Perhaps I
13396 will see you there?</p>
13397
13398 </div>
13399 <div class="tags">
13400
13401
13402 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
13403
13404
13405 </div>
13406 </div>
13407 <div class="padding"></div>
13408
13409 <div class="entry">
13410 <div class="title">
13411 <a href="http://people.skolelinux.org/pere/blog/Handling_non_free_firmware_in_Debian_Edu_Squeeze.html">Handling non-free firmware in Debian Edu/Squeeze</a>
13412 </div>
13413 <div class="date">
13414 27th January 2012
13415 </div>
13416 <div class="body">
13417 <p>With some computer hardware, one need non-free firmware blobs.
13418 This is the sad fact of todays computers. In the next version of
13419 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> based
13420 on Squeeze, we provide several scripts and modifications to make
13421 firmware blobs easier to handle. The common use case I run into is a
13422 laptop with a wireless network card requiring non-free firmware to
13423 work, but there are other use cases as well.</p>
13424
13425 <p>First and foremost, Debian Edu provide ISO images for DVD and CD
13426 with all firmware packages in the Debian sections main and non-free
13427 included, to ensure debian-installer find and can install all of them
13428 during installation. This take care firmware for network devices used
13429 by the installer when installing from from local media. But for
13430 example multimedia devices are not activated in the installer and are
13431 not taken care of by this.</p>
13432
13433 <p>For non-network devices, we provide the script
13434 <tt>/usr/share/debian-edu-config/tools/auto-addfirmware</tt> which
13435 search through the <tt>dmesg</tt> output for drivers requesting extra
13436 firmware. The firmware file name is looked up in the Contents-ARCH.gz
13437 file available in the package repository, and the packages providing
13438 the requested firmware file(s) is installed. I have proposed to do
13439 something similar in debian-installer (BTS report
13440 <a href="http://bugs.debian.org/655507">#655507</a>), to allow PXE
13441 installs of Debian to handle firmware installation better. Run the
13442 script as root from the command line to fetch and install the needed
13443 firmware packages.</p>
13444
13445 <p>Debian Edu provide PXE installation of Debian out of the box, and
13446 because some machines need firmware to get their network cards
13447 working, the installation initrd some times need extra firmware
13448 included to be able to install at all. To fill the PXE installation
13449 initrd with extra firmware, the
13450 <tt>/usr/share/debian-edu-config/tools/pxe-addfirmware</tt> script is
13451 provided. Again, just run it as root on the command line to fill the
13452 PXE initrd with firmware packages.</p>
13453
13454 <p>Last, some LTSP clients might also need firmware to get their
13455 network cards working. For this,
13456 <tt>/usr/share/debian-edu-config/tools/ltsp-addfirmware</tt> is
13457 provided to update the LTSP initrd with firmware blobs. It is used
13458 the same way as the other firmware related tools.</p>
13459
13460 <p>At the moment, we do not run any of these during installation. We
13461 do not know if this is acceptable for the local administrator to use
13462 non-free software, and it is their choice.</p>
13463
13464 <p>We plan to release beta3 this weekend. You might want to give it a
13465 try.</p>
13466
13467 </div>
13468 <div class="tags">
13469
13470
13471 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
13472
13473
13474 </div>
13475 </div>
13476 <div class="padding"></div>
13477
13478 <div class="entry">
13479 <div class="title">
13480 <a href="http://people.skolelinux.org/pere/blog/Setting_up_a_new_school_with_Debian_Edu_Squeeze.html">Setting up a new school with Debian Edu/Squeeze</a>
13481 </div>
13482 <div class="date">
13483 25th January 2012
13484 </div>
13485 <div class="body">
13486 <p>The next version of <a href="http://www.skolelinux.org/">Debian Edu
13487 / Skolelinux</a> will include a new tool
13488 <tt>sitesummary2ldapdhcp</tt>, which can be used to quickly set up all
13489 the computers in a school without much manual labour. Here is a short
13490 summary on how to use it to set up a new school.</p>
13491
13492 <p>First, install a combined Main Server and Thin Client Server as the
13493 central server in the network. Next, PXE boot all the client machines
13494 as thin clients and wait 5 minutes after the last client booted to
13495 allow the clients to report their existence to the central server. When
13496 this is done, log on to the central server and run
13497 <tt>sitesummary2ldapdhcp -a</tt> in the <tt>konsole</tt> to use the
13498 collected information to generate system objects in LDAP. The output
13499 will look similar to this:</p>
13500
13501 <p><blockquote><pre>
13502 % sitesummary2ldapdhcp -a
13503 info: Updating machine tjener.intern [10.0.2.2] id ether-00:01:02:03:04:05.
13504 info: Create GOsa machine for auto-mac-00-01-02-03-04-06 [10.0.16.20] id ether-00:01:02:03:04:06.
13505
13506 Enter password if you want to activate these changes, and ^c to abort.
13507
13508 Connecting to LDAP as cn=admin,ou=ldap-access,dc=skole,dc=skolelinux,dc=no
13509 enter password: *******
13510 %
13511 </pre></blockquote></p>
13512
13513 <p>After providing the LDAP administrative password (the same as the
13514 root password set during installation), the LDAP database will be
13515 populated with system objects for each PXE booted machine with
13516 automatically generated names. The final step to set up the school is
13517 then to log into <a href="https://oss.gonicus.de/labs/gosa/">GOsa</a>,
13518 the web based user, group and system administration system to change
13519 system names, add systems to the correct host groups and finally
13520 enable DHCP and DNS for the systems. All clients that should be used
13521 as diskless workstations should be added to the workstation-hosts
13522 group. After this is done, all computers can be booted again via PXE
13523 and get their assigned names and group based configuration
13524 automatically.</p>
13525
13526 <p>We plan to release beta3 with the updated version of this feature
13527 enabled this weekend. You might want to give it a try.</p>
13528
13529 <p>Update 2012-01-28: When calling sitesummary2ldapdhcp to add new
13530 hosts, one need to add the option -a. I forgot to mention this in my
13531 original text, and have added it to the text now.</p>
13532
13533 </div>
13534 <div class="tags">
13535
13536
13537 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary</a>.
13538
13539
13540 </div>
13541 </div>
13542 <div class="padding"></div>
13543
13544 <div class="entry">
13545 <div class="title">
13546 <a href="http://people.skolelinux.org/pere/blog/Changing_the_default_Iceweasel_start_page_in_Debian_Edu_Squeeze.html">Changing the default Iceweasel start page in Debian Edu/Squeeze</a>
13547 </div>
13548 <div class="date">
13549 10th January 2012
13550 </div>
13551 <div class="body">
13552 <p>In the Squeeze version of
13553 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> soon
13554 to be released, users of the system will get their default browser
13555 start page set from LDAP, allowing the system administrator to point
13556 all users to the school web page by updating one setting in LDAP. In
13557 addition to setting the default start page when a machine boots, users
13558 are shown the same page as a welcome page when they log in for the
13559 first time.</p>
13560
13561 <p>The LDAP object dc=skole,dc=skolelinux,dc=no have an attribute
13562 labeledURI with "http://www/ LDAP for Debian Edu/Skolelinux" as the
13563 default content. By changing this value to another URL, all users get
13564 to see the page behind this new URL.</p>
13565
13566 <p>An easy way to update it is by using the ldapvi tool. It can be
13567 called as "<tt>ldapvi -ZD '(cn=admin)'</tt>' to update LDAP with the
13568 new setting.</p>
13569
13570 <p>We have written the code to adjust the default start page and show
13571 the welcome page, and I wonder if there is an easier way to do this
13572 from within Iceweasel instead.</p>
13573
13574 </div>
13575 <div class="tags">
13576
13577
13578 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/web">web</a>.
13579
13580
13581 </div>
13582 </div>
13583 <div class="padding"></div>
13584
13585 <div class="entry">
13586 <div class="title">
13587 <a href="http://people.skolelinux.org/pere/blog/Second_beta_version_of_Debian_Edu___Skolelinux_based_on_Squeeze.html">Second beta version of Debian Edu / Skolelinux based on Squeeze</a>
13588 </div>
13589 <div class="date">
13590 7th January 2012
13591 </div>
13592 <div class="body">
13593 <p>I am happy to announce that today we managed to wrap up and publish
13594 the second beta version of
13595 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a>. If
13596 you want to test a LDAP backed Kerberos server with out of the box PXE
13597 configuration for running diskless machines and installing new
13598 machines, check it out. If you need a software solution for your
13599 school, check it out too. The full announcement is
13600 <a href="http://lists.debian.org/debian-edu-announce/2012/01/msg00000.html">available</a>
13601 on the project announcement list.</p>
13602
13603 </div>
13604 <div class="tags">
13605
13606
13607 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
13608
13609
13610 </div>
13611 </div>
13612 <div class="padding"></div>
13613
13614 <div class="entry">
13615 <div class="title">
13616 <a href="http://people.skolelinux.org/pere/blog/Fixing_an_hanging_debian_installer_for_Debian_Edu.html">Fixing an hanging debian installer for Debian Edu</a>
13617 </div>
13618 <div class="date">
13619 3rd January 2012
13620 </div>
13621 <div class="body">
13622 <p>During christmas, I have been working getting the next version of
13623 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> ready
13624 for release. The initial problem I looked at was particularly
13625 interesting.</p>
13626
13627 <P>The installer would hang at the end when it was doing it
13628 post-installation configuration, and whatevery I did to try to find
13629 the cause and fix it always worked while I tested it, but never when I
13630 integrated it into the installer and ran the installation from
13631 scratch. I would try to restart processes, close file descriptors,
13632 remove or create files, and the installer would always unblock and
13633 wrap up its tasks.</p>
13634
13635 <p>Eventually the cause was found. The kernel was simply running out
13636 of entropy, causing the Kerberos setup to hang waiting for more.
13637 Pressing keys was adding entropy to the kernel, and thus all my tries
13638 to fix the problem worked not because what I was typing to fix it, but
13639 because I was typing.</P>
13640
13641 <p>The fix I implemented was to add a background process looking at
13642 the level of entropy in the kernel (by checking
13643 /proc/sys/kernel/random/entropy_avail), and if it was too small, the
13644 installer will flush the kernel file buffers and do 'find /' to
13645 generate some disk IO. Disk IO generate entropy in the kernel, and is
13646 one of the few things that can be initated from within the system to
13647 generate entropy.</p>
13648
13649 <p>The fix is in
13650 <a href="http://wiki.debian.org/DebianEdu/Documentation/Squeeze/Installation">beta1
13651 of the Debian Edu/Squeeze</a> version, and we
13652 <a href="http://wiki.debian.org/DebianEdu">welcome more testers and
13653 developers</a>. We plan to release beta2 this weekend.</p>
13654
13655 </div>
13656 <div class="tags">
13657
13658
13659 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
13660
13661
13662 </div>
13663 </div>
13664 <div class="padding"></div>
13665
13666 <div class="entry">
13667 <div class="title">
13668 <a href="http://people.skolelinux.org/pere/blog/Automatically_upgrading_server_firmware_on_Dell_PowerEdge.html">Automatically upgrading server firmware on Dell PowerEdge</a>
13669 </div>
13670 <div class="date">
13671 21st November 2011
13672 </div>
13673 <div class="body">
13674 <p>At work we have heaps of servers. I believe the total count is
13675 around 1000 at the moment. To be able to get help from the vendors
13676 when something go wrong, we want to keep the firmware on the servers
13677 up to date. If the firmware isn't the latest and greatest, the
13678 vendors typically refuse to start debugging any problems until the
13679 firmware is upgraded. So before every reboot, we want to upgrade the
13680 firmware, and we would really like everyone handling servers at the
13681 university to do this themselves when they plan to reboot a machine.
13682 For that to happen we at the unix server admin group need to provide
13683 the tools to do so.</p>
13684
13685 <p>To make firmware upgrading easier, I am working on a script to
13686 fetch and install the latest firmware for the servers we got. Most of
13687 our hardware are from Dell and HP, so I have focused on these servers
13688 so far. This blog post is about the Dell part.</P>
13689
13690 <p>On the Dell FTP site I was lucky enough to find
13691 <a href="ftp://ftp.us.dell.com/catalog/Catalog.xml.gz">an XML file</a>
13692 with firmware information for all 11th generation servers, listing
13693 which firmware should be used on a given model and where on the FTP
13694 site I can find it. Using a simple perl XML parser I can then
13695 download the shell scripts Dell provides to do firmware upgrades from
13696 within Linux and reboot when all the firmware is primed and ready to
13697 be activated on the first reboot.</p>
13698
13699 <p>This is the Dell related fragment of the perl code I am working on.
13700 Are there anyone working on similar tools for firmware upgrading all
13701 servers at a site? Please get in touch and lets share resources.</p>
13702
13703 <p><pre>
13704 #!/usr/bin/perl
13705 use strict;
13706 use warnings;
13707 use File::Temp qw(tempdir);
13708 BEGIN {
13709 # Install needed RHEL packages if missing
13710 my %rhelmodules = (
13711 'XML::Simple' => 'perl-XML-Simple',
13712 );
13713 for my $module (keys %rhelmodules) {
13714 eval "use $module;";
13715 if ($@) {
13716 my $pkg = $rhelmodules{$module};
13717 system("yum install -y $pkg");
13718 eval "use $module;";
13719 }
13720 }
13721 }
13722 my $errorsto = 'pere@hungry.com';
13723
13724 upgrade_dell();
13725
13726 exit 0;
13727
13728 sub run_firmware_script {
13729 my ($opts, $script) = @_;
13730 unless ($script) {
13731 print STDERR "fail: missing script name\n";
13732 exit 1
13733 }
13734 print STDERR "Running $script\n\n";
13735
13736 if (0 == system("sh $script $opts")) { # FIXME correct exit code handling
13737 print STDERR "success: firmware script ran succcessfully\n";
13738 } else {
13739 print STDERR "fail: firmware script returned error\n";
13740 }
13741 }
13742
13743 sub run_firmware_scripts {
13744 my ($opts, @dirs) = @_;
13745 # Run firmware packages
13746 for my $dir (@dirs) {
13747 print STDERR "info: Running scripts in $dir\n";
13748 opendir(my $dh, $dir) or die "Unable to open directory $dir: $!";
13749 while (my $s = readdir $dh) {
13750 next if $s =~ m/^\.\.?/;
13751 run_firmware_script($opts, "$dir/$s");
13752 }
13753 closedir $dh;
13754 }
13755 }
13756
13757 sub download {
13758 my $url = shift;
13759 print STDERR "info: Downloading $url\n";
13760 system("wget --quiet \"$url\"");
13761 }
13762
13763 sub upgrade_dell {
13764 my @dirs;
13765 my $product = `dmidecode -s system-product-name`;
13766 chomp $product;
13767
13768 if ($product =~ m/PowerEdge/) {
13769
13770 # on RHEL, these pacakges are needed by the firwmare upgrade scripts
13771 system('yum install -y compat-libstdc++-33.i686 libstdc++.i686 libxml2.i686 procmail');
13772
13773 my $tmpdir = tempdir(
13774 CLEANUP => 1
13775 );
13776 chdir($tmpdir);
13777 fetch_dell_fw('catalog/Catalog.xml.gz');
13778 system('gunzip Catalog.xml.gz');
13779 my @paths = fetch_dell_fw_list('Catalog.xml');
13780 # -q is quiet, disabling interactivity and reducing console output
13781 my $fwopts = "-q";
13782 if (@paths) {
13783 for my $url (@paths) {
13784 fetch_dell_fw($url);
13785 }
13786 run_firmware_scripts($fwopts, $tmpdir);
13787 } else {
13788 print STDERR "error: Unsupported Dell model '$product'.\n";
13789 print STDERR "error: Please report to $errorsto.\n";
13790 }
13791 chdir('/');
13792 } else {
13793 print STDERR "error: Unsupported Dell model '$product'.\n";
13794 print STDERR "error: Please report to $errorsto.\n";
13795 }
13796 }
13797
13798 sub fetch_dell_fw {
13799 my $path = shift;
13800 my $url = "ftp://ftp.us.dell.com/$path";
13801 download($url);
13802 }
13803
13804 # Using ftp://ftp.us.dell.com/catalog/Catalog.xml.gz, figure out which
13805 # firmware packages to download from Dell. Only work for Linux
13806 # machines and 11th generation Dell servers.
13807 sub fetch_dell_fw_list {
13808 my $filename = shift;
13809
13810 my $product = `dmidecode -s system-product-name`;
13811 chomp $product;
13812 my ($mybrand, $mymodel) = split(/\s+/, $product);
13813
13814 print STDERR "Finding firmware bundles for $mybrand $mymodel\n";
13815
13816 my $xml = XMLin($filename);
13817 my @paths;
13818 for my $bundle (@{$xml->{SoftwareBundle}}) {
13819 my $brand = $bundle->{TargetSystems}->{Brand}->{Display}->{content};
13820 my $model = $bundle->{TargetSystems}->{Brand}->{Model}->{Display}->{content};
13821 my $oscode;
13822 if ("ARRAY" eq ref $bundle->{TargetOSes}->{OperatingSystem}) {
13823 $oscode = $bundle->{TargetOSes}->{OperatingSystem}[0]->{osCode};
13824 } else {
13825 $oscode = $bundle->{TargetOSes}->{OperatingSystem}->{osCode};
13826 }
13827 if ($mybrand eq $brand && $mymodel eq $model && "LIN" eq $oscode)
13828 {
13829 @paths = map { $_->{path} } @{$bundle->{Contents}->{Package}};
13830 }
13831 }
13832 for my $component (@{$xml->{SoftwareComponent}}) {
13833 my $componenttype = $component->{ComponentType}->{value};
13834
13835 # Drop application packages, only firmware and BIOS
13836 next if 'APAC' eq $componenttype;
13837
13838 my $cpath = $component->{path};
13839 for my $path (@paths) {
13840 if ($cpath =~ m%/$path$%) {
13841 push(@paths, $cpath);
13842 }
13843 }
13844 }
13845 return @paths;
13846 }
13847 </pre>
13848
13849 <p>The code is only tested on RedHat Enterprise Linux, but I suspect
13850 it could work on other platforms with some tweaking. Anyone know a
13851 index like Catalog.xml is available from HP for HP servers? At the
13852 moment I maintain a similar list manually and it is quickly getting
13853 outdated.</p>
13854
13855 </div>
13856 <div class="tags">
13857
13858
13859 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>.
13860
13861
13862 </div>
13863 </div>
13864 <div class="padding"></div>
13865
13866 <div class="entry">
13867 <div class="title">
13868 <a href="http://people.skolelinux.org/pere/blog/Free_e_book_kiosk_for_the_public_libraries_.html">Free e-book kiosk for the public libraries?</a>
13869 </div>
13870 <div class="date">
13871 7th October 2011
13872 </div>
13873 <div class="body">
13874 <p>Here in Norway the public libraries are debating with the
13875 publishing houses how to handle electronic books. Surprisingly, the
13876 libraries seem to be willing to accept digital restriction mechanisms
13877 (DRM) on books and renting e-books with artificial scarcity from the
13878 publishing houses. Time limited renting (2-3 years) is one proposed
13879 model, and only allowing X borrowers for each book is another.
13880 Personally I find it amazing that libraries are even considering such
13881 models.</p>
13882
13883 <p>Anyway, while reading <a href="http://boklaben.no/?p=220">part of
13884 this debate</a>, it occurred to me that someone should present a more
13885 sensible approach to the libraries, to allow its borrowers to get used
13886 to a better model. The idea is simple:</p>
13887
13888 <p>Create a computer system for the libraries, either in the form of a
13889 Live DVD or a installable distribution, that provide a simple kiosk
13890 solution to hand out free e-books. As a start, the books distributed
13891 by <a href="http://www.gutenberg.org/">Project Gutenberg</a> (about
13892 36,000 books), <a href="http://runeberg.org/">Project Runenberg</a>
13893 (1149 books) and <a href="http://www.archive.org/details/texts">The
13894 Internet Archive</a> (3,033,748 books) could be included, but any book
13895 where the copyright has expired or with a free licence could be
13896 distributed.</p>
13897
13898 <p>The computer system would make it easy to:</p>
13899
13900 <ul>
13901
13902 <li>Copy e-books into a USB stick, reading tablets, cell phones and
13903 other relevant equipment.</li>
13904
13905 <li>Show the books for reading on the the screen in the library.</li>
13906
13907 </ul>
13908
13909 <p>In addition to such kiosk solution, there should probably be a web
13910 site as well to allow people easy access to these books without
13911 visiting the library. The site would be the distribution point for
13912 the kiosk systems, which would connect regularly to fetch any new
13913 books available.</p>
13914
13915 <p>Are there anyone working on a system like this? I guess it would
13916 fit any library in the world, and not just the Norwegian public
13917 libraries. :)</p>
13918
13919 </div>
13920 <div class="tags">
13921
13922
13923 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett</a>.
13924
13925
13926 </div>
13927 </div>
13928 <div class="padding"></div>
13929
13930 <div class="entry">
13931 <div class="title">
13932 <a href="http://people.skolelinux.org/pere/blog/Ripping_problematic_DVDs_using_dvdbackup_and_genisoimage.html">Ripping problematic DVDs using dvdbackup and genisoimage</a>
13933 </div>
13934 <div class="date">
13935 17th September 2011
13936 </div>
13937 <div class="body">
13938 <p>For convenience, I want to store copies of all my DVDs on my file
13939 server. It allow me to save shelf space flat while still having my
13940 movie collection easily available. It also make it possible to let
13941 the kids see their favourite DVDs without wearing the physical copies
13942 down. I prefer to store the DVDs as ISOs to keep the DVD menu and
13943 subtitle options intact. It also ensure that the entire film is one
13944 file on the disk. As this is for personal use, the ripping is
13945 perfectly legal here in Norway.</p>
13946
13947 <p>Normally I rip the DVDs using dd like this:</p>
13948
13949 <blockquote><pre>
13950 #!/bin/sh
13951 # apt-get install lsdvd
13952 title=$(lsdvd 2>/dev/null|awk '/Disc Title: / {print $3}')
13953 dd if=/dev/dvd of=/storage/dvds/$title.iso bs=1M
13954 </pre></blockquote>
13955
13956 <p>But some DVDs give a input/output error when I read it, and I have
13957 been looking for a better alternative. I have no idea why this I/O
13958 error occur, but suspect my DVD drive, the Linux kernel driver or
13959 something fishy with the DVDs in question. Or perhaps all three.</p>
13960
13961 <p>Anyway, I believe I found a solution today using dvdbackup and
13962 genisoimage. This script gave me a working ISO for a problematic
13963 movie by first extracting the DVD file system and then re-packing it
13964 back as an ISO.
13965
13966 <blockquote><pre>
13967 #!/bin/sh
13968 # apt-get install lsdvd dvdbackup genisoimage
13969 set -e
13970 tmpdir=/storage/dvds/
13971 title=$(lsdvd 2>/dev/null|awk '/Disc Title: / {print $3}')
13972 dvdbackup -i /dev/dvd -M -o $tmpdir -n$title
13973 genisoimage -dvd-video -o $tmpdir/$title.iso $tmpdir/$title
13974 rm -rf $tmpdir/$title
13975 </pre></blockquote>
13976
13977 <p>Anyone know of a better way available in Debian/Squeeze?</p>
13978
13979 <p>Update 2011-09-18: I got a tip from Konstantin Khomoutov about the
13980 readom program from the wodim package. It is specially written to
13981 read optical media, and is called like this: <tt>readom dev=/dev/dvd
13982 f=image.iso</tt>. It got 6 GB along with the problematic Cars DVD
13983 before it failed, and failed right away with a Timmy Time DVD.</p>
13984
13985 <p>Next, I got a tip from Bastian Blank about
13986 <a href="http://bblank.thinkmo.de/blog/new-software-python-dvdvideo">his
13987 program python-dvdvideo</a>, which seem to be just what I am looking
13988 for. Tested it with my problematic Timmy Time DVD, and it succeeded
13989 creating a ISO image. The git source built and installed just fine in
13990 Squeeze, so I guess this will be my tool of choice in the future.</p>
13991
13992 </div>
13993 <div class="tags">
13994
13995
13996 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
13997
13998
13999 </div>
14000 </div>
14001 <div class="padding"></div>
14002
14003 <div class="entry">
14004 <div class="title">
14005 <a href="http://people.skolelinux.org/pere/blog/How_is_booting_into_runlevel_1_different_from_single_user_boots_.html">How is booting into runlevel 1 different from single user boots?</a>
14006 </div>
14007 <div class="date">
14008 4th August 2011
14009 </div>
14010 <div class="body">
14011 <p>Wouter Verhelst have some
14012 <a href="http://grep.be/blog/en/retorts/pere_kubuntu_boot">interesting
14013 comments and opinions</a> on my blog post on
14014 <a href="http://people.skolelinux.org/pere/blog/What_should_start_from__etc_rcS_d__in_Debian____almost_nothing.html">the
14015 need to clean up /etc/rcS.d/ in Debian</a> and my blog post about
14016 <a href="http://people.skolelinux.org/pere/blog/What_is_missing_in_the_Debian_desktop__or_why_my_parents_use_Kubuntu.html">the
14017 default KDE desktop in Debian</a>. I only have time to address one
14018 small piece of his comment now, and though it best to address the
14019 misunderstanding he bring forward:</p>
14020
14021 <p><blockquote>
14022 Currently, a system admin has four options: [...] boot to a
14023 single-user system (by adding 'single' to the kernel command line;
14024 this runs rcS and rc1 scripts)
14025 </blockquote></p>
14026
14027 <p>This make me believe Wouter believe booting into single user mode
14028 and booting into runlevel 1 is the same. I am not surprised he
14029 believe this, because it would make sense and is a quite sensible
14030 thing to believe. But because the boot in Debian is slightly broken,
14031 runlevel 1 do not work properly and it isn't the same as single user
14032 mode. I'll try to explain what is actually happing, but it is a bit
14033 hard to explain.</p>
14034
14035 <p>Single user mode is defined like this in /etc/inittab:
14036 "<tt>~~:S:wait:/sbin/sulogin</tt>". This means the only thing that is
14037 executed in single user mode is sulogin. Single user mode is a boot
14038 state "between" the runlevels, and when booting into single user mode,
14039 only the scripts in /etc/rcS.d/ are executed before the init process
14040 enters the single user state. When switching to runlevel 1, the state
14041 is in fact not ending in runlevel 1, but it passes through runlevel 1
14042 and end up in the single user mode (see /etc/rc1.d/S03single, which
14043 runs "init -t1 S" to switch to single user mode at the end of runlevel
14044 1. It is confusing that the 'S' (single user) init mode is not the
14045 mode enabled by /etc/rcS.d/ (which is more like the initial boot
14046 mode).</p>
14047
14048 <p>This summary might make it clearer. When booting for the first
14049 time into single user mode, the following commands are executed:
14050 "<tt>/etc/init.d/rc S; /sbin/sulogin</tt>". When booting into
14051 runlevel 1, the following commands are executed: "<tt>/etc/init.d/rc
14052 S; /etc/init.d/rc 1; /sbin/sulogin</tt>". A problem show up when
14053 trying to continue after visiting single user mode. Not all services
14054 are started again as they should, causing the machine to end up in an
14055 unpredicatble state. This is why Debian admins recommend rebooting
14056 after visiting single user mode.</p>
14057
14058 <p>A similar problem with runlevel 1 is caused by the amount of
14059 scripts executed from /etc/rcS.d/. When switching from say runlevel 2
14060 to runlevel 1, the services started from /etc/rcS.d/ are not properly
14061 stopped when passing through the scripts in /etc/rc1.d/, and not
14062 started again when switching away from runlevel 1 to the runlevels
14063 2-5. I believe the problem is best fixed by moving all the scripts
14064 out of /etc/rcS.d/ that are not <strong>required</strong> to get a
14065 functioning single user mode during boot.</p>
14066
14067 <p>I have spent several years investigating the Debian boot system,
14068 and discovered this problem a few years ago. I suspect it originates
14069 from when sysvinit was introduced into Debian, a long time ago.</p>
14070
14071 </div>
14072 <div class="tags">
14073
14074
14075 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
14076
14077
14078 </div>
14079 </div>
14080 <div class="padding"></div>
14081
14082 <div class="entry">
14083 <div class="title">
14084 <a href="http://people.skolelinux.org/pere/blog/What_should_start_from__etc_rcS_d__in_Debian____almost_nothing.html">What should start from /etc/rcS.d/ in Debian? - almost nothing</a>
14085 </div>
14086 <div class="date">
14087 30th July 2011
14088 </div>
14089 <div class="body">
14090 <p>In the Debian boot system, several packages include scripts that
14091 are started from /etc/rcS.d/. In fact, there is a bite more of them
14092 than make sense, and this causes a few problems. What kind of
14093 problems, you might ask. There are at least two problems. The first
14094 is that it is not possible to recover a machine after switching to
14095 runlevel 1. One need to actually reboot to get the machine back to
14096 the expected state. The other is that single user boot will sometimes
14097 run into problems because some of the subsystems are activated before
14098 the root login is presented, causing problems when trying to recover a
14099 machine from a problem in that subsystem. A minor additional point is
14100 that moving more scripts out of rcS.d/ and into the other rc#.d/
14101 directories will increase the amount of scripts that can run in
14102 parallel during boot, and thus decrease the boot time.</p>
14103
14104 <p>So, which scripts should start from rcS.d/. In short, only the
14105 scripts that _have_ to execute before the root login prompt is
14106 presented during a single user boot should go there. Everything else
14107 should go into the numeric runlevels. This means things like
14108 lm-sensors, fuse and x11-common should not run from rcS.d, but from
14109 the numeric runlevels. Today in Debian, there are around 115 init.d
14110 scripts that are started from rcS.d/, and most of them should be moved
14111 out. Do your package have one of them? Please help us make single
14112 user and runlevel 1 better by moving it.</p>
14113
14114 <p>Scripts setting up the screen, keyboard, system partitions
14115 etc. should still be started from rcS.d/, but there is for example no
14116 need to have the network enabled before the single user login prompt
14117 is presented.</p>
14118
14119 <p>As always, things are not so easy to fix as they sound. To keep
14120 Debian systems working while scripts migrate and during upgrades, the
14121 scripts need to be moved from rcS.d/ to rc2.d/ in reverse dependency
14122 order, ie the scripts that nothing in rcS.d/ depend on can be moved,
14123 and the next ones can only be moved when their dependencies have been
14124 moved first. This migration must be done sequentially while we ensure
14125 that the package system upgrade packages in the right order to keep
14126 the system state correct. This will require some coordination when it
14127 comes to network related packages, but most of the packages with
14128 scripts that should migrate do not have anything in rcS.d/ depending
14129 on them. Some packages have already been updated, like the sudo
14130 package, while others are still left to do. I wish I had time to work
14131 on this myself, but real live constrains make it unlikely that I will
14132 find time to push this forward.</p>
14133
14134 </div>
14135 <div class="tags">
14136
14137
14138 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
14139
14140
14141 </div>
14142 </div>
14143 <div class="padding"></div>
14144
14145 <div class="entry">
14146 <div class="title">
14147 <a href="http://people.skolelinux.org/pere/blog/What_is_missing_in_the_Debian_desktop__or_why_my_parents_use_Kubuntu.html">What is missing in the Debian desktop, or why my parents use Kubuntu</a>
14148 </div>
14149 <div class="date">
14150 29th July 2011
14151 </div>
14152 <div class="body">
14153 <p>While at Debconf11, I have several times during discussions
14154 mentioned the issues I believe should be improved in Debian for its
14155 desktop to be useful for more people. The use case for this is my
14156 parents, which are currently running Kubuntu which solve the
14157 issues.</p>
14158
14159 <p>I suspect these four missing features are not very hard to
14160 implement. After all, they are present in Ubuntu, so if we wanted to
14161 do this in Debian we would have a source.</p>
14162
14163 <ol>
14164
14165 <li><strong>Simple GUI based upgrade of packages.</strong> When there
14166 are new packages available for upgrades, a icon in the KDE status bar
14167 indicate this, and clicking on it will activate the simple upgrade
14168 tool to handle it. I have no problem guiding both of my parents
14169 through the process over the phone. If a kernel reboot is required,
14170 this too is indicated by the status bars and the upgrade tool. Last
14171 time I checked, nothing with the same features was working in KDE in
14172 Debian.</li>
14173
14174 <li><strong>Simple handling of missing Firefox browser
14175 plugins.</strong> When the browser encounter a MIME type it do not
14176 currently have a handler for, it will ask the user if the system
14177 should search for a package that would add support for this MIME type,
14178 and if the user say yes, the APT sources will be searched for packages
14179 advertising the MIME type in their control file (visible in the
14180 Packages file in the APT archive). If one or more packages are found,
14181 it is a simple click of the mouse to add support for the missing mime
14182 type. If the package require the user to accept some non-free
14183 license, this is explained to the user. The entire process make it
14184 more clear to the user why something do not work in the browser, and
14185 make the chances higher for the user to blame the web page authors and
14186 not the browser for any missing features.</li>
14187
14188 <li><strong>Simple handling of missing multimedia codec/format
14189 handlers.</strong> When the media players encounter a format or codec
14190 it is not supporting, a dialog pop up asking the user if the system
14191 should search for a package that would add support for it. This
14192 happen with things like MP3, Windows Media or H.264. The selection
14193 and installation procedure is very similar to the Firefox browser
14194 plugin handling. This is as far as I know implemented using a
14195 gstreamer hook. The end result is that the user easily get access to
14196 the codecs that are present from the APT archives available, while
14197 explaining more on why a given format is unsupported by Ubuntu.</li>
14198
14199 <li><strong>Better browser handling of some MIME types.</strong> When
14200 displaying a text/plain file in my Debian browser, it will propose to
14201 start emacs to show it. If I remember correctly, when doing the same
14202 in Kunbutu it show the file as a text file in the browser. At least I
14203 know Opera will show text files within the browser. I much prefer the
14204 latter behaviour.</li>
14205
14206 </ol>
14207
14208 <p>There are other nice features as well, like the simplified suite
14209 upgrader, but given that I am the one mostly doing the dist-upgrade,
14210 it do not matter much.</p>
14211
14212 <p>I really hope we could get these features in place for the next
14213 Debian release. It would require the coordinated effort of several
14214 maintainers, but would make the end user experience a lot better.</p>
14215
14216 </div>
14217 <div class="tags">
14218
14219
14220 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/multimedia">multimedia</a>, <a href="http://people.skolelinux.org/pere/blog/tags/web">web</a>.
14221
14222
14223 </div>
14224 </div>
14225 <div class="padding"></div>
14226
14227 <div class="entry">
14228 <div class="title">
14229 <a href="http://people.skolelinux.org/pere/blog/Perl_modules_used_by_FixMyStreet_which_are_missing_in_Debian_Squeeze.html">Perl modules used by FixMyStreet which are missing in Debian/Squeeze</a>
14230 </div>
14231 <div class="date">
14232 26th July 2011
14233 </div>
14234 <div class="body">
14235 <p>The Norwegian <a href="http://www.fiksgatami.no/">FiksGataMi</A>
14236 site is build on Debian/Squeeze, and this platform was chosen because
14237 I am most familiar with Debian (being a Debian Developer for around 10
14238 years) because it is the latest stable Debian release which should get
14239 security support for a few years.</p>
14240
14241 <p>The web service is written in Perl, and depend on some perl modules
14242 that are missing in Debian at the moment. It would be great if these
14243 modules were added to the Debian archive, allowing anyone to set up
14244 their own <a href="http://www.fixmystreet.com">FixMyStreet</a> clone
14245 in their own country using only Debian packages. The list of modules
14246 missing in Debian/Squeeze isn't very long, and I hope the perl group
14247 will find time to package the 12 modules Catalyst::Plugin::SmartURI,
14248 Catalyst::Plugin::Unicode::Encoding, Catalyst::View::TT, Devel::Hide,
14249 Sort::Key, Statistics::Distributions, Template::Plugin::Comma,
14250 Template::Plugin::DateTime::Format, Term::Size::Any, Term::Size::Perl,
14251 URI::SmartURI and Web::Scraper to make the maintenance of FixMyStreet
14252 easier in the future.</p>
14253
14254 <p>Thanks to the great tools in Debian, getting the missing modules
14255 installed on my server was a simple call to 'cpan2deb Module::Name'
14256 and 'dpkg -i' to install the resulting package. But this leave me
14257 with the responsibility of tracking security problems, which I really
14258 do not have time for.</p>
14259
14260 </div>
14261 <div class="tags">
14262
14263
14264 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/fiksgatami">fiksgatami</a>.
14265
14266
14267 </div>
14268 </div>
14269 <div class="padding"></div>
14270
14271 <div class="entry">
14272 <div class="title">
14273 <a href="http://people.skolelinux.org/pere/blog/Free_Software_vs__proprietary_softare___.html">Free Software vs. proprietary softare...</a>
14274 </div>
14275 <div class="date">
14276 20th June 2011
14277 </div>
14278 <div class="body">
14279 <p>Reading
14280 <a href="http://blog.thingiverse.com/2011/06/20/open-source-vs-closed-source-eulas/">the
14281 thingiverse blog</a>, I came across two highlights of interesting
14282 parts of the
14283 <a href="http://wiki.blender.org/index.php/Autodesk_EULA">Autodesk</a>
14284 and
14285 <a href="http://blog.makezine.com/archive/2011/06/things-you-cant-do-with-the-microsoft-kinect-sdk.html">Microsoft
14286 Kinect</a> End User License Agreements (EULAs), which illustrates
14287 quite well why I stay away from software with EULAs. Whenever I take
14288 the time to read their content, the terms are simply unacceptable.</p>
14289
14290 </div>
14291 <div class="tags">
14292
14293
14294 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett</a>.
14295
14296
14297 </div>
14298 </div>
14299 <div class="padding"></div>
14300
14301 <div class="entry">
14302 <div class="title">
14303 <a href="http://people.skolelinux.org/pere/blog/Experimental_Open311_API_for_the_mySociety_fixmystreet_system.html">Experimental Open311 API for the mySociety fixmystreet system</a>
14304 </div>
14305 <div class="date">
14306 30th April 2011
14307 </div>
14308 <div class="body">
14309 <p>Today, the first draft implementation of an
14310 <a href="http://www.open311.org/">Open311 API</a> for the Norwegian
14311 service <a href="http://www.fiksgatami.no/">FiksGataMi</a> started to
14312 work. It is only available on the developer server for now, and I
14313 have not tested it using any existing Open311 client (I lack the
14314 platforms needed to run the clients I have found so far), but it is
14315 able to query the database and extract a list of open and closed
14316 requests within a given category and reported to a given municipality.
14317 I believe that is a good start to create a useful service for those
14318 that want to do data mining on the requests submitted so far.</p>
14319
14320 <p>Where is it? Visit
14321 <a href="http://fiksgatami-dev.nuug.no/open311.cgi/v2/">http://fiksgatami-dev.nuug.no/open311.cgi/v2/</a>
14322 to have a look. Please send feedback to the
14323 <a href="http://lists.nuug.no/mailman/listinfo/fiksgatami">fiksgatami
14324 (at) nuug.no</a> mailing list.</p>
14325
14326 </div>
14327 <div class="tags">
14328
14329
14330 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami</a>, <a href="http://people.skolelinux.org/pere/blog/tags/open311">open311</a>.
14331
14332
14333 </div>
14334 </div>
14335 <div class="padding"></div>
14336
14337 <div class="entry">
14338 <div class="title">
14339 <a href="http://people.skolelinux.org/pere/blog/Initial_notes_on_adding_Open311_server_API_on_FixMyStreet.html">Initial notes on adding Open311 server API on FixMyStreet</a>
14340 </div>
14341 <div class="date">
14342 29th April 2011
14343 </div>
14344 <div class="body">
14345 <p>The last few days I have spent some time trying to add support for
14346 the <a href="http://www.open311.org/">Open311 API</a> in the
14347 <a href="http://www.fiksgatami.no/">Norwegian FixMyStreet service</a>.
14348 Earlier I believed Open311 would be a useful API to use to submit
14349 reports to the municipalities, but when I noticed that the
14350 <a href="http://fixmystreet.org.nz/">New Zealand version</a> of
14351 FixMyStreet had implemented Open311 on the server side, it occurred to
14352 me that this was a nice way to allow the public, press and
14353 municipalities to do data mining directly in the FixMyStreet service.
14354 Thus I went to work implementing the Open311 specification for
14355 FixMyStreet. The implementation is not yet ready, but I am starting
14356 to get a draft limping along. In the process, I have discovered a few
14357 issues with the Open311 specification.</p>
14358
14359 <p>One obvious missing feature is the lack of natural language
14360 handling in the specification. The specification seem to assume all
14361 reports will be written in English, and do not provide a way for the
14362 receiving end to specify which languages are understood there. To be
14363 able to use the same client and submit to several Open311 receivers,
14364 it would be useful to know which language to use when writing reports.
14365 I believe the specification should be extended to allow the receivers
14366 of problem reports to specify which language they accept, and the
14367 submitter to specify which language the report is written in.
14368 Language of a text can also be automatically guessed using statistical
14369 methods, but for multi-lingual persons like myself, it is useful to
14370 know which language to use when writing a problem report. I suspect
14371 some lang=nb,nn kind of attribute would solve it.</p>
14372
14373 <p>A key part of the Open311 API is the list of services provided,
14374 which is similar to the categories used by FixMyStreet. One issue I
14375 run into is the need to specify both name and unique identifier for
14376 each category. The specification do not state that the identifier
14377 should be numeric, but all example implementations have used numbers
14378 here. In FixMyStreet, there is no number associated with each
14379 category. As the specification do not forbid it, I will use the name
14380 as the unique identifier for now and see how open311 clients handle
14381 it.</p>
14382
14383 <p>The report format in open311 and the report format in FixMyStreet
14384 differ in a key part. FixMyStreet have a title and a description,
14385 while Open311 only have a description and lack the title. I'm not
14386 quite sure how to best handle this yet. When asking for a FixMyStreet
14387 report in Open311 format, I just merge title an description into the
14388 open311 description, but this is not going to work if the open311 API
14389 should be used for submitting new reports to FixMyStreet.</p>
14390
14391 <p>The search feature in Open311 is missing a way to ask for problems
14392 near a geographic location. I believe this is important if one is to
14393 use Open311 as the query language for mobile units. The specification
14394 should be extended to handle this, probably using some new lat=, lon=
14395 and range= options.</p>
14396
14397 <p>The final challenge I see is that the FixMyStreet code handle
14398 several administrations in one interface, while the Open311 API seem
14399 to assume only one administration. For FixMyStreet, this mean a
14400 report can be sent to several administrations, and the categories
14401 available depend on the location of the problem. Not quite sure how
14402 to best handle this. I've noticed
14403 <a href="http://seeclickfix.com/open311/">SeeClickFix</a> added
14404 latitude and longitude options to the services request, but it do not
14405 solve the problem of what to return when no location is specified.
14406 Will have to investigate this a bit more.</p>
14407
14408 <p>My distaste for web forums have kept me from bringing these issues
14409 up with the open311 developer group. I really wish they had a email
14410 list available via <a href="http://www.gmane.org/">Gmane</a> to use for
14411 discussions instead of only
14412 <a href="http://lists.open311.org/groups/discuss">a forum<a/>. Oh,
14413 well. That will probably resolve itself, one way or another. I've
14414 also tried visiting the IRC channel #open311 on FreeNode, but no-one
14415 seem to reply to my questions there. This make me wonder if I just
14416 fail to understand how the open311 community work. It sure do not
14417 work like the free software project communities I am used to.</p>
14418
14419 </div>
14420 <div class="tags">
14421
14422
14423 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami</a>, <a href="http://people.skolelinux.org/pere/blog/tags/open311">open311</a>.
14424
14425
14426 </div>
14427 </div>
14428 <div class="padding"></div>
14429
14430 <div class="entry">
14431 <div class="title">
14432 <a href="http://people.skolelinux.org/pere/blog/Gnash_enteres_Google_Summer_of_Code_2011.html">Gnash enteres Google Summer of Code 2011</a>
14433 </div>
14434 <div class="date">
14435 6th April 2011
14436 </div>
14437 <div class="body">
14438 <p><a href="http://www.getgnash.org/">The Gnash project</a> is still
14439 the most promising solution for a Free Software Flash implementation.
14440 A few days ago the project
14441 <a href="http://lists.gnu.org/archive/html/gnash-dev/2011-04/msg00011.html">announced</a>
14442 that it will participate in Google Summer of Code. I hope many
14443 students apply, and that some of them succeed in getting AVM2 support
14444 into Gnash.</p>
14445
14446 </div>
14447 <div class="tags">
14448
14449
14450 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>.
14451
14452
14453 </div>
14454 </div>
14455 <div class="padding"></div>
14456
14457 <div class="entry">
14458 <div class="title">
14459 <a href="http://people.skolelinux.org/pere/blog/A_Norwegian_FixMyStreet_have_kept_me_busy_the_last_few_weeks.html">A Norwegian FixMyStreet have kept me busy the last few weeks</a>
14460 </div>
14461 <div class="date">
14462 3rd April 2011
14463 </div>
14464 <div class="body">
14465 <p>Here is a small update for my English readers. Most of my blog
14466 posts have been in Norwegian the last few weeks, so here is a short
14467 update in English.</p>
14468
14469 <p>The kids still keep me too busy to get much free software work
14470 done, but I did manage to organise a project to get a Norwegian port
14471 of the British service
14472 <a href="http://www.fixmystreet.com/">FixMyStreet</a> up and running,
14473 and it has been running for a month now. The entire project has been
14474 organised by me and two others. Around Christmas we gathered sponsors
14475 to fund the development work. In January I drafted a contract with
14476 <a href="http://www.mysociety.org/">mySociety</a> on what to develop,
14477 and in February the development took place. Most of it involved
14478 converting the source to use GPS coordinates instead of British
14479 easting/northing, and the resulting code should be a lot easier to get
14480 running in any country by now. The Norwegian
14481 <a href="http://www.fiksgatami.no/">FiksGataMi</a> is using
14482 <a href="http://www.openstreetmap.org/">OpenStreetmap</a> as the map
14483 source and the source for administrative borders in Norway, and
14484 support for this had to be added/fixed.</p>
14485
14486 <p>The Norwegian version went live March 3th, and we spent the weekend
14487 polishing the system before we announced it March 7th. The system is
14488 running on a KVM instance of Debian/Squeeze, and has seen almost 3000
14489 problem reports in a few weeks. Soon we hope to announce the Android
14490 and iPhone versions making it even easier to report problems with the
14491 public infrastructure.</p>
14492
14493 <p>Perhaps something to consider for those of you in countries without
14494 such service?</p>
14495
14496 </div>
14497 <div class="tags">
14498
14499
14500 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/fiksgatami">fiksgatami</a>, <a href="http://people.skolelinux.org/pere/blog/tags/kart">kart</a>.
14501
14502
14503 </div>
14504 </div>
14505 <div class="padding"></div>
14506
14507 <div class="entry">
14508 <div class="title">
14509 <a href="http://people.skolelinux.org/pere/blog/Using_NVD_and_CPE_to_track_CVEs_in_locally_maintained_software.html">Using NVD and CPE to track CVEs in locally maintained software</a>
14510 </div>
14511 <div class="date">
14512 28th January 2011
14513 </div>
14514 <div class="body">
14515 <p>The last few days I have looked at ways to track open security
14516 issues here at my work with the University of Oslo. My idea is that
14517 it should be possible to use the information about security issues
14518 available on the Internet, and check our locally
14519 maintained/distributed software against this information. It should
14520 allow us to verify that no known security issues are forgotten. The
14521 CVE database listing vulnerabilities seem like a great central point,
14522 and by using the package lists from Debian mapped to CVEs provided by
14523 the testing security team, I believed it should be possible to figure
14524 out which security holes were present in our free software
14525 collection.</p>
14526
14527 <p>After reading up on the topic, it became obvious that the first
14528 building block is to be able to name software packages in a unique and
14529 consistent way across data sources. I considered several ways to do
14530 this, for example coming up with my own naming scheme like using URLs
14531 to project home pages or URLs to the Freshmeat entries, or using some
14532 existing naming scheme. And it seem like I am not the first one to
14533 come across this problem, as MITRE already proposed and implemented a
14534 solution. Enter the <a href="http://cpe.mitre.org/index.html">Common
14535 Platform Enumeration</a> dictionary, a vocabulary for referring to
14536 software, hardware and other platform components. The CPE ids are
14537 mapped to CVEs in the <a href="http://web.nvd.nist.gov/">National
14538 Vulnerability Database</a>, allowing me to look up know security
14539 issues for any CPE name. With this in place, all I need to do is to
14540 locate the CPE id for the software packages we use at the university.
14541 This is fairly trivial (I google for 'cve cpe $package' and check the
14542 NVD entry if a CVE for the package exist).</p>
14543
14544 <p>To give you an example. The GNU gzip source package have the CPE
14545 name cpe:/a:gnu:gzip. If the old version 1.3.3 was the package to
14546 check out, one could look up
14547 <a href="http://web.nvd.nist.gov/view/vuln/search?cpe=cpe%3A%2Fa%3Agnu%3Agzip:1.3.3">cpe:/a:gnu:gzip:1.3.3
14548 in NVD</a> and get a list of 6 security holes with public CVE entries.
14549 The most recent one is
14550 <a href="http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-0001">CVE-2010-0001</a>,
14551 and at the bottom of the NVD page for this vulnerability the complete
14552 list of affected versions is provided.</p>
14553
14554 <p>The NVD database of CVEs is also available as a XML dump, allowing
14555 for offline processing of issues. Using this dump, I've written a
14556 small script taking a list of CPEs as input and list all CVEs
14557 affecting the packages represented by these CPEs. One give it CPEs
14558 with version numbers as specified above and get a list of open
14559 security issues out.</p>
14560
14561 <p>Of course for this approach to be useful, the quality of the NVD
14562 information need to be high. For that to happen, I believe as many as
14563 possible need to use and contribute to the NVD database. I notice
14564 RHEL is providing
14565 <a href="https://www.redhat.com/security/data/metrics/rhsamapcpe.txt">a
14566 map from CVE to CPE</a>, indicating that they are using the CPE
14567 information. I'm not aware of Debian and Ubuntu doing the same.</p>
14568
14569 <p>To get an idea about the quality for free software, I spent some
14570 time making it possible to compare the CVE database from Debian with
14571 the CVE database in NVD. The result look fairly good, but there are
14572 some inconsistencies in NVD (same software package having several
14573 CPEs), and some inaccuracies (NVD not mentioning buggy packages that
14574 Debian believe are affected by a CVE). Hope to find time to improve
14575 the quality of NVD, but that require being able to get in touch with
14576 someone maintaining it. So far my three emails with questions and
14577 corrections have not seen any reply, but I hope contact can be
14578 established soon.</p>
14579
14580 <p>An interesting application for CPEs is cross platform package
14581 mapping. It would be useful to know which packages in for example
14582 RHEL, OpenSuSe and Mandriva are missing from Debian and Ubuntu, and
14583 this would be trivial if all linux distributions provided CPE entries
14584 for their packages.</p>
14585
14586 </div>
14587 <div class="tags">
14588
14589
14590 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet</a>.
14591
14592
14593 </div>
14594 </div>
14595 <div class="padding"></div>
14596
14597 <div class="entry">
14598 <div class="title">
14599 <a href="http://people.skolelinux.org/pere/blog/Which_module_is_loaded_for_a_given_PCI_and_USB_device_.html">Which module is loaded for a given PCI and USB device?</a>
14600 </div>
14601 <div class="date">
14602 23rd January 2011
14603 </div>
14604 <div class="body">
14605 <p>In the
14606 <a href="http://packages.qa.debian.org/discover-data">discover-data</a>
14607 package in Debian, there is a script to report useful information
14608 about the running hardware for use when people report missing
14609 information. One part of this script that I find very useful when
14610 debugging hardware problems, is the part mapping loaded kernel module
14611 to the PCI device it claims. It allow me to quickly see if the kernel
14612 module I expect is driving the hardware I am struggling with. To see
14613 the output, make sure discover-data is installed and run
14614 <tt>/usr/share/bug/discover-data 3>&1</tt>. The relevant output on
14615 one of my machines like this:</p>
14616
14617 <pre>
14618 loaded modules:
14619 10de:03eb i2c_nforce2
14620 10de:03f1 ohci_hcd
14621 10de:03f2 ehci_hcd
14622 10de:03f0 snd_hda_intel
14623 10de:03ec pata_amd
14624 10de:03f6 sata_nv
14625 1022:1103 k8temp
14626 109e:036e bttv
14627 109e:0878 snd_bt87x
14628 11ab:4364 sky2
14629 </pre>
14630
14631 <p>The code in question look like this, slightly modified for
14632 readability and to drop the output to file descriptor 3:</p>
14633
14634 <pre>
14635 if [ -d /sys/bus/pci/devices/ ] ; then
14636 echo loaded pci modules:
14637 (
14638 cd /sys/bus/pci/devices/
14639 for address in * ; do
14640 if [ -d "$address/driver/module" ] ; then
14641 module=`cd $address/driver/module ; pwd -P | xargs basename`
14642 if grep -q "^$module " /proc/modules ; then
14643 address=$(echo $address |sed s/0000://)
14644 id=`lspci -n -s $address | tail -n 1 | awk '{print $3}'`
14645 echo "$id $module"
14646 fi
14647 fi
14648 done
14649 )
14650 echo
14651 fi
14652 </pre>
14653
14654 <p>Similar code could be used to extract USB device module
14655 mappings:</p>
14656
14657 <pre>
14658 if [ -d /sys/bus/usb/devices/ ] ; then
14659 echo loaded usb modules:
14660 (
14661 cd /sys/bus/usb/devices/
14662 for address in * ; do
14663 if [ -d "$address/driver/module" ] ; then
14664 module=`cd $address/driver/module ; pwd -P | xargs basename`
14665 if grep -q "^$module " /proc/modules ; then
14666 address=$(echo $address |sed s/0000://)
14667 id=$(lsusb -s $address | tail -n 1 | awk '{print $6}')
14668 if [ "$id" ] ; then
14669 echo "$id $module"
14670 fi
14671 fi
14672 fi
14673 done
14674 )
14675 echo
14676 fi
14677 </pre>
14678
14679 <p>This might perhaps be something to include in other tools as
14680 well.</p>
14681
14682 </div>
14683 <div class="tags">
14684
14685
14686 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>.
14687
14688
14689 </div>
14690 </div>
14691 <div class="padding"></div>
14692
14693 <div class="entry">
14694 <div class="title">
14695 <a href="http://people.skolelinux.org/pere/blog/The_video_format_most_supported_in_web_browsers_.html">The video format most supported in web browsers?</a>
14696 </div>
14697 <div class="date">
14698 16th January 2011
14699 </div>
14700 <div class="body">
14701 <p>The video format struggle on the web continues, and the three
14702 contenders seem to be Ogg Theora, H.264 and WebM. Most video sites
14703 seem to use H.264, while others use Ogg Theora. Interestingly enough,
14704 the comments I see give me the feeling that a lot of people believe
14705 H.264 is the most supported video format in browsers, but according to
14706 the Wikipedia article on
14707 <a href="http://en.wikipedia.org/wiki/HTML5_video">HTML5 video</a>,
14708 this is not true. Check out the nice table of supprted formats in
14709 different browsers there. The format supported by most browsers is
14710 Ogg Theora, supported by released versions of Mozilla Firefox, Google
14711 Chrome, Chromium, Opera, Konqueror, Epiphany, Origyn Web Browser and
14712 BOLT browser, while not supported by Internet Explorer nor Safari.
14713 The runner up is WebM supported by released versions of Google Chrome
14714 Chromium Opera and Origyn Web Browser, and test versions of Mozilla
14715 Firefox. H.264 is supported by released versions of Safari, Origyn
14716 Web Browser and BOLT browser, and the test version of Internet
14717 Explorer. Those wanting Ogg Theora support in Internet Explorer and
14718 Safari can install plugins to get it.</p>
14719
14720 <p>To me, the simple conclusion from this is that to reach most users
14721 without any extra software installed, one uses Ogg Theora with the
14722 HTML5 video tag. Of course to reach all those without a browser
14723 handling HTML5, one need fallback mechanisms. In
14724 <a href="http://www.nuug.no/">NUUG</a>, we provide first fallback to a
14725 plugin capable of playing MPEG1 video, and those without such support
14726 we have a second fallback to the Cortado java applet playing Ogg
14727 Theora. This seem to work quite well, as can be seen in an <a
14728 href="http://www.nuug.no/aktiviteter/20110111-semantic-web/">example
14729 from last week</a>.</p>
14730
14731 <p>The reason Ogg Theora is the most supported format, and H.264 is
14732 the least supported is simple. Implementing and using H.264
14733 require royalty payment to MPEG-LA, and the terms of use from MPEG-LA
14734 are incompatible with free software licensing. If you believed H.264
14735 was without royalties and license terms, check out
14736 "<a href="http://webmink.com/essays/h-264/">H.264 – Not The Kind Of
14737 Free That Matters</a>" by Simon Phipps.</p>
14738
14739 <p>A incomplete list of sites providing video in Ogg Theora is
14740 available from
14741 <a href="http://wiki.xiph.org/index.php/List_of_Theora_videos">the
14742 Xiph.org wiki</a>, if you want to have a look. I'm not aware of a
14743 similar list for WebM nor H.264.</p>
14744
14745 <p>Update 2011-01-16 09:40: A question from Tollef on IRC made me
14746 realise that I failed to make it clear enough this text is about the
14747 &lt;video&gt; tag support in browsers and not the video support
14748 provided by external plugins like the Flash plugins.</p>
14749
14750 </div>
14751 <div class="tags">
14752
14753
14754 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
14755
14756
14757 </div>
14758 </div>
14759 <div class="padding"></div>
14760
14761 <div class="entry">
14762 <div class="title">
14763 <a href="http://people.skolelinux.org/pere/blog/Chrome_plan_to_drop_H_264_support_for_HTML5__lt_video_gt_.html">Chrome plan to drop H.264 support for HTML5 &lt;video&gt;</a>
14764 </div>
14765 <div class="date">
14766 12th January 2011
14767 </div>
14768 <div class="body">
14769 <p>Today I discovered
14770 <a href="http://www.digi.no/860070/google-dropper-h264-stotten-i-chrome">via
14771 digi.no</a> that the Chrome developers, in a surprising announcement,
14772 <a href="http://blog.chromium.org/2011/01/html-video-codec-support-in-chrome.html">yesterday
14773 announced</a> plans to drop H.264 support for HTML5 &lt;video&gt; in
14774 the browser. The argument used is that H.264 is not a "completely
14775 open" codec technology. If you believe H.264 was free for everyone
14776 to use, I recommend having a look at the essay
14777 "<a href="http://webmink.com/essays/h-264/">H.264 – Not The Kind Of
14778 Free That Matters</a>". It is not free of cost for creators of video
14779 tools, nor those of us that want to publish on the Internet, and the
14780 terms provided by MPEG-LA excludes free software projects from
14781 licensing the patents needed for H.264. Some background information
14782 on the Google announcement is available from
14783 <a href="http://www.osnews.com/story/24243/Google_To_Drop_H264_Support_from_Chrome">OSnews</a>.
14784 A good read. :)</p>
14785
14786 <p>Personally, I believe it is great that Google is taking a stand to
14787 promote equal terms for everyone when it comes to video publishing on
14788 the Internet. This can only be done by publishing using free and open
14789 standards, which is only possible if the web browsers provide support
14790 for these free and open standards. At the moment there seem to be two
14791 camps in the web browser world when it come to video support. Some
14792 browsers support H.264, and others support
14793 <a href="http://www.theora.org/">Ogg Theora</a> and
14794 <a href="http://www.webmproject.org/">WebM</a>
14795 (<a href="http://www.diracvideo.org/">Dirac</a> is not really an option
14796 yet), forcing those of us that want to publish video on the Internet
14797 and which can not accept the terms of use presented by MPEG-LA for
14798 H.264 to not reach all potential viewers.
14799 Wikipedia keep <a href="http://en.wikipedia.org/wiki/HTML5_video">an
14800 updated summary</a> of the current browser support.</p>
14801
14802 <p>Not surprising, several people would prefer Google to keep
14803 promoting H.264, and John Gruber
14804 <a href="http://daringfireball.net/2011/01/simple_questions">presents
14805 the mind set</a> of these people quite well. His rhetorical questions
14806 provoked a reply from Thom Holwerda with another set of questions
14807 <a href="http://www.osnews.com/story/24245/10_Questions_for_John_Gruber_Regarding_H_264_WebM">presenting
14808 the issues with H.264</a>. Both are worth a read.</p>
14809
14810 <p>Some argue that if Google is dropping H.264 because it isn't free,
14811 they should also drop support for the Adobe Flash plugin. This
14812 argument was covered by Simon Phipps in
14813 <a href="http://blogs.computerworlduk.com/simon-says/2011/01/google-and-h264---far-from-hypocritical/index.htm">todays
14814 blog post</a>, which I find to put the issue in context. To me it
14815 make perfect sense to drop native H.264 support for HTML5 in the
14816 browser while still allowing plugins.</p>
14817
14818 <p>I suspect the reason this announcement make so many people protest,
14819 is that all the users and promoters of H.264 suddenly get an uneasy
14820 feeling that they might be backing the wrong horse. A lot of TV
14821 broadcasters have been moving to H.264 the last few years, and a lot
14822 of money has been invested in hardware based on the belief that they
14823 could use the same video format for both broadcasting and web
14824 publishing. Suddenly this belief is shaken.</p>
14825
14826 <p>An interesting question is why Google is doing this. While the
14827 presented argument might be true enough, I believe Google would only
14828 present the argument if the change make sense from a business
14829 perspective. One reason might be that they are currently negotiating
14830 with MPEG-LA over royalties or usage terms, and giving MPEG-LA the
14831 feeling that dropping H.264 completely from Chroome, Youtube and
14832 Google Video would improve the negotiation position of Google.
14833 Another reason might be that Google want to save money by not having
14834 to pay the video tax to MPEG-LA at all, and thus want to move to a
14835 video format not requiring royalties at all. A third reason might be
14836 that the Chrome development team simply want to avoid the
14837 Chrome/Chromium split to get more help with the development of Chrome.
14838 I guess time will tell.</p>
14839
14840 <p>Update 2011-01-15: The Google Chrome team provided
14841 <a href="http://blog.chromium.org/2011/01/more-about-chrome-html-video-codec.html">more
14842 background and information on the move</a> it a blog post yesterday.</p>
14843
14844 </div>
14845 <div class="tags">
14846
14847
14848 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
14849
14850
14851 </div>
14852 </div>
14853 <div class="padding"></div>
14854
14855 <div class="entry">
14856 <div class="title">
14857 <a href="http://people.skolelinux.org/pere/blog/What_standards_are_Free_and_Open_as_defined_by_Digistan_.html">What standards are Free and Open as defined by Digistan?</a>
14858 </div>
14859 <div class="date">
14860 30th December 2010
14861 </div>
14862 <div class="body">
14863 <p>After trying to
14864 <a href="http://people.skolelinux.org/pere/blog/Is_Ogg_Theora_a_free_and_open_standard_.html">compare
14865 Ogg Theora</a> to
14866 <a href="http://www.digistan.org/open-standard:definition">the Digistan
14867 definition</a> of a free and open standard, I concluded that this need
14868 to be done for more standards and started on a framework for doing
14869 this. As a start, I want to get the status for all the standards in
14870 the Norwegian reference directory, which include UTF-8, HTML, PDF, ODF,
14871 JPEG, PNG, SVG and others. But to be able to complete this in a
14872 reasonable time frame, I will need help.</p>
14873
14874 <p>If you want to help out with this work, please visit
14875 <a href="http://wiki.nuug.no/grupper/standard/digistan-analyse">the
14876 wiki pages I have set up for this</a>, and let me know that you want
14877 to help out. The IRC channel #nuug on irc.freenode.net is a good
14878 place to coordinate this for now, as it is the IRC channel for the
14879 NUUG association where I have created the framework (I am the leader
14880 of the Norwegian Unix User Group).</p>
14881
14882 <p>The framework is still forming, and a lot is left to do. Do not be
14883 scared by the sketchy form of the current pages. :)</p>
14884
14885 </div>
14886 <div class="tags">
14887
14888
14889 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
14890
14891
14892 </div>
14893 </div>
14894 <div class="padding"></div>
14895
14896 <div class="entry">
14897 <div class="title">
14898 <a href="http://people.skolelinux.org/pere/blog/The_many_definitions_of_a_open_standard.html">The many definitions of a open standard</a>
14899 </div>
14900 <div class="date">
14901 27th December 2010
14902 </div>
14903 <div class="body">
14904 <p>One of the reasons I like the Digistan definition of
14905 "<a href="http://www.digistan.org/open-standard:definition">Free and
14906 Open Standard</a>" is that this is a new term, and thus the meaning of
14907 the term has been decided by Digistan. The term "Open Standard" has
14908 become so misunderstood that it is no longer very useful when talking
14909 about standards. One end up discussing which definition is the best
14910 one and with such frame the only one gaining are the proponents of
14911 de-facto standards and proprietary solutions.</p>
14912
14913 <p>But to give us an idea about the diversity of definitions of open
14914 standards, here are a few that I know about. This list is not
14915 complete, but can be a starting point for those that want to do a
14916 complete survey. More definitions are available on the
14917 <a href="http://en.wikipedia.org/wiki/Open_standard">wikipedia
14918 page</a>.</p>
14919
14920 <p>First off is my favourite, the definition from the European
14921 Interoperability Framework version 1.0. Really sad to notice that BSA
14922 and others has succeeded in getting it removed from version 2.0 of the
14923 framework by stacking the committee drafting the new version with
14924 their own people. Anyway, the definition is still available and it
14925 include the key properties needed to make sure everyone can use a
14926 specification on equal terms.</p>
14927
14928 <blockquote>
14929
14930 <p>The following are the minimal characteristics that a specification
14931 and its attendant documents must have in order to be considered an
14932 open standard:</p>
14933
14934 <ul>
14935
14936 <li>The standard is adopted and will be maintained by a not-for-profit
14937 organisation, and its ongoing development occurs on the basis of an
14938 open decision-making procedure available to all interested parties
14939 (consensus or majority decision etc.).</li>
14940
14941 <li>The standard has been published and the standard specification
14942 document is available either freely or at a nominal charge. It must be
14943 permissible to all to copy, distribute and use it for no fee or at a
14944 nominal fee.</li>
14945
14946 <li>The intellectual property - i.e. patents possibly present - of
14947 (parts of) the standard is made irrevocably available on a royalty-
14948 free basis.</li>
14949
14950 <li>There are no constraints on the re-use of the standard.</li>
14951
14952 </ul>
14953 </blockquote>
14954
14955 <p>Another one originates from my friends over at
14956 <a href="http://www.dkuug.dk/">DKUUG</a>, who coined and gathered
14957 support for <a href="http://www.aaben-standard.dk/">this
14958 definition</a> in 2004. It even made it into the Danish parlament as
14959 <a href="http://www.ft.dk/dokumenter/tingdok.aspx?/samling/20051/beslutningsforslag/B103/som_fremsat.htm">their
14960 definition of a open standard</a>. Another from a different part of
14961 the Danish government is available from the wikipedia page.</p>
14962
14963 <blockquote>
14964
14965 <p>En åben standard opfylder følgende krav:</p>
14966
14967 <ol>
14968
14969 <li>Veldokumenteret med den fuldstændige specifikation offentligt
14970 tilgængelig.</li>
14971
14972 <li>Frit implementerbar uden økonomiske, politiske eller juridiske
14973 begrænsninger på implementation og anvendelse.</li>
14974
14975 <li>Standardiseret og vedligeholdt i et åbent forum (en såkaldt
14976 "standardiseringsorganisation") via en åben proces.</li>
14977
14978 </ol>
14979
14980 </blockquote>
14981
14982 <p>Then there is <a href="http://www.fsfe.org/projects/os/def.html">the
14983 definition</a> from Free Software Foundation Europe.</p>
14984
14985 <blockquote>
14986
14987 <p>An Open Standard refers to a format or protocol that is</p>
14988
14989 <ol>
14990
14991 <li>subject to full public assessment and use without constraints in a
14992 manner equally available to all parties;</li>
14993
14994 <li>without any components or extensions that have dependencies on
14995 formats or protocols that do not meet the definition of an Open
14996 Standard themselves;</li>
14997
14998 <li>free from legal or technical clauses that limit its utilisation by
14999 any party or in any business model;</li>
15000
15001 <li>managed and further developed independently of any single vendor
15002 in a process open to the equal participation of competitors and third
15003 parties;</li>
15004
15005 <li>available in multiple complete implementations by competing
15006 vendors, or as a complete implementation equally available to all
15007 parties.</li>
15008
15009 </ol>
15010
15011 </blockquote>
15012
15013 <p>A long time ago, SUN Microsystems, now bought by Oracle, created
15014 its
15015 <a href="http://blogs.sun.com/dennisding/resource/Open%20Standard%20Definition.pdf">Open
15016 Standards Checklist</a> with a fairly detailed description.</p>
15017
15018 <blockquote>
15019 <p>Creation and Management of an Open Standard
15020
15021 <ul>
15022
15023 <li>Its development and management process must be collaborative and
15024 democratic:
15025
15026 <ul>
15027
15028 <li>Participation must be accessible to all those who wish to
15029 participate and can meet fair and reasonable criteria
15030 imposed by the organization under which it is developed
15031 and managed.</li>
15032
15033 <li>The processes must be documented and, through a known
15034 method, can be changed through input from all
15035 participants.</li>
15036
15037 <li>The process must be based on formal and binding commitments for
15038 the disclosure and licensing of intellectual property rights.</li>
15039
15040 <li>Development and management should strive for consensus,
15041 and an appeals process must be clearly outlined.</li>
15042
15043 <li>The standard specification must be open to extensive
15044 public review at least once in its life-cycle, with
15045 comments duly discussed and acted upon, if required.</li>
15046
15047 </ul>
15048
15049 </li>
15050
15051 </ul>
15052
15053 <p>Use and Licensing of an Open Standard</p>
15054 <ul>
15055
15056 <li>The standard must describe an interface, not an implementation,
15057 and the industry must be capable of creating multiple, competing
15058 implementations to the interface described in the standard without
15059 undue or restrictive constraints. Interfaces include APIs,
15060 protocols, schemas, data formats and their encoding.</li>
15061
15062 <li> The standard must not contain any proprietary "hooks" that create
15063 a technical or economic barriers</li>
15064
15065 <li>Faithful implementations of the standard must
15066 interoperate. Interoperability means the ability of a computer
15067 program to communicate and exchange information with other computer
15068 programs and mutually to use the information which has been
15069 exchanged. This includes the ability to use, convert, or exchange
15070 file formats, protocols, schemas, interface information or
15071 conventions, so as to permit the computer program to work with other
15072 computer programs and users in all the ways in which they are
15073 intended to function.</li>
15074
15075 <li>It must be permissible for anyone to copy, distribute and read the
15076 standard for a nominal fee, or even no fee. If there is a fee, it
15077 must be low enough to not preclude widespread use.</li>
15078
15079 <li>It must be possible for anyone to obtain free (no royalties or
15080 fees; also known as "royalty free"), worldwide, non-exclusive and
15081 perpetual licenses to all essential patent claims to make, use and
15082 sell products based on the standard. The only exceptions are
15083 terminations per the reciprocity and defensive suspension terms
15084 outlined below. Essential patent claims include pending, unpublished
15085 patents, published patents, and patent applications. The license is
15086 only for the exact scope of the standard in question.
15087
15088 <ul>
15089
15090 <li> May be conditioned only on reciprocal licenses to any of
15091 licensees' patent claims essential to practice that standard
15092 (also known as a reciprocity clause)</li>
15093
15094 <li> May be terminated as to any licensee who sues the licensor
15095 or any other licensee for infringement of patent claims
15096 essential to practice that standard (also known as a
15097 "defensive suspension" clause)</li>
15098
15099 <li> The same licensing terms are available to every potential
15100 licensor</li>
15101
15102 </ul>
15103 </li>
15104
15105 <li>The licensing terms of an open standards must not preclude
15106 implementations of that standard under open source licensing terms
15107 or restricted licensing terms</li>
15108
15109 </ul>
15110
15111 </blockquote>
15112
15113 <p>It is said that one of the nice things about standards is that
15114 there are so many of them. As you can see, the same holds true for
15115 open standard definitions. Most of the definitions have a lot in
15116 common, and it is not really controversial what properties a open
15117 standard should have, but the diversity of definitions have made it
15118 possible for those that want to avoid a level marked field and real
15119 competition to downplay the significance of open standards. I hope we
15120 can turn this tide by focusing on the advantages of Free and Open
15121 Standards.</p>
15122
15123 </div>
15124 <div class="tags">
15125
15126
15127 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
15128
15129
15130 </div>
15131 </div>
15132 <div class="padding"></div>
15133
15134 <div class="entry">
15135 <div class="title">
15136 <a href="http://people.skolelinux.org/pere/blog/Is_Ogg_Theora_a_free_and_open_standard_.html">Is Ogg Theora a free and open standard?</a>
15137 </div>
15138 <div class="date">
15139 25th December 2010
15140 </div>
15141 <div class="body">
15142 <p><a href="http://www.digistan.org/open-standard:definition">The
15143 Digistan definition</a> of a free and open standard reads like this:</p>
15144
15145 <blockquote>
15146
15147 <p>The Digital Standards Organization defines free and open standard
15148 as follows:</p>
15149
15150 <ol>
15151
15152 <li>A free and open standard is immune to vendor capture at all stages
15153 in its life-cycle. Immunity from vendor capture makes it possible to
15154 freely use, improve upon, trust, and extend a standard over time.</li>
15155
15156 <li>The standard is adopted and will be maintained by a not-for-profit
15157 organisation, and its ongoing development occurs on the basis of an
15158 open decision-making procedure available to all interested
15159 parties.</li>
15160
15161 <li>The standard has been published and the standard specification
15162 document is available freely. It must be permissible to all to copy,
15163 distribute, and use it freely.</li>
15164
15165 <li>The patents possibly present on (parts of) the standard are made
15166 irrevocably available on a royalty-free basis.</li>
15167
15168 <li>There are no constraints on the re-use of the standard.</li>
15169
15170 </ol>
15171
15172 <p>The economic outcome of a free and open standard, which can be
15173 measured, is that it enables perfect competition between suppliers of
15174 products based on the standard.</p>
15175 </blockquote>
15176
15177 <p>For a while now I have tried to figure out of Ogg Theora is a free
15178 and open standard according to this definition. Here is a short
15179 writeup of what I have been able to gather so far. I brought up the
15180 topic on the Xiph advocacy mailing list
15181 <a href="http://lists.xiph.org/pipermail/advocacy/2009-July/001632.html">in
15182 July 2009</a>, for those that want to see some background information.
15183 According to Ivo Emanuel Gonçalves and Monty Montgomery on that list
15184 the Ogg Theora specification fulfils the Digistan definition.</p>
15185
15186 <p><strong>Free from vendor capture?</strong></p>
15187
15188 <p>As far as I can see, there is no single vendor that can control the
15189 Ogg Theora specification. It can be argued that the
15190 <a href="http://www.xiph.org/">Xiph foundation</A> is such vendor, but
15191 given that it is a non-profit foundation with the expressed goal
15192 making free and open protocols and standards available, it is not
15193 obvious that this is a real risk. One issue with the Xiph
15194 foundation is that its inner working (as in board member list, or who
15195 control the foundation) are not easily available on the web. I've
15196 been unable to find out who is in the foundation board, and have not
15197 seen any accounting information documenting how money is handled nor
15198 where is is spent in the foundation. It is thus not obvious for an
15199 external observer who control The Xiph foundation, and for all I know
15200 it is possible for a single vendor to take control over the
15201 specification. But it seem unlikely.</p>
15202
15203 <p><strong>Maintained by open not-for-profit organisation?</strong></p>
15204
15205 <p>Assuming that the Xiph foundation is the organisation its web pages
15206 claim it to be, this point is fulfilled. If Xiph foundation is
15207 controlled by a single vendor, it isn't, but I have not found any
15208 documentation indicating this.</p>
15209
15210 <p>According to
15211 <a href="http://media.hiof.no/diverse/fad/rapport_4.pdf">a report</a>
15212 prepared by Audun Vaaler og Børre Ludvigsen for the Norwegian
15213 government, the Xiph foundation is a non-commercial organisation and
15214 the development process is open, transparent and non-Discrimatory.
15215 Until proven otherwise, I believe it make most sense to believe the
15216 report is correct.</p>
15217
15218 <p><strong>Specification freely available?</strong></p>
15219
15220 <p>The specification for the <a href="http://www.xiph.org/ogg/doc/">Ogg
15221 container format</a> and both the
15222 <a href="http://www.xiph.org/vorbis/doc/">Vorbis</a> and
15223 <a href="http://theora.org/doc/">Theora</a> codeces are available on
15224 the web. This are the terms in the Vorbis and Theora specification:
15225
15226 <blockquote>
15227
15228 Anyone may freely use and distribute the Ogg and [Vorbis/Theora]
15229 specifications, whether in private, public, or corporate
15230 capacity. However, the Xiph.Org Foundation and the Ogg project reserve
15231 the right to set the Ogg [Vorbis/Theora] specification and certify
15232 specification compliance.
15233
15234 </blockquote>
15235
15236 <p>The Ogg container format is specified in IETF
15237 <a href="http://www.xiph.org/ogg/doc/rfc3533.txt">RFC 3533</a>, and
15238 this is the term:<p>
15239
15240 <blockquote>
15241
15242 <p>This document and translations of it may be copied and furnished to
15243 others, and derivative works that comment on or otherwise explain it
15244 or assist in its implementation may be prepared, copied, published and
15245 distributed, in whole or in part, without restriction of any kind,
15246 provided that the above copyright notice and this paragraph are
15247 included on all such copies and derivative works. However, this
15248 document itself may not be modified in any way, such as by removing
15249 the copyright notice or references to the Internet Society or other
15250 Internet organizations, except as needed for the purpose of developing
15251 Internet standards in which case the procedures for copyrights defined
15252 in the Internet Standards process must be followed, or as required to
15253 translate it into languages other than English.</p>
15254
15255 <p>The limited permissions granted above are perpetual and will not be
15256 revoked by the Internet Society or its successors or assigns.</p>
15257 </blockquote>
15258
15259 <p>All these terms seem to allow unlimited distribution and use, an
15260 this term seem to be fulfilled. There might be a problem with the
15261 missing permission to distribute modified versions of the text, and
15262 thus reuse it in other specifications. Not quite sure if that is a
15263 requirement for the Digistan definition.</p>
15264
15265 <p><strong>Royalty-free?</strong></p>
15266
15267 <p>There are no known patent claims requiring royalties for the Ogg
15268 Theora format.
15269 <a href="http://www.streamingmedia.com/Articles/ReadArticle.aspx?ArticleID=65782">MPEG-LA</a>
15270 and
15271 <a href="http://yro.slashdot.org/story/10/04/30/237238/Steve-Jobs-Hints-At-Theora-Lawsuit">Steve
15272 Jobs</a> in Apple claim to know about some patent claims (submarine
15273 patents) against the Theora format, but no-one else seem to believe
15274 them. Both Opera Software and the Mozilla Foundation have looked into
15275 this and decided to implement Ogg Theora support in their browsers
15276 without paying any royalties. For now the claims from MPEG-LA and
15277 Steve Jobs seem more like FUD to scare people to use the H.264 codec
15278 than any real problem with Ogg Theora.</p>
15279
15280 <p><strong>No constraints on re-use?</strong></p>
15281
15282 <p>I am not aware of any constraints on re-use.</p>
15283
15284 <p><strong>Conclusion</strong></p>
15285
15286 <p>3 of 5 requirements seem obviously fulfilled, and the remaining 2
15287 depend on the governing structure of the Xiph foundation. Given the
15288 background report used by the Norwegian government, I believe it is
15289 safe to assume the last two requirements are fulfilled too, but it
15290 would be nice if the Xiph foundation web site made it easier to verify
15291 this.</p>
15292
15293 <p>It would be nice to see other analysis of other specifications to
15294 see if they are free and open standards.</p>
15295
15296 </div>
15297 <div class="tags">
15298
15299
15300 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
15301
15302
15303 </div>
15304 </div>
15305 <div class="padding"></div>
15306
15307 <div class="entry">
15308 <div class="title">
15309 <a href="http://people.skolelinux.org/pere/blog/The_reply_from_Edgar_Villanueva_to_Microsoft_in_Peru.html">The reply from Edgar Villanueva to Microsoft in Peru</a>
15310 </div>
15311 <div class="date">
15312 25th December 2010
15313 </div>
15314 <div class="body">
15315 <p>A few days ago
15316 <a href="http://www.idg.no/computerworld/article189879.ece">an
15317 article</a> in the Norwegian Computerworld magazine about how version
15318 2.0 of
15319 <a href="http://en.wikipedia.org/wiki/European_Interoperability_Framework">European
15320 Interoperability Framework</a> has been successfully lobbied by the
15321 proprietary software industry to remove the focus on free software.
15322 Nothing very surprising there, given
15323 <a href="http://news.slashdot.org/story/10/03/29/2115235/Open-Source-Open-Standards-Under-Attack-In-Europe">earlier
15324 reports</a> on how Microsoft and others have stacked the committees in
15325 this work. But I find this very sad. The definition of
15326 <a href="http://www.nuug.no/dokumenter/standard-presse-def-200506.txt">an
15327 open standard from version 1</a> was very good, and something I
15328 believe should be used also in the future, alongside
15329 <a href="http://www.digistan.org/open-standard:definition">the
15330 definition from Digistan</A>. Version 2 have removed the open
15331 standard definition from its content.</p>
15332
15333 <p>Anyway, the news reminded me of the great reply sent by Dr. Edgar
15334 Villanueva, congressman in Peru at the time, to Microsoft as a reply
15335 to Microsofts attack on his proposal regarding the use of free software
15336 in the public sector in Peru. As the text was not available from a
15337 few of the URLs where it used to be available, I copy it here from
15338 <a href="http://gnuwin.epfl.ch/articles/en/reponseperou/villanueva_to_ms.html">my
15339 source</a> to ensure it is available also in the future. Some
15340 background information about that story is available in
15341 <a href="http://www.linuxjournal.com/article/6099">an article</a> from
15342 Linux Journal in 2002.</p>
15343
15344 <blockquote>
15345 <p>Lima, 8th of April, 2002<br>
15346 To: Señor JUAN ALBERTO GONZÁLEZ<br>
15347 General Manager of Microsoft Perú</p>
15348
15349 <p>Dear Sir:</p>
15350
15351 <p>First of all, I thank you for your letter of March 25, 2002 in which you state the official position of Microsoft relative to Bill Number 1609, Free Software in Public Administration, which is indubitably inspired by the desire for Peru to find a suitable place in the global technological context. In the same spirit, and convinced that we will find the best solutions through an exchange of clear and open ideas, I will take this opportunity to reply to the commentaries included in your letter.</p>
15352
15353 <p>While acknowledging that opinions such as yours constitute a significant contribution, it would have been even more worthwhile for me if, rather than formulating objections of a general nature (which we will analyze in detail later) you had gathered solid arguments for the advantages that proprietary software could bring to the Peruvian State, and to its citizens in general, since this would have allowed a more enlightening exchange in respect of each of our positions.</p>
15354
15355 <p>With the aim of creating an orderly debate, we will assume that what you call "open source software" is what the Bill defines as "free software", since there exists software for which the source code is distributed together with the program, but which does not fall within the definition established by the Bill; and that what you call "commercial software" is what the Bill defines as "proprietary" or "unfree", given that there exists free software which is sold in the market for a price like any other good or service.</p>
15356
15357 <p>It is also necessary to make it clear that the aim of the Bill we are discussing is not directly related to the amount of direct savings that can by made by using free software in state institutions. That is in any case a marginal aggregate value, but in no way is it the chief focus of the Bill. The basic principles which inspire the Bill are linked to the basic guarantees of a state of law, such as:</p>
15358
15359 <p>
15360 <ul>
15361 <li>Free access to public information by the citizen. </li>
15362 <li>Permanence of public data. </li>
15363 <li>Security of the State and citizens.</li>
15364 </ul>
15365 </p>
15366
15367 <p>To guarantee the free access of citizens to public information, it is indispensable that the encoding of data is not tied to a single provider. The use of standard and open formats gives a guarantee of this free access, if necessary through the creation of compatible free software.</p>
15368
15369 <p>To guarantee the permanence of public data, it is necessary that the usability and maintenance of the software does not depend on the goodwill of the suppliers, or on the monopoly conditions imposed by them. For this reason the State needs systems the development of which can be guaranteed due to the availability of the source code.</p>
15370
15371 <p>To guarantee national security or the security of the State, it is indispensable to be able to rely on systems without elements which allow control from a distance or the undesired transmission of information to third parties. Systems with source code freely accessible to the public are required to allow their inspection by the State itself, by the citizens, and by a large number of independent experts throughout the world. Our proposal brings further security, since the knowledge of the source code will eliminate the growing number of programs with *spy code*. </p>
15372
15373 <p>In the same way, our proposal strengthens the security of the citizens, both in their role as legitimate owners of information managed by the state, and in their role as consumers. In this second case, by allowing the growth of a widespread availability of free software not containing *spy code* able to put at risk privacy and individual freedoms.</p>
15374
15375 <p>In this sense, the Bill is limited to establishing the conditions under which the state bodies will obtain software in the future, that is, in a way compatible with these basic principles.</p>
15376
15377
15378 <p>From reading the Bill it will be clear that once passed:<br>
15379 <li>the law does not forbid the production of proprietary software</li>
15380 <li>the law does not forbid the sale of proprietary software</li>
15381 <li>the law does not specify which concrete software to use</li>
15382 <li>the law does not dictate the supplier from whom software will be bought</li>
15383 <li>the law does not limit the terms under which a software product can be licensed.</li>
15384
15385 </p>
15386
15387 <p>What the Bill does express clearly, is that, for software to be acceptable for the state it is not enough that it is technically capable of fulfilling a task, but that further the contractual conditions must satisfy a series of requirements regarding the license, without which the State cannot guarantee the citizen adequate processing of his data, watching over its integrity, confidentiality, and accessibility throughout time, as these are very critical aspects for its normal functioning.</p>
15388
15389 <p>We agree, Mr. Gonzalez, that information and communication technology have a significant impact on the quality of life of the citizens (whether it be positive or negative). We surely also agree that the basic values I have pointed out above are fundamental in a democratic state like Peru. So we are very interested to know of any other way of guaranteeing these principles, other than through the use of free software in the terms defined by the Bill.</p>
15390
15391 <p>As for the observations you have made, we will now go on to analyze them in detail:</p>
15392
15393 <p>Firstly, you point out that: "1. The bill makes it compulsory for all public bodies to use only free software, that is to say open source software, which breaches the principles of equality before the law, that of non-discrimination and the right of free private enterprise, freedom of industry and of contract, protected by the constitution."</p>
15394
15395 <p>This understanding is in error. The Bill in no way affects the rights you list; it limits itself entirely to establishing conditions for the use of software on the part of state institutions, without in any way meddling in private sector transactions. It is a well established principle that the State does not enjoy the wide spectrum of contractual freedom of the private sector, as it is limited in its actions precisely by the requirement for transparency of public acts; and in this sense, the preservation of the greater common interest must prevail when legislating on the matter.</p>
15396
15397 <p>The Bill protects equality under the law, since no natural or legal person is excluded from the right of offering these goods to the State under the conditions defined in the Bill and without more limitations than those established by the Law of State Contracts and Purchasing (T.U.O. by Supreme Decree No. 012-2001-PCM).</p>
15398
15399 <p>The Bill does not introduce any discrimination whatever, since it only establishes *how* the goods have to be provided (which is a state power) and not *who* has to provide them (which would effectively be discriminatory, if restrictions based on national origin, race religion, ideology, sexual preference etc. were imposed). On the contrary, the Bill is decidedly antidiscriminatory. This is so because by defining with no room for doubt the conditions for the provision of software, it prevents state bodies from using software which has a license including discriminatory conditions.</p>
15400
15401 <p>It should be obvious from the preceding two paragraphs that the Bill does not harm free private enterprise, since the latter can always choose under what conditions it will produce software; some of these will be acceptable to the State, and others will not be since they contradict the guarantee of the basic principles listed above. This free initiative is of course compatible with the freedom of industry and freedom of contract (in the limited form in which the State can exercise the latter). Any private subject can produce software under the conditions which the State requires, or can refrain from doing so. Nobody is forced to adopt a model of production, but if they wish to provide software to the State, they must provide the mechanisms which guarantee the basic principles, and which are those described in the Bill.</p>
15402
15403 <p>By way of an example: nothing in the text of the Bill would prevent your company offering the State bodies an office "suite", under the conditions defined in the Bill and setting the price that you consider satisfactory. If you did not, it would not be due to restrictions imposed by the law, but to business decisions relative to the method of commercializing your products, decisions with which the State is not involved.</p>
15404
15405 <p>To continue; you note that:" 2. The bill, by making the use of open source software compulsory, would establish discriminatory and non competitive practices in the contracting and purchasing by public bodies..."</p>
15406
15407 <p>This statement is just a reiteration of the previous one, and so the response can be found above. However, let us concern ourselves for a moment with your comment regarding "non-competitive ... practices."</p>
15408
15409 <p>Of course, in defining any kind of purchase, the buyer sets conditions which relate to the proposed use of the good or service. From the start, this excludes certain manufacturers from the possibility of competing, but does not exclude them "a priori", but rather based on a series of principles determined by the autonomous will of the purchaser, and so the process takes place in conformance with the law. And in the Bill it is established that *no one* is excluded from competing as far as he guarantees the fulfillment of the basic principles.</p>
15410
15411 <p>Furthermore, the Bill *stimulates* competition, since it tends to generate a supply of software with better conditions of usability, and to better existing work, in a model of continuous improvement.</p>
15412
15413 <p>On the other hand, the central aspect of competivity is the chance to provide better choices to the consumer. Now, it is impossible to ignore the fact that marketing does not play a neutral role when the product is offered on the market (since accepting the opposite would lead one to suppose that firms' expenses in marketing lack any sense), and that therefore a significant expense under this heading can influence the decisions of the purchaser. This influence of marketing is in large measure reduced by the bill that we are backing, since the choice within the framework proposed is based on the *technical merits* of the product and not on the effort put into commercialization by the producer; in this sense, competitiveness is increased, since the smallest software producer can compete on equal terms with the most powerful corporations.</p>
15414
15415 <p>It is necessary to stress that there is no position more anti-competitive than that of the big software producers, which frequently abuse their dominant position, since in innumerable cases they propose as a solution to problems raised by users: "update your software to the new version" (at the user's expense, naturally); furthermore, it is common to find arbitrary cessation of technical help for products, which, in the provider's judgment alone, are "old"; and so, to receive any kind of technical assistance, the user finds himself forced to migrate to new versions (with non-trivial costs, especially as changes in hardware platform are often involved). And as the whole infrastructure is based on proprietary data formats, the user stays "trapped" in the need to continue using products from the same supplier, or to make the huge effort to change to another environment (probably also proprietary).</p>
15416
15417 <p>You add: "3. So, by compelling the State to favor a business model based entirely on open source, the bill would only discourage the local and international manufacturing companies, which are the ones which really undertake important expenditures, create a significant number of direct and indirect jobs, as well as contributing to the GNP, as opposed to a model of open source software which tends to have an ever weaker economic impact, since it mainly creates jobs in the service sector."</p>
15418
15419 <p>I do not agree with your statement. Partly because of what you yourself point out in paragraph 6 of your letter, regarding the relative weight of services in the context of software use. This contradiction alone would invalidate your position. The service model, adopted by a large number of companies in the software industry, is much larger in economic terms, and with a tendency to increase, than the licensing of programs.</p>
15420
15421 <p>On the other hand, the private sector of the economy has the widest possible freedom to choose the economic model which best suits its interests, even if this freedom of choice is often obscured subliminally by the disproportionate expenditure on marketing by the producers of proprietary software.</p>
15422
15423 <p>In addition, a reading of your opinion would lead to the conclusion that the State market is crucial and essential for the proprietary software industry, to such a point that the choice made by the State in this bill would completely eliminate the market for these firms. If that is true, we can deduce that the State must be subsidizing the proprietary software industry. In the unlikely event that this were true, the State would have the right to apply the subsidies in the area it considered of greatest social value; it is undeniable, in this improbable hypothesis, that if the State decided to subsidize software, it would have to do so choosing the free over the proprietary, considering its social effect and the rational use of taxpayers money.</p>
15424
15425 <p>In respect of the jobs generated by proprietary software in countries like ours, these mainly concern technical tasks of little aggregate value; at the local level, the technicians who provide support for proprietary software produced by transnational companies do not have the possibility of fixing bugs, not necessarily for lack of technical capability or of talent, but because they do not have access to the source code to fix it. With free software one creates more technically qualified employment and a framework of free competence where success is only tied to the ability to offer good technical support and quality of service, one stimulates the market, and one increases the shared fund of knowledge, opening up alternatives to generate services of greater total value and a higher quality level, to the benefit of all involved: producers, service organizations, and consumers.</p>
15426
15427 <p>It is a common phenomenon in developing countries that local software industries obtain the majority of their takings in the service sector, or in the creation of "ad hoc" software. Therefore, any negative impact that the application of the Bill might have in this sector will be more than compensated by a growth in demand for services (as long as these are carried out to high quality standards). If the transnational software companies decide not to compete under these new rules of the game, it is likely that they will undergo some decrease in takings in terms of payment for licenses; however, considering that these firms continue to allege that much of the software used by the State has been illegally copied, one can see that the impact will not be very serious. Certainly, in any case their fortune will be determined by market laws, changes in which cannot be avoided; many firms traditionally associated with proprietary software have already set out on the road (supported by copious expense) of providing services associated with free software, which shows that the models are not mutually exclusive.</p>
15428
15429 <p>With this bill the State is deciding that it needs to preserve certain fundamental values. And it is deciding this based on its sovereign power, without affecting any of the constitutional guarantees. If these values could be guaranteed without having to choose a particular economic model, the effects of the law would be even more beneficial. In any case, it should be clear that the State does not choose an economic model; if it happens that there only exists one economic model capable of providing software which provides the basic guarantee of these principles, this is because of historical circumstances, not because of an arbitrary choice of a given model.</p>
15430
15431 <p>Your letter continues: "4. The bill imposes the use of open source software without considering the dangers that this can bring from the point of view of security, guarantee, and possible violation of the intellectual property rights of third parties."</p>
15432
15433 <p>Alluding in an abstract way to "the dangers this can bring", without specifically mentioning a single one of these supposed dangers, shows at the least some lack of knowledge of the topic. So, allow me to enlighten you on these points.</p>
15434
15435 <p>On security:</p>
15436
15437 <p>National security has already been mentioned in general terms in the initial discussion of the basic principles of the bill. In more specific terms, relative to the security of the software itself, it is well known that all software (whether proprietary or free) contains errors or "bugs" (in programmers' slang). But it is also well known that the bugs in free software are fewer, and are fixed much more quickly, than in proprietary software. It is not in vain that numerous public bodies responsible for the IT security of state systems in developed countries require the use of free software for the same conditions of security and efficiency.</p>
15438
15439 <p>What is impossible to prove is that proprietary software is more secure than free, without the public and open inspection of the scientific community and users in general. This demonstration is impossible because the model of proprietary software itself prevents this analysis, so that any guarantee of security is based only on promises of good intentions (biased, by any reckoning) made by the producer itself, or its contractors.</p>
15440
15441 <p>It should be remembered that in many cases, the licensing conditions include Non-Disclosure clauses which prevent the user from publicly revealing security flaws found in the licensed proprietary product.</p>
15442
15443 <p>In respect of the guarantee:</p>
15444
15445 <p>As you know perfectly well, or could find out by reading the "End User License Agreement" of the products you license, in the great majority of cases the guarantees are limited to replacement of the storage medium in case of defects, but in no case is compensation given for direct or indirect damages, loss of profits, etc... If as a result of a security bug in one of your products, not fixed in time by yourselves, an attacker managed to compromise crucial State systems, what guarantees, reparations and compensation would your company make in accordance with your licensing conditions? The guarantees of proprietary software, inasmuch as programs are delivered ``AS IS'', that is, in the state in which they are, with no additional responsibility of the provider in respect of function, in no way differ from those normal with free software.</p>
15446
15447 <p>On Intellectual Property:</p>
15448
15449 <p>Questions of intellectual property fall outside the scope of this bill, since they are covered by specific other laws. The model of free software in no way implies ignorance of these laws, and in fact the great majority of free software is covered by copyright. In reality, the inclusion of this question in your observations shows your confusion in respect of the legal framework in which free software is developed. The inclusion of the intellectual property of others in works claimed as one's own is not a practice that has been noted in the free software community; whereas, unfortunately, it has been in the area of proprietary software. As an example, the condemnation by the Commercial Court of Nanterre, France, on 27th September 2001 of Microsoft Corp. to a penalty of 3 million francs in damages and interest, for violation of intellectual property (piracy, to use the unfortunate term that your firm commonly uses in its publicity).</p>
15450
15451 <p>You go on to say that: "The bill uses the concept of open source software incorrectly, since it does not necessarily imply that the software is free or of zero cost, and so arrives at mistaken conclusions regarding State savings, with no cost-benefit analysis to validate its position."</p>
15452
15453 <p>This observation is wrong; in principle, freedom and lack of cost are orthogonal concepts: there is software which is proprietary and charged for (for example, MS Office), software which is proprietary and free of charge (MS Internet Explorer), software which is free and charged for (Red Hat, SuSE etc GNU/Linux distributions), software which is free and not charged for (Apache, Open Office, Mozilla), and even software which can be licensed in a range of combinations (MySQL).</p>
15454
15455 <p>Certainly free software is not necessarily free of charge. And the text of the bill does not state that it has to be so, as you will have noted after reading it. The definitions included in the Bill state clearly *what* should be considered free software, at no point referring to freedom from charges. Although the possibility of savings in payments for proprietary software licenses are mentioned, the foundations of the bill clearly refer to the fundamental guarantees to be preserved and to the stimulus to local technological development. Given that a democratic State must support these principles, it has no other choice than to use software with publicly available source code, and to exchange information only in standard formats.</p>
15456
15457 <p>If the State does not use software with these characteristics, it will be weakening basic republican principles. Luckily, free software also implies lower total costs; however, even given the hypothesis (easily disproved) that it was more expensive than proprietary software, the simple existence of an effective free software tool for a particular IT function would oblige the State to use it; not by command of this Bill, but because of the basic principles we enumerated at the start, and which arise from the very essence of the lawful democratic State.</p>
15458
15459 <p>You continue: "6. It is wrong to think that Open Source Software is free of charge. Research by the Gartner Group (an important investigator of the technological market recognized at world level) has shown that the cost of purchase of software (operating system and applications) is only 8% of the total cost which firms and institutions take on for a rational and truly beneficial use of the technology. The other 92% consists of: installation costs, enabling, support, maintenance, administration, and down-time."</p>
15460
15461 <p>This argument repeats that already given in paragraph 5 and partly contradicts paragraph 3. For the sake of brevity we refer to the comments on those paragraphs. However, allow me to point out that your conclusion is logically false: even if according to Gartner Group the cost of software is on average only 8% of the total cost of use, this does not in any way deny the existence of software which is free of charge, that is, with a licensing cost of zero.</p>
15462
15463 <p>In addition, in this paragraph you correctly point out that the service components and losses due to down-time make up the largest part of the total cost of software use, which, as you will note, contradicts your statement regarding the small value of services suggested in paragraph 3. Now the use of free software contributes significantly to reduce the remaining life-cycle costs. This reduction in the costs of installation, support etc. can be noted in several areas: in the first place, the competitive service model of free software, support and maintenance for which can be freely contracted out to a range of suppliers competing on the grounds of quality and low cost. This is true for installation, enabling, and support, and in large part for maintenance. In the second place, due to the reproductive characteristics of the model, maintenance carried out for an application is easily replicable, without incurring large costs (that is, without paying more than once for the same thing) since modifications, if one wishes, can be incorporated in the common fund of knowledge. Thirdly, the huge costs caused by non-functioning software ("blue screens of death", malicious code such as virus, worms, and trojans, exceptions, general protection faults and other well-known problems) are reduced considerably by using more stable software; and it is well known that one of the most notable virtues of free software is its stability.</p>
15464
15465 <p>You further state that: "7. One of the arguments behind the bill is the supposed freedom from costs of open-source software, compared with the costs of commercial software, without taking into account the fact that there exist types of volume licensing which can be highly advantageous for the State, as has happened in other countries."</p>
15466
15467 <p>I have already pointed out that what is in question is not the cost of the software but the principles of freedom of information, accessibility, and security. These arguments have been covered extensively in the preceding paragraphs to which I would refer you.</p>
15468
15469 <p>On the other hand, there certainly exist types of volume licensing (although unfortunately proprietary software does not satisfy the basic principles). But as you correctly pointed out in the immediately preceding paragraph of your letter, they only manage to reduce the impact of a component which makes up no more than 8% of the total.</p>
15470
15471 <p>You continue: "8. In addition, the alternative adopted by the bill (I) is clearly more expensive, due to the high costs of software migration, and (II) puts at risk compatibility and interoperability of the IT platforms within the State, and between the State and the private sector, given the hundreds of versions of open source software on the market."</p>
15472
15473 <p>Let us analyze your statement in two parts. Your first argument, that migration implies high costs, is in reality an argument in favor of the Bill. Because the more time goes by, the more difficult migration to another technology will become; and at the same time, the security risks associated with proprietary software will continue to increase. In this way, the use of proprietary systems and formats will make the State ever more dependent on specific suppliers. Once a policy of using free software has been established (which certainly, does imply some cost) then on the contrary migration from one system to another becomes very simple, since all data is stored in open formats. On the other hand, migration to an open software context implies no more costs than migration between two different proprietary software contexts, which invalidates your argument completely.</p>
15474
15475 <p>The second argument refers to "problems in interoperability of the IT platforms within the State, and between the State and the private sector" This statement implies a certain lack of knowledge of the way in which free software is built, which does not maximize the dependence of the user on a particular platform, as normally happens in the realm of proprietary software. Even when there are multiple free software distributions, and numerous programs which can be used for the same function, interoperability is guaranteed as much by the use of standard formats, as required by the bill, as by the possibility of creating interoperable software given the availability of the source code.</p>
15476
15477 <p>You then say that: "9. The majority of open source code does not offer adequate levels of service nor the guarantee from recognized manufacturers of high productivity on the part of the users, which has led various public organizations to retract their decision to go with an open source software solution and to use commercial software in its place."</p>
15478
15479 <p>This observation is without foundation. In respect of the guarantee, your argument was rebutted in the response to paragraph 4. In respect of support services, it is possible to use free software without them (just as also happens with proprietary software), but anyone who does need them can obtain support separately, whether from local firms or from international corporations, again just as in the case of proprietary software.</p>
15480
15481 <p>On the other hand, it would contribute greatly to our analysis if you could inform us about free software projects *established* in public bodies which have already been abandoned in favor of proprietary software. We know of a good number of cases where the opposite has taken place, but not know of any where what you describe has taken place.</p>
15482
15483 <p>You continue by observing that: "10. The bill discourages the creativity of the Peruvian software industry, which invoices 40 million US$/year, exports 4 million US$ (10th in ranking among non-traditional exports, more than handicrafts) and is a source of highly qualified employment. With a law that encourages the use of open source, software programmers lose their intellectual property rights and their main source of payment."</p>
15484
15485 <p>It is clear enough that nobody is forced to commercialize their code as free software. The only thing to take into account is that if it is not free software, it cannot be sold to the public sector. This is not in any case the main market for the national software industry. We covered some questions referring to the influence of the Bill on the generation of employment which would be both highly technically qualified and in better conditions for competition above, so it seems unnecessary to insist on this point.</p>
15486
15487 <p>What follows in your statement is incorrect. On the one hand, no author of free software loses his intellectual property rights, unless he expressly wishes to place his work in the public domain. The free software movement has always been very respectful of intellectual property, and has generated widespread public recognition of its authors. Names like those of Richard Stallman, Linus Torvalds, Guido van Rossum, Larry Wall, Miguel de Icaza, Andrew Tridgell, Theo de Raadt, Andrea Arcangeli, Bruce Perens, Darren Reed, Alan Cox, Eric Raymond, and many others, are recognized world-wide for their contributions to the development of software that is used today by millions of people throughout the world. On the other hand, to say that the rewards for authors rights make up the main source of payment of Peruvian programmers is in any case a guess, in particular since there is no proof to this effect, nor a demonstration of how the use of free software by the State would influence these payments.</p>
15488
15489 <p>You go on to say that: "11. Open source software, since it can be distributed without charge, does not allow the generation of income for its developers through exports. In this way, the multiplier effect of the sale of software to other countries is weakened, and so in turn is the growth of the industry, while Government rules ought on the contrary to stimulate local industry."</p>
15490
15491 <p>This statement shows once again complete ignorance of the mechanisms of and market for free software. It tries to claim that the market of sale of non- exclusive rights for use (sale of licenses) is the only possible one for the software industry, when you yourself pointed out several paragraphs above that it is not even the most important one. The incentives that the bill offers for the growth of a supply of better qualified professionals, together with the increase in experience that working on a large scale with free software within the State will bring for Peruvian technicians, will place them in a highly competitive position to offer their services abroad.</p>
15492
15493 <p>You then state that: "12. In the Forum, the use of open source software in education was discussed, without mentioning the complete collapse of this initiative in a country like Mexico, where precisely the State employees who founded the project now state that open source software did not make it possible to offer a learning experience to pupils in the schools, did not take into account the capability at a national level to give adequate support to the platform, and that the software did not and does not allow for the levels of platform integration that now exist in schools."</p>
15494
15495 <p>In fact Mexico has gone into reverse with the Red Escolar (Schools Network) project. This is due precisely to the fact that the driving forces behind the Mexican project used license costs as their main argument, instead of the other reasons specified in our project, which are far more essential. Because of this conceptual mistake, and as a result of the lack of effective support from the SEP (Secretary of State for Public Education), the assumption was made that to implant free software in schools it would be enough to drop their software budget and send them a CD ROM with Gnu/Linux instead. Of course this failed, and it couldn't have been otherwise, just as school laboratories fail when they use proprietary software and have no budget for implementation and maintenance. That's exactly why our bill is not limited to making the use of free software mandatory, but recognizes the need to create a viable migration plan, in which the State undertakes the technical transition in an orderly way in order to then enjoy the advantages of free software.</p>
15496
15497 <p>You end with a rhetorical question: "13. If open source software satisfies all the requirements of State bodies, why do you need a law to adopt it? Shouldn't it be the market which decides freely which products give most benefits or value?"</p>
15498
15499 <p>We agree that in the private sector of the economy, it must be the market that decides which products to use, and no state interference is permissible there. However, in the case of the public sector, the reasoning is not the same: as we have already established, the state archives, handles, and transmits information which does not belong to it, but which is entrusted to it by citizens, who have no alternative under the rule of law. As a counterpart to this legal requirement, the State must take extreme measures to safeguard the integrity, confidentiality, and accessibility of this information. The use of proprietary software raises serious doubts as to whether these requirements can be fulfilled, lacks conclusive evidence in this respect, and so is not suitable for use in the public sector.</p>
15500
15501 <p>The need for a law is based, firstly, on the realization of the fundamental principles listed above in the specific area of software; secondly, on the fact that the State is not an ideal homogeneous entity, but made up of multiple bodies with varying degrees of autonomy in decision making. Given that it is inappropriate to use proprietary software, the fact of establishing these rules in law will prevent the personal discretion of any state employee from putting at risk the information which belongs to citizens. And above all, because it constitutes an up-to-date reaffirmation in relation to the means of management and communication of information used today, it is based on the republican principle of openness to the public.</p>
15502
15503 <p>In conformance with this universally accepted principle, the citizen has the right to know all information held by the State and not covered by well- founded declarations of secrecy based on law. Now, software deals with information and is itself information. Information in a special form, capable of being interpreted by a machine in order to execute actions, but crucial information all the same because the citizen has a legitimate right to know, for example, how his vote is computed or his taxes calculated. And for that he must have free access to the source code and be able to prove to his satisfaction the programs used for electoral computations or calculation of his taxes.</p>
15504
15505 <p>I wish you the greatest respect, and would like to repeat that my office will always be open for you to expound your point of view to whatever level of detail you consider suitable.</p>
15506
15507 <p>Cordially,<br>
15508 DR. EDGAR DAVID VILLANUEVA NUÑEZ<br>
15509 Congressman of the Republic of Perú.</p>
15510 </blockquote>
15511
15512 </div>
15513 <div class="tags">
15514
15515
15516 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
15517
15518
15519 </div>
15520 </div>
15521 <div class="padding"></div>
15522
15523 <div class="entry">
15524 <div class="title">
15525 <a href="http://people.skolelinux.org/pere/blog/Officeshots_still_going_strong.html">Officeshots still going strong</a>
15526 </div>
15527 <div class="date">
15528 25th December 2010
15529 </div>
15530 <div class="body">
15531 <p>Half a year ago I
15532 <a href="http://people.skolelinux.org/pere/blog/Officeshots_taking_shape.html">wrote
15533 a bit</a> about <a href="http://www.officeshots.org/">OfficeShots</a>,
15534 a web service to allow anyone to test how ODF documents are handled by
15535 the different programs reading and writing the ODF format.</p>
15536
15537 <p>I just had a look at the service, and it seem to be going strong.
15538 Very interesting to see the results reported in the gallery, how
15539 different Office implementations handle different ODF features. Sad
15540 to see that KOffice was not doing it very well, and happy to see that
15541 LibreOffice has been tested already (but sadly not listed as a option
15542 for OfficeShots users yet). I am glad to see that the ODF community
15543 got such a great test tool available.</p>
15544
15545 </div>
15546 <div class="tags">
15547
15548
15549 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
15550
15551
15552 </div>
15553 </div>
15554 <div class="padding"></div>
15555
15556 <div class="entry">
15557 <div class="title">
15558 <a href="http://people.skolelinux.org/pere/blog/How_to_test_if_a_laptop_is_working_with_Linux.html">How to test if a laptop is working with Linux</a>
15559 </div>
15560 <div class="date">
15561 22nd December 2010
15562 </div>
15563 <div class="body">
15564 <p>The last few days I have spent at work here at the <a
15565 href="http://www.uio.no/">University of Oslo</a> testing if the new
15566 batch of computers will work with Linux. Every year for the last few
15567 years the university have organised shared bid of a few thousand
15568 computers, and this year HP won the bid. Two different desktops and
15569 five different laptops are on the list this year. We in the UNIX
15570 group want to know which one of these computers work well with RHEL
15571 and Ubuntu, the two Linux distributions we currently handle at the
15572 university.</p>
15573
15574 <p>My test method is simple, and I share it here to get feedback and
15575 perhaps inspire others to test hardware as well. To test, I PXE
15576 install the OS version of choice, and log in as my normal user and run
15577 a few applications and plug in selected pieces of hardware. When
15578 something fail, I make a note about this in the test matrix and move
15579 on. If I have some spare time I try to report the bug to the OS
15580 vendor, but as I only have the machines for a short time, I rarely
15581 have the time to do this for all the problems I find.</p>
15582
15583 <p>Anyway, to get to the point of this post. Here is the simple tests
15584 I perform on a new model.</p>
15585
15586 <ul>
15587
15588 <li>Is PXE installation working? I'm testing with RHEL6, Ubuntu Lucid
15589 and Ubuntu Maverik at the moment. If I feel like it, I also test with
15590 RHEL5 and Debian Edu/Squeeze.</li>
15591
15592 <li>Is X.org working? If the graphical login screen show up after
15593 installation, X.org is working.</li>
15594
15595 <li>Is hardware accelerated OpenGL working? Running glxgears (in
15596 package mesa-utils on Ubuntu) and writing down the frames per second
15597 reported by the program.</li>
15598
15599 <li>Is sound working? With Gnome and KDE, a sound is played when
15600 logging in, and if I can hear this the test is successful. If there
15601 are several audio exits on the machine, I try them all and check if
15602 the Gnome/KDE audio mixer can control where to send the sound. I
15603 normally test this by playing
15604 <a href="http://www.nuug.no/aktiviteter/20101012-chef/ ">a HTML5
15605 video</a> in Firefox/Iceweasel.</li>
15606
15607 <li>Is the USB subsystem working? I test this by plugging in a USB
15608 memory stick and see if Gnome/KDE notices this.</li>
15609
15610 <li>Is the CD/DVD player working? I test this by inserting any CD/DVD
15611 I have lying around, and see if Gnome/KDE notices this.</li>
15612
15613 <li>Is any built in camera working? Test using cheese, and see if a
15614 picture from the v4l device show up.</li>
15615
15616 <li>Is bluetooth working? Use the Gnome/KDE browsing tool to see if
15617 any bluetooth devices are discovered. In my office, I normally see a
15618 few.</li>
15619
15620 <li>For laptops, is the SD or Compaq Flash reader working. I have
15621 memory modules lying around, and stick them in and see if Gnome/KDE
15622 notice this.</li>
15623
15624 <li>For laptops, is suspend/hibernate working? I'm testing if the
15625 special button work, and if the laptop continue to work after
15626 resume.</li>
15627
15628 <li>For laptops, is the extra buttons working, like audio level,
15629 adjusting background light, switching on/off external video output,
15630 switching on/off wifi, bluetooth, etc? The set of buttons differ from
15631 laptop to laptop, so I just write down which are working and which are
15632 not.</li>
15633
15634 <li>Some laptops have smart card readers, finger print readers,
15635 acceleration sensors etc. I rarely test these, as I do not know how
15636 to quickly test if they are working or not, so I only document their
15637 existence.</li>
15638
15639 </ul>
15640
15641 <p>By now I suspect you are really curious what the test results are
15642 for the HP machines I am testing. I'm not done yet, so I will report
15643 the test results later. For now I can report that HP 8100 Elite work
15644 fine, and hibernation fail with HP EliteBook 8440p on Ubuntu Lucid,
15645 and audio fail on RHEL6. Ubuntu Maverik worked with 8440p. As you
15646 can see, I have most machines left to test. One interesting
15647 observation is that Ubuntu Lucid has almost twice the frame rate than
15648 RHEL6 with glxgears. No idea why.</p>
15649
15650 </div>
15651 <div class="tags">
15652
15653
15654 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
15655
15656
15657 </div>
15658 </div>
15659 <div class="padding"></div>
15660
15661 <div class="entry">
15662 <div class="title">
15663 <a href="http://people.skolelinux.org/pere/blog/Some_thoughts_on_BitCoins.html">Some thoughts on BitCoins</a>
15664 </div>
15665 <div class="date">
15666 11th December 2010
15667 </div>
15668 <div class="body">
15669 <p>As I continue to explore
15670 <a href="http://www.bitcoin.org/">BitCoin</a>, I've starting to wonder
15671 what properties the system have, and how it will be affected by laws
15672 and regulations here in Norway. Here are some random notes.</p>
15673
15674 <p>One interesting thing to note is that since the transactions are
15675 verified using a peer to peer network, all details about a transaction
15676 is known to everyone. This means that if a BitCoin address has been
15677 published like I did with mine in my initial post about BitCoin, it is
15678 possible for everyone to see how many BitCoins have been transfered to
15679 that address. There is even a web service to look at the details for
15680 all transactions. There I can see that my address
15681 <a href="http://blockexplorer.com/address/15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a>
15682 have received 16.06 Bitcoin, the
15683 <a href="http://blockexplorer.com/address/1LfdGnGuWkpSJgbQySxxCWhv8MHqvwst3">1LfdGnGuWkpSJgbQySxxCWhv8MHqvwst3</a>
15684 address of Simon Phipps have received 181.97 BitCoin and the address
15685 <a href="http://blockexplorer.com/address/1MCwBbhNGp5hRm5rC1Aims2YFRe2SXPYKt">1MCwBbhNGp5hRm5rC1Aims2YFRe2SXPYKt</A>
15686 of EFF have received 2447.38 BitCoins so far. Thank you to each and
15687 every one of you that donated bitcoins to support my activity. The
15688 fact that anyone can see how much money was transfered to a given
15689 address make it more obvious why the BitCoin community recommend to
15690 generate and hand out a new address for each transaction. I'm told
15691 there is no way to track which addresses belong to a given person or
15692 organisation without the person or organisation revealing it
15693 themselves, as Simon, EFF and I have done.</p>
15694
15695 <p>In Norway, and in most other countries, there are laws and
15696 regulations limiting how much money one can transfer across the border
15697 without declaring it. There are money laundering, tax and accounting
15698 laws and regulations I would expect to apply to the use of BitCoin.
15699 If the Skolelinux foundation
15700 (<a href="http://linuxiskolen.no/slxdebianlabs/donations.html">SLX
15701 Debian Labs</a>) were to accept donations in BitCoin in addition to
15702 normal bank transfers like EFF is doing, how should this be accounted?
15703 Given that it is impossible to know if money can cross the border or
15704 not, should everything or nothing be declared? What exchange rate
15705 should be used when calculating taxes? Would receivers have to pay
15706 income tax if the foundation were to pay Skolelinux contributors in
15707 BitCoin? I have no idea, but it would be interesting to know.</p>
15708
15709 <p>For a currency to be useful and successful, it must be trusted and
15710 accepted by a lot of users. It must be possible to get easy access to
15711 the currency (as a wage or using currency exchanges), and it must be
15712 easy to spend it. At the moment BitCoin seem fairly easy to get
15713 access to, but there are very few places to spend it. I am not really
15714 a regular user of any of the vendor types currently accepting BitCoin,
15715 so I wonder when my kind of shop would start accepting BitCoins. I
15716 would like to buy electronics, travels and subway tickets, not herbs
15717 and books. :) The currency is young, and this will improve over time
15718 if it become popular, but I suspect regular banks will start to lobby
15719 to get BitCoin declared illegal if it become popular. I'm sure they
15720 will claim it is helping fund terrorism and money laundering (which
15721 probably would be true, as is any currency in existence), but I
15722 believe the problems should be solved elsewhere and not by blaming
15723 currencies.</p>
15724
15725 <p>The process of creating new BitCoins is called mining, and it is
15726 CPU intensive process that depend on a bit of luck as well (as one is
15727 competing against all the other miners currently spending CPU cycles
15728 to see which one get the next lump of cash). The "winner" get 50
15729 BitCoin when this happen. Yesterday I came across the obvious way to
15730 join forces to increase ones changes of getting at least some coins,
15731 by coordinating the work on mining BitCoins across several machines
15732 and people, and sharing the result if one is lucky and get the 50
15733 BitCoins. Check out
15734 <a href="http://www.bluishcoder.co.nz/bitcoin-pool/">BitCoin Pool</a>
15735 if this sounds interesting. I have not had time to try to set up a
15736 machine to participate there yet, but have seen that running on ones
15737 own for a few days have not yield any BitCoins througth mining
15738 yet.</p>
15739
15740 <p>Update 2010-12-15: Found an <a
15741 href="http://inertia.posterous.com/reply-to-the-underground-economist-why-bitcoi">interesting
15742 criticism</a> of bitcoin. Not quite sure how valid it is, but thought
15743 it was interesting to read. The arguments presented seem to be
15744 equally valid for gold, which was used as a currency for many years.</p>
15745
15746 </div>
15747 <div class="tags">
15748
15749
15750 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin</a>, <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>.
15751
15752
15753 </div>
15754 </div>
15755 <div class="padding"></div>
15756
15757 <div class="entry">
15758 <div class="title">
15759 <a href="http://people.skolelinux.org/pere/blog/Now_accepting_bitcoins___anonymous_and_distributed_p2p_crypto_money.html">Now accepting bitcoins - anonymous and distributed p2p crypto-money</a>
15760 </div>
15761 <div class="date">
15762 10th December 2010
15763 </div>
15764 <div class="body">
15765 <p>With this weeks lawless
15766 <a href="http://www.salon.com/news/opinion/glenn_greenwald/2010/12/06/wikileaks/index.html">governmental
15767 attacks</a> on Wikileak and
15768 <a href="http://www.salon.com/technology/dan_gillmor/2010/12/06/war_on_speech">free
15769 speech</a>, it has become obvious that PayPal, visa and mastercard can
15770 not be trusted to handle money transactions.
15771 A blog post from
15772 <a href="http://webmink.com/2010/12/06/now-accepting-bitcoin/">Simon
15773 Phipps on bitcoin</a> reminded me about a project that a friend of
15774 mine mentioned earlier. I decided to follow Simon's example, and get
15775 involved with <a href="http://www.bitcoin.org/">BitCoin</a>. I got
15776 some help from my friend to get it all running, and he even handed me
15777 some bitcoins to get started. I even donated a few bitcoins to Simon
15778 for helping me remember BitCoin.</p>
15779
15780 <p>So, what is bitcoins, you probably wonder? It is a digital
15781 crypto-currency, decentralised and handled using peer-to-peer
15782 networks. It allows anonymous transactions and prohibits central
15783 control over the transactions, making it impossible for governments
15784 and companies alike to block donations and other transactions. The
15785 source is free software, and while the key dependency wxWidgets 2.9
15786 for the graphical user interface is missing in Debian, the command
15787 line client builds just fine. Hopefully Jonas
15788 <a href="http://bugs.debian.org/578157">will get the package into
15789 Debian</a> soon.</p>
15790
15791 <p>Bitcoins can be converted to other currencies, like USD and EUR.
15792 There are <a href="http://www.bitcoin.org/trade">companies accepting
15793 bitcoins</a> when selling services and goods, and there are even
15794 currency "stock" markets where the exchange rate is decided. There
15795 are not many users so far, but the concept seems promising. If you
15796 want to get started and lack a friend with any bitcoins to spare,
15797 you can even get
15798 <a href="https://freebitcoins.appspot.com/">some for free</a> (0.05
15799 bitcoin at the time of writing). Use
15800 <a href="http://www.bitcoinwatch.com/">BitcoinWatch</a> to keep an eye
15801 on the current exchange rates.</p>
15802
15803 <p>As an experiment, I have decided to set up bitcoind on one of my
15804 machines. If you want to support my activity, please send Bitcoin
15805 donations to the address
15806 <b>15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</b>. Thank you!</p>
15807
15808 </div>
15809 <div class="tags">
15810
15811
15812 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin</a>, <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>.
15813
15814
15815 </div>
15816 </div>
15817 <div class="padding"></div>
15818
15819 <div class="entry">
15820 <div class="title">
15821 <a href="http://people.skolelinux.org/pere/blog/Student_group_continue_the_work_on_my_Reprap_3D_printer.html">Student group continue the work on my Reprap 3D printer</a>
15822 </div>
15823 <div class="date">
15824 9th December 2010
15825 </div>
15826 <div class="body">
15827 <p>A few days ago, I was introduces to some students in the robot
15828 student assosiation <a href="http://www.robotica.no/">Robotica
15829 Osloensis</a> at the University of Oslo where I work, who planned to
15830 get their own 3D printer. They wanted to learn from me based on my
15831 work in the area. After having a short lunch meeting with them, I
15832 offered them to borrow my reprap kit, as I never had time to complete
15833 the build and this seem unlike to change any time soon. I look
15834 forward to see how this goes. This monday their volunteer driver
15835 picked up my kit and drove it to their lab, and tomorrow I am told the
15836 last exam is over so they can start work on getting the 3D printer
15837 operational.</p>
15838
15839 <p>The robotic group have already build several robots on their own,
15840 and seem capable of getting the reprap operational. I really look
15841 forward to being able to print all the cool 3D designs published on
15842 <a href="http://www.thingiverse.com/">Thingiverse</a>. I even got
15843 some 3D scans I got made during Dagen@IFI when one of the groups at
15844 the computer science department at the university demonstrated their
15845 very cool 3D scanner.</p>
15846
15847 </div>
15848 <div class="tags">
15849
15850
15851 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap</a>.
15852
15853
15854 </div>
15855 </div>
15856 <div class="padding"></div>
15857
15858 <div class="entry">
15859 <div class="title">
15860 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_development_gathering_and_General_Assembly_for_FRiSK.html">Debian Edu development gathering and General Assembly for FRiSK</a>
15861 </div>
15862 <div class="date">
15863 29th November 2010
15864 </div>
15865 <div class="body">
15866 <p>On friday, the first Debian Edu / Skolelinux
15867 <a href="http://www.friprogramvareiskolen.no/Gathering/2010-12-03-05-Oslo">development
15868 gathering</a> in a long time take place here in Oslo, Norway. I
15869 really look forward to seeing all the good people working on the
15870 Squeeze release. The gathering is open for everyone interested in
15871 learning more about Debian Edu / Skolelinux.</p>
15872
15873 <p>On Saturday, the Norwegian member organization taking care of
15874 organizing these development gatherings, Fri Programvare i Skolen,
15875 will hold its
15876 <a href="http://friprogramvareiskolen.no/Genfors/2010">General Assembly
15877 for 2010</a>. Membership is open for all, and currently there are 388
15878 people registered as members. Last year 32 members cast their vote in
15879 the memberdb based election system. I hope more people find time to
15880 vote this year.</p>
15881
15882 </div>
15883 <div class="tags">
15884
15885
15886 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
15887
15888
15889 </div>
15890 </div>
15891 <div class="padding"></div>
15892
15893 <div class="entry">
15894 <div class="title">
15895 <a href="http://people.skolelinux.org/pere/blog/Why_isn_t_Debian_Edu_using_VLC_.html">Why isn't Debian Edu using VLC?</a>
15896 </div>
15897 <div class="date">
15898 27th November 2010
15899 </div>
15900 <div class="body">
15901 <p>In the latest issue of Linux Journal, the readers choices were
15902 presented, and the winner among the multimedia player were VLC.
15903 Personally, I like VLC, and it is my player of choice when I first try
15904 to play a video file or stream. Only if VLC fail will I drag out
15905 gmplayer to see if it can do better. The reason is mostly the failure
15906 model and trust. When VLC fail, it normally pop up a error message
15907 reporting the problem. When mplayer fail, it normally segfault or
15908 just hangs. The latter failure mode drain my trust in the program.<p>
15909
15910 <p>But even if VLC is my player of choice, we have choosen to use
15911 mplayer in <a href="http://www.skolelinux.org/">Debian
15912 Edu/Skolelinux</a>. The reason is simple. We need a good browser
15913 plugin to play web videos seamlessly, and the VLC browser plugin is
15914 not very good. For example, it lack in-line control buttons, so there
15915 is no way for the user to pause the video. Also, when I
15916 <a href="http://wiki.debian.org/DebianEdu/BrowserMultimedia">last
15917 tested the browser plugins</a> available in Debian, the VLC plugin
15918 failed on several video pages where mplayer based plugins worked. If
15919 the browser plugin for VLC was as good as the gecko-mediaplayer
15920 package (which uses mplayer), we would switch.</P>
15921
15922 <p>While VLC is a good player, its user interface is slightly
15923 annoying. The most annoying feature is its inconsistent use of
15924 keyboard shortcuts. When the player is in full screen mode, its
15925 shortcuts are different from when it is playing the video in a window.
15926 For example, space only work as pause when in full screen mode. I
15927 wish it had consisten shortcuts and that space also would work when in
15928 window mode. Another nice shortcut in gmplayer is [enter] to restart
15929 the current video. It is very nice when playing short videos from the
15930 web and want to restart it when new people arrive to have a look at
15931 what is going on.</p>
15932
15933 </div>
15934 <div class="tags">
15935
15936
15937 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/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>.
15938
15939
15940 </div>
15941 </div>
15942 <div class="padding"></div>
15943
15944 <div class="entry">
15945 <div class="title">
15946 <a href="http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades_of_the_Gnome_and_KDE_desktop__now_with_apt_get_autoremove.html">Lenny->Squeeze upgrades of the Gnome and KDE desktop, now with apt-get autoremove</a>
15947 </div>
15948 <div class="date">
15949 22nd November 2010
15950 </div>
15951 <div class="body">
15952 <p>Michael Biebl suggested to me on IRC, that I changed my automated
15953 upgrade testing of the
15954 <a href="http://people.skolelinux.org/~pere/debian-upgrade-testing/">Lenny
15955 Gnome and KDE Desktop</a> to do <tt>apt-get autoremove</tt> when using apt-get.
15956 This seem like a very good idea, so I adjusted by test scripts and
15957 can now present the updated result from today:</p>
15958
15959 <p>This is for Gnome:</p>
15960
15961 <p>Installed using apt-get, missing with aptitude</p>
15962
15963 <blockquote><p>
15964 apache2.2-bin
15965 aptdaemon
15966 baobab
15967 binfmt-support
15968 browser-plugin-gnash
15969 cheese-common
15970 cli-common
15971 cups-pk-helper
15972 dmz-cursor-theme
15973 empathy
15974 empathy-common
15975 freedesktop-sound-theme
15976 freeglut3
15977 gconf-defaults-service
15978 gdm-themes
15979 gedit-plugins
15980 geoclue
15981 geoclue-hostip
15982 geoclue-localnet
15983 geoclue-manual
15984 geoclue-yahoo
15985 gnash
15986 gnash-common
15987 gnome
15988 gnome-backgrounds
15989 gnome-cards-data
15990 gnome-codec-install
15991 gnome-core
15992 gnome-desktop-environment
15993 gnome-disk-utility
15994 gnome-screenshot
15995 gnome-search-tool
15996 gnome-session-canberra
15997 gnome-system-log
15998 gnome-themes-extras
15999 gnome-themes-more
16000 gnome-user-share
16001 gstreamer0.10-fluendo-mp3
16002 gstreamer0.10-tools
16003 gtk2-engines
16004 gtk2-engines-pixbuf
16005 gtk2-engines-smooth
16006 hamster-applet
16007 libapache2-mod-dnssd
16008 libapr1
16009 libaprutil1
16010 libaprutil1-dbd-sqlite3
16011 libaprutil1-ldap
16012 libart2.0-cil
16013 libboost-date-time1.42.0
16014 libboost-python1.42.0
16015 libboost-thread1.42.0
16016 libchamplain-0.4-0
16017 libchamplain-gtk-0.4-0
16018 libcheese-gtk18
16019 libclutter-gtk-0.10-0
16020 libcryptui0
16021 libdiscid0
16022 libelf1
16023 libepc-1.0-2
16024 libepc-common
16025 libepc-ui-1.0-2
16026 libfreerdp-plugins-standard
16027 libfreerdp0
16028 libgconf2.0-cil
16029 libgdata-common
16030 libgdata7
16031 libgdu-gtk0
16032 libgee2
16033 libgeoclue0
16034 libgexiv2-0
16035 libgif4
16036 libglade2.0-cil
16037 libglib2.0-cil
16038 libgmime2.4-cil
16039 libgnome-vfs2.0-cil
16040 libgnome2.24-cil
16041 libgnomepanel2.24-cil
16042 libgpod-common
16043 libgpod4
16044 libgtk2.0-cil
16045 libgtkglext1
16046 libgtksourceview2.0-common
16047 libmono-addins-gui0.2-cil
16048 libmono-addins0.2-cil
16049 libmono-cairo2.0-cil
16050 libmono-corlib2.0-cil
16051 libmono-i18n-west2.0-cil
16052 libmono-posix2.0-cil
16053 libmono-security2.0-cil
16054 libmono-sharpzip2.84-cil
16055 libmono-system2.0-cil
16056 libmtp8
16057 libmusicbrainz3-6
16058 libndesk-dbus-glib1.0-cil
16059 libndesk-dbus1.0-cil
16060 libopal3.6.8
16061 libpolkit-gtk-1-0
16062 libpt2.6.7
16063 libpython2.6
16064 librpm1
16065 librpmio1
16066 libsdl1.2debian
16067 libsrtp0
16068 libssh-4
16069 libtelepathy-farsight0
16070 libtelepathy-glib0
16071 libtidy-0.99-0
16072 media-player-info
16073 mesa-utils
16074 mono-2.0-gac
16075 mono-gac
16076 mono-runtime
16077 nautilus-sendto
16078 nautilus-sendto-empathy
16079 p7zip-full
16080 pkg-config
16081 python-aptdaemon
16082 python-aptdaemon-gtk
16083 python-axiom
16084 python-beautifulsoup
16085 python-bugbuddy
16086 python-clientform
16087 python-coherence
16088 python-configobj
16089 python-crypto
16090 python-cupshelpers
16091 python-elementtree
16092 python-epsilon
16093 python-evolution
16094 python-feedparser
16095 python-gdata
16096 python-gdbm
16097 python-gst0.10
16098 python-gtkglext1
16099 python-gtksourceview2
16100 python-httplib2
16101 python-louie
16102 python-mako
16103 python-markupsafe
16104 python-mechanize
16105 python-nevow
16106 python-notify
16107 python-opengl
16108 python-openssl
16109 python-pam
16110 python-pkg-resources
16111 python-pyasn1
16112 python-pysqlite2
16113 python-rdflib
16114 python-serial
16115 python-tagpy
16116 python-twisted-bin
16117 python-twisted-conch
16118 python-twisted-core
16119 python-twisted-web
16120 python-utidylib
16121 python-webkit
16122 python-xdg
16123 python-zope.interface
16124 remmina
16125 remmina-plugin-data
16126 remmina-plugin-rdp
16127 remmina-plugin-vnc
16128 rhythmbox-plugin-cdrecorder
16129 rhythmbox-plugins
16130 rpm-common
16131 rpm2cpio
16132 seahorse-plugins
16133 shotwell
16134 software-center
16135 system-config-printer-udev
16136 telepathy-gabble
16137 telepathy-mission-control-5
16138 telepathy-salut
16139 tomboy
16140 totem
16141 totem-coherence
16142 totem-mozilla
16143 totem-plugins
16144 transmission-common
16145 xdg-user-dirs
16146 xdg-user-dirs-gtk
16147 xserver-xephyr
16148 </p></blockquote>
16149
16150 <p>Installed using apt-get, removed with aptitude</p>
16151
16152 <blockquote><p>
16153 cheese
16154 ekiga
16155 eog
16156 epiphany-extensions
16157 evolution-exchange
16158 fast-user-switch-applet
16159 file-roller
16160 gcalctool
16161 gconf-editor
16162 gdm
16163 gedit
16164 gedit-common
16165 gnome-games
16166 gnome-games-data
16167 gnome-nettool
16168 gnome-system-tools
16169 gnome-themes
16170 gnuchess
16171 gucharmap
16172 guile-1.8-libs
16173 libavahi-ui0
16174 libdmx1
16175 libgalago3
16176 libgtk-vnc-1.0-0
16177 libgtksourceview2.0-0
16178 liblircclient0
16179 libsdl1.2debian-alsa
16180 libspeexdsp1
16181 libsvga1
16182 rhythmbox
16183 seahorse
16184 sound-juicer
16185 system-config-printer
16186 totem-common
16187 transmission-gtk
16188 vinagre
16189 vino
16190 </p></blockquote>
16191
16192 <p>Installed using aptitude, missing with apt-get</p>
16193
16194 <blockquote><p>
16195 gstreamer0.10-gnomevfs
16196 </p></blockquote>
16197
16198 <p>Installed using aptitude, removed with apt-get</p>
16199
16200 <blockquote><p>
16201 [nothing]
16202 </p></blockquote>
16203
16204 <p>This is for KDE:</p>
16205
16206 <p>Installed using apt-get, missing with aptitude</p>
16207
16208 <blockquote><p>
16209 ksmserver
16210 </p></blockquote>
16211
16212 <p>Installed using apt-get, removed with aptitude</p>
16213
16214 <blockquote><p>
16215 kwin
16216 network-manager-kde
16217 </p></blockquote>
16218
16219 <p>Installed using aptitude, missing with apt-get</p>
16220
16221 <blockquote><p>
16222 arts
16223 dolphin
16224 freespacenotifier
16225 google-gadgets-gst
16226 google-gadgets-xul
16227 kappfinder
16228 kcalc
16229 kcharselect
16230 kde-core
16231 kde-plasma-desktop
16232 kde-standard
16233 kde-window-manager
16234 kdeartwork
16235 kdeartwork-emoticons
16236 kdeartwork-style
16237 kdeartwork-theme-icon
16238 kdebase
16239 kdebase-apps
16240 kdebase-workspace
16241 kdebase-workspace-bin
16242 kdebase-workspace-data
16243 kdeeject
16244 kdelibs
16245 kdeplasma-addons
16246 kdeutils
16247 kdewallpapers
16248 kdf
16249 kfloppy
16250 kgpg
16251 khelpcenter4
16252 kinfocenter
16253 konq-plugins-l10n
16254 konqueror-nsplugins
16255 kscreensaver
16256 kscreensaver-xsavers
16257 ktimer
16258 kwrite
16259 libgle3
16260 libkde4-ruby1.8
16261 libkonq5
16262 libkonq5-templates
16263 libnetpbm10
16264 libplasma-ruby
16265 libplasma-ruby1.8
16266 libqt4-ruby1.8
16267 marble-data
16268 marble-plugins
16269 netpbm
16270 nuvola-icon-theme
16271 plasma-dataengines-workspace
16272 plasma-desktop
16273 plasma-desktopthemes-artwork
16274 plasma-runners-addons
16275 plasma-scriptengine-googlegadgets
16276 plasma-scriptengine-python
16277 plasma-scriptengine-qedje
16278 plasma-scriptengine-ruby
16279 plasma-scriptengine-webkit
16280 plasma-scriptengines
16281 plasma-wallpapers-addons
16282 plasma-widget-folderview
16283 plasma-widget-networkmanagement
16284 ruby
16285 sweeper
16286 update-notifier-kde
16287 xscreensaver-data-extra
16288 xscreensaver-gl
16289 xscreensaver-gl-extra
16290 xscreensaver-screensaver-bsod
16291 </p></blockquote>
16292
16293 <p>Installed using aptitude, removed with apt-get</p>
16294
16295 <blockquote><p>
16296 ark
16297 google-gadgets-common
16298 google-gadgets-qt
16299 htdig
16300 kate
16301 kdebase-bin
16302 kdebase-data
16303 kdepasswd
16304 kfind
16305 klipper
16306 konq-plugins
16307 konqueror
16308 ksysguard
16309 ksysguardd
16310 libarchive1
16311 libcln6
16312 libeet1
16313 libeina-svn-06
16314 libggadget-1.0-0b
16315 libggadget-qt-1.0-0b
16316 libgps19
16317 libkdecorations4
16318 libkephal4
16319 libkonq4
16320 libkonqsidebarplugin4a
16321 libkscreensaver5
16322 libksgrd4
16323 libksignalplotter4
16324 libkunitconversion4
16325 libkwineffects1a
16326 libmarblewidget4
16327 libntrack-qt4-1
16328 libntrack0
16329 libplasma-geolocation-interface4
16330 libplasmaclock4a
16331 libplasmagenericshell4
16332 libprocesscore4a
16333 libprocessui4a
16334 libqalculate5
16335 libqedje0a
16336 libqtruby4shared2
16337 libqzion0a
16338 libruby1.8
16339 libscim8c2a
16340 libsmokekdecore4-3
16341 libsmokekdeui4-3
16342 libsmokekfile3
16343 libsmokekhtml3
16344 libsmokekio3
16345 libsmokeknewstuff2-3
16346 libsmokeknewstuff3-3
16347 libsmokekparts3
16348 libsmokektexteditor3
16349 libsmokekutils3
16350 libsmokenepomuk3
16351 libsmokephonon3
16352 libsmokeplasma3
16353 libsmokeqtcore4-3
16354 libsmokeqtdbus4-3
16355 libsmokeqtgui4-3
16356 libsmokeqtnetwork4-3
16357 libsmokeqtopengl4-3
16358 libsmokeqtscript4-3
16359 libsmokeqtsql4-3
16360 libsmokeqtsvg4-3
16361 libsmokeqttest4-3
16362 libsmokeqtuitools4-3
16363 libsmokeqtwebkit4-3
16364 libsmokeqtxml4-3
16365 libsmokesolid3
16366 libsmokesoprano3
16367 libtaskmanager4a
16368 libtidy-0.99-0
16369 libweather-ion4a
16370 libxklavier16
16371 libxxf86misc1
16372 okteta
16373 oxygencursors
16374 plasma-dataengines-addons
16375 plasma-scriptengine-superkaramba
16376 plasma-widget-lancelot
16377 plasma-widgets-addons
16378 plasma-widgets-workspace
16379 polkit-kde-1
16380 ruby1.8
16381 systemsettings
16382 update-notifier-common
16383 </p></blockquote>
16384
16385 <p>Running apt-get autoremove made the results using apt-get and
16386 aptitude a bit more similar, but there are still quite a lott of
16387 differences. I have no idea what packages should be installed after
16388 the upgrade, but hope those that do can have a look.</p>
16389
16390 </div>
16391 <div class="tags">
16392
16393
16394 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
16395
16396
16397 </div>
16398 </div>
16399 <div class="padding"></div>
16400
16401 <div class="entry">
16402 <div class="title">
16403 <a href="http://people.skolelinux.org/pere/blog/Migrating_Xen_virtual_machines_using_LVM_to_KVM_using_disk_images.html">Migrating Xen virtual machines using LVM to KVM using disk images</a>
16404 </div>
16405 <div class="date">
16406 22nd November 2010
16407 </div>
16408 <div class="body">
16409 <p>Most of the computers in use by the
16410 <a href="http://www.skolelinux.org/">Debian Edu/Skolelinux project</a>
16411 are virtual machines. And they have been Xen machines running on a
16412 fairly old IBM eserver xseries 345 machine, and we wanted to migrate
16413 them to KVM on a newer Dell PowerEdge 2950 host machine. This was a
16414 bit harder that it could have been, because we set up the Xen virtual
16415 machines to get the virtual partitions from LVM, which as far as I
16416 know is not supported by KVM. So to migrate, we had to convert
16417 several LVM logical volumes to partitions on a virtual disk file.</p>
16418
16419 <p>I found
16420 <a href="http://searchnetworking.techtarget.com.au/articles/35011-Six-steps-for-migrating-Xen-virtual-machines-to-KVM">a
16421 nice recipe</a> to do this, and wrote the following script to do the
16422 migration. It uses qemu-img from the qemu package to make the disk
16423 image, parted to partition it, losetup and kpartx to present the disk
16424 image partions as devices, and dd to copy the data. I NFS mounted the
16425 new servers storage area on the old server to do the migration.</p>
16426
16427 <pre>
16428 #!/bin/sh
16429
16430 # Based on
16431 # http://searchnetworking.techtarget.com.au/articles/35011-Six-steps-for-migrating-Xen-virtual-machines-to-KVM
16432
16433 set -e
16434 set -x
16435
16436 if [ -z "$1" ] ; then
16437 echo "Usage: $0 &lt;hostname&gt;"
16438 exit 1
16439 else
16440 host="$1"
16441 fi
16442
16443 if [ ! -e /dev/vg_data/$host-disk ] ; then
16444 echo "error: unable to find LVM volume for $host"
16445 exit 1
16446 fi
16447
16448 # Partitions need to be a bit bigger than the LVM LVs. not sure why.
16449 disksize=$( lvs --units m | grep $host-disk | awk '{sum = sum + $4} END { print int(sum * 1.05) }')
16450 swapsize=$( lvs --units m | grep $host-swap | awk '{sum = sum + $4} END { print int(sum * 1.05) }')
16451 totalsize=$(( ( $disksize + $swapsize ) ))
16452
16453 img=$host.img
16454 #dd if=/dev/zero of=$img bs=1M count=$(( $disksize + $swapsize ))
16455 qemu-img create $img ${totalsize}MMaking room on the Debian Edu/Sqeeze DVD
16456
16457 parted $img mklabel msdos
16458 parted $img mkpart primary linux-swap 0 $disksize
16459 parted $img mkpart primary ext2 $disksize $totalsize
16460 parted $img set 1 boot on
16461
16462 modprobe dm-mod
16463 losetup /dev/loop0 $img
16464 kpartx -a /dev/loop0
16465
16466 dd if=/dev/vg_data/$host-disk of=/dev/mapper/loop0p1 bs=1M
16467 fsck.ext3 -f /dev/mapper/loop0p1 || true
16468 mkswap /dev/mapper/loop0p2
16469
16470 kpartx -d /dev/loop0
16471 losetup -d /dev/loop0
16472 </pre>
16473
16474 <p>The script is perhaps so simple that it is not copyrightable, but
16475 if it is, it is licenced using GPL v2 or later at your discretion.</p>
16476
16477 <p>After doing this, I booted a Debian CD in rescue mode in KVM with
16478 the new disk image attached, installed grub-pc and linux-image-686 and
16479 set up grub to boot from the disk image. After this, the KVM machines
16480 seem to work just fine.</p>
16481
16482 </div>
16483 <div class="tags">
16484
16485
16486 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
16487
16488
16489 </div>
16490 </div>
16491 <div class="padding"></div>
16492
16493 <div class="entry">
16494 <div class="title">
16495 <a href="http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_and_KDE_desktop.html">Lenny->Squeeze upgrades, apt vs aptitude with the Gnome and KDE desktop</a>
16496 </div>
16497 <div class="date">
16498 20th November 2010
16499 </div>
16500 <div class="body">
16501 <p>I'm still running upgrade testing of the
16502 <a href="http://people.skolelinux.org/~pere/debian-upgrade-testing/">Lenny
16503 Gnome and KDE Desktop</a>, but have not had time to spend on reporting the
16504 status. Here is a short update based on a test I ran 20101118.</p>
16505
16506 <p>I still do not know what a correct migration should look like, so I
16507 report any differences between apt and aptitude and hope someone else
16508 can see if anything should be changed.</p>
16509
16510 <p>This is for Gnome:</p>
16511
16512 <p>Installed using apt-get, missing with aptitude</p>
16513
16514 <blockquote><p>
16515 apache2.2-bin aptdaemon at-spi baobab binfmt-support
16516 browser-plugin-gnash cheese-common cli-common cpp-4.3 cups-pk-helper
16517 dmz-cursor-theme empathy empathy-common finger
16518 freedesktop-sound-theme freeglut3 gconf-defaults-service gdm-themes
16519 gedit-plugins geoclue geoclue-hostip geoclue-localnet geoclue-manual
16520 geoclue-yahoo gnash gnash-common gnome gnome-backgrounds
16521 gnome-cards-data gnome-codec-install gnome-core
16522 gnome-desktop-environment gnome-disk-utility gnome-screenshot
16523 gnome-search-tool gnome-session-canberra gnome-spell
16524 gnome-system-log gnome-themes-extras gnome-themes-more
16525 gnome-user-share gs-common gstreamer0.10-fluendo-mp3
16526 gstreamer0.10-tools gtk2-engines gtk2-engines-pixbuf
16527 gtk2-engines-smooth hal-info hamster-applet libapache2-mod-dnssd
16528 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap
16529 libart2.0-cil libatspi1.0-0 libboost-date-time1.42.0
16530 libboost-python1.42.0 libboost-thread1.42.0 libchamplain-0.4-0
16531 libchamplain-gtk-0.4-0 libcheese-gtk18 libclutter-gtk-0.10-0
16532 libcryptui0 libcupsys2 libdiscid0 libeel2-data libelf1 libepc-1.0-2
16533 libepc-common libepc-ui-1.0-2 libfreerdp-plugins-standard
16534 libfreerdp0 libgail-common libgconf2.0-cil libgdata-common libgdata7
16535 libgdl-1-common libgdu-gtk0 libgee2 libgeoclue0 libgexiv2-0 libgif4
16536 libglade2.0-cil libglib2.0-cil libgmime2.4-cil libgnome-vfs2.0-cil
16537 libgnome2.24-cil libgnomepanel2.24-cil libgnomeprint2.2-data
16538 libgnomeprintui2.2-common libgnomevfs2-bin libgpod-common libgpod4
16539 libgtk2.0-cil libgtkglext1 libgtksourceview-common
16540 libgtksourceview2.0-common libmono-addins-gui0.2-cil
16541 libmono-addins0.2-cil libmono-cairo2.0-cil libmono-corlib2.0-cil
16542 libmono-i18n-west2.0-cil libmono-posix2.0-cil
16543 libmono-security2.0-cil libmono-sharpzip2.84-cil
16544 libmono-system2.0-cil libmtp8 libmusicbrainz3-6
16545 libndesk-dbus-glib1.0-cil libndesk-dbus1.0-cil libopal3.6.8
16546 libpolkit-gtk-1-0 libpt-1.10.10-plugins-alsa
16547 libpt-1.10.10-plugins-v4l libpt2.6.7 libpython2.6 librpm1 librpmio1
16548 libsdl1.2debian libservlet2.4-java libsrtp0 libssh-4
16549 libtelepathy-farsight0 libtelepathy-glib0 libtidy-0.99-0
16550 libxalan2-java libxerces2-java media-player-info mesa-utils
16551 mono-2.0-gac mono-gac mono-runtime nautilus-sendto
16552 nautilus-sendto-empathy openoffice.org-writer2latex
16553 openssl-blacklist p7zip p7zip-full pkg-config python-4suite-xml
16554 python-aptdaemon python-aptdaemon-gtk python-axiom
16555 python-beautifulsoup python-bugbuddy python-clientform
16556 python-coherence python-configobj python-crypto python-cupshelpers
16557 python-cupsutils python-eggtrayicon python-elementtree
16558 python-epsilon python-evolution python-feedparser python-gdata
16559 python-gdbm python-gst0.10 python-gtkglext1 python-gtkmozembed
16560 python-gtksourceview2 python-httplib2 python-louie python-mako
16561 python-markupsafe python-mechanize python-nevow python-notify
16562 python-opengl python-openssl python-pam python-pkg-resources
16563 python-pyasn1 python-pysqlite2 python-rdflib python-serial
16564 python-tagpy python-twisted-bin python-twisted-conch
16565 python-twisted-core python-twisted-web python-utidylib python-webkit
16566 python-xdg python-zope.interface remmina remmina-plugin-data
16567 remmina-plugin-rdp remmina-plugin-vnc rhythmbox-plugin-cdrecorder
16568 rhythmbox-plugins rpm-common rpm2cpio seahorse-plugins shotwell
16569 software-center svgalibg1 system-config-printer-udev
16570 telepathy-gabble telepathy-mission-control-5 telepathy-salut tomboy
16571 totem totem-coherence totem-mozilla totem-plugins
16572 transmission-common xdg-user-dirs xdg-user-dirs-gtk xserver-xephyr
16573 zip
16574 </p></blockquote>
16575
16576 Installed using apt-get, removed with aptitude
16577
16578 <blockquote><p>
16579 arj bluez-utils cheese dhcdbd djvulibre-desktop ekiga eog
16580 epiphany-extensions epiphany-gecko evolution-exchange
16581 fast-user-switch-applet file-roller gcalctool gconf-editor gdm gedit
16582 gedit-common gnome-app-install gnome-games gnome-games-data
16583 gnome-nettool gnome-system-tools gnome-themes gnome-utils
16584 gnome-vfs-obexftp gnome-volume-manager gnuchess gucharmap
16585 guile-1.8-libs hal libavahi-compat-libdnssd1 libavahi-core5
16586 libavahi-ui0 libbind9-50 libbluetooth2 libcamel1.2-11 libcdio7
16587 libcucul0 libcurl3 libdirectfb-1.0-0 libdmx1 libdvdread3
16588 libedata-cal1.2-6 libedataserver1.2-9 libeel2-2.20 libepc-1.0-1
16589 libepc-ui-1.0-1 libexchange-storage1.2-3 libfaad0 libgadu3
16590 libgalago3 libgd2-noxpm libgda3-3 libgda3-common libggz2 libggzcore9
16591 libggzmod4 libgksu1.2-0 libgksuui1.0-1 libgmyth0 libgnome-desktop-2
16592 libgnome-pilot2 libgnomecups1.0-1 libgnomeprint2.2-0
16593 libgnomeprintui2.2-0 libgpod3 libgraphviz4 libgtk-vnc-1.0-0
16594 libgtkhtml2-0 libgtksourceview1.0-0 libgtksourceview2.0-0
16595 libgucharmap6 libhesiod0 libicu38 libisccc50 libisccfg50 libiw29
16596 libjaxp1.3-java-gcj libkpathsea4 liblircclient0 libltdl3 liblwres50
16597 libmagick++10 libmagick10 libmalaga7 libmozjs1d libmpfr1ldbl libmtp7
16598 libmysqlclient15off libnautilus-burn4 libneon27 libnm-glib0
16599 libnm-util0 libopal-2.2 libosp5 libparted1.8-10 libpisock9
16600 libpisync1 libpoppler-glib3 libpoppler3 libpt-1.10.10 libraw1394-8
16601 libsdl1.2debian-alsa libsensors3 libsexy2 libsmbios2 libsoup2.2-8
16602 libspeexdsp1 libssh2-1 libsuitesparse-3.1.0 libsvga1
16603 libswfdec-0.6-90 libtalloc1 libtotem-plparser10 libtrackerclient0
16604 libvoikko1 libxalan2-java-gcj libxerces2-java-gcj libxklavier12
16605 libxtrap6 libxxf86misc1 libzephyr3 mysql-common rhythmbox seahorse
16606 sound-juicer swfdec-gnome system-config-printer totem-common
16607 totem-gstreamer transmission-gtk vinagre vino w3c-dtd-xhtml wodim
16608 </p></blockquote>
16609
16610 <p>Installed using aptitude, missing with apt-get</p>
16611
16612 <blockquote><p>
16613 gstreamer0.10-gnomevfs
16614 </p></blockquote>
16615
16616 <p>Installed using aptitude, removed with apt-get</p>
16617
16618 <blockquote><p>
16619 [nothing]
16620 </p></blockquote>
16621
16622 <p>This is for KDE:</p>
16623
16624 <p>Installed using apt-get, missing with aptitude</p>
16625
16626 <blockquote><p>
16627 autopoint bomber bovo cantor cantor-backend-kalgebra cpp-4.3 dcoprss
16628 edict espeak espeak-data eyesapplet fifteenapplet finger gettext
16629 ghostscript-x git gnome-audio gnugo granatier gs-common
16630 gstreamer0.10-pulseaudio indi kaddressbook-plugins kalgebra
16631 kalzium-data kanjidic kapman kate-plugins kblocks kbreakout kbstate
16632 kde-icons-mono kdeaccessibility kdeaddons-kfile-plugins
16633 kdeadmin-kfile-plugins kdeartwork-misc kdeartwork-theme-window
16634 kdeedu kdeedu-data kdeedu-kvtml-data kdegames kdegames-card-data
16635 kdegames-mahjongg-data kdegraphics-kfile-plugins kdelirc
16636 kdemultimedia-kfile-plugins kdenetwork-kfile-plugins
16637 kdepim-kfile-plugins kdepim-kio-plugins kdessh kdetoys kdewebdev
16638 kdiamond kdnssd kfilereplace kfourinline kgeography-data kigo
16639 killbots kiriki klettres-data kmoon kmrml knewsticker-scripts
16640 kollision kpf krosspython ksirk ksmserver ksquares kstars-data
16641 ksudoku kubrick kweather libasound2-plugins libboost-python1.42.0
16642 libcfitsio3 libconvert-binhex-perl libcrypt-ssleay-perl libdb4.6++
16643 libdjvulibre-text libdotconf1.0 liberror-perl libespeak1
16644 libfinance-quote-perl libgail-common libgsl0ldbl libhtml-parser-perl
16645 libhtml-tableextract-perl libhtml-tagset-perl libhtml-tree-perl
16646 libio-stringy-perl libkdeedu4 libkdegames5 libkiten4 libkpathsea5
16647 libkrossui4 libmailtools-perl libmime-tools-perl
16648 libnews-nntpclient-perl libopenbabel3 libportaudio2 libpulse-browse0
16649 libservlet2.4-java libspeechd2 libtiff-tools libtimedate-perl
16650 libunistring0 liburi-perl libwww-perl libxalan2-java libxerces2-java
16651 lirc luatex marble networkstatus noatun-plugins
16652 openoffice.org-writer2latex palapeli palapeli-data parley
16653 parley-data poster psutils pulseaudio pulseaudio-esound-compat
16654 pulseaudio-module-x11 pulseaudio-utils quanta-data rocs rsync
16655 speech-dispatcher step svgalibg1 texlive-binaries texlive-luatex
16656 ttf-sazanami-gothic
16657 </p></blockquote>
16658
16659 <p>Installed using apt-get, removed with aptitude</p>
16660
16661 <blockquote><p>
16662 amor artsbuilder atlantik atlantikdesigner blinken bluez-utils cvs
16663 dhcdbd djvulibre-desktop imlib-base imlib11 kalzium kanagram kandy
16664 kasteroids katomic kbackgammon kbattleship kblackbox kbounce kbruch
16665 kcron kdat kdemultimedia-kappfinder-data kdeprint kdict kdvi kedit
16666 keduca kenolaba kfax kfaxview kfouleggs kgeography kghostview
16667 kgoldrunner khangman khexedit kiconedit kig kimagemapeditor
16668 kitchensync kiten kjumpingcube klatin klettres klickety klines
16669 klinkstatus kmag kmahjongg kmailcvt kmenuedit kmid kmilo kmines
16670 kmousetool kmouth kmplot knetwalk kodo kolf kommander konquest kooka
16671 kpager kpat kpdf kpercentage kpilot kpoker kpovmodeler krec
16672 kregexpeditor kreversi ksame ksayit kshisen ksig ksim ksirc ksirtet
16673 ksmiletris ksnake ksokoban kspaceduel kstars ksvg ksysv kteatime
16674 ktip ktnef ktouch ktron kttsd ktuberling kturtle ktux kuickshow
16675 kverbos kview kviewshell kvoctrain kwifimanager kwin kwin4 kwordquiz
16676 kworldclock kxsldbg libakode2 libarts1-akode libarts1-audiofile
16677 libarts1-mpeglib libarts1-xine libavahi-compat-libdnssd1
16678 libavahi-core5 libavc1394-0 libbind9-50 libbluetooth2
16679 libboost-python1.34.1 libcucul0 libcurl3 libcvsservice0
16680 libdirectfb-1.0-0 libdjvulibre21 libdvdread3 libfaad0 libfreebob0
16681 libgd2-noxpm libgraphviz4 libgsmme1c2a libgtkhtml2-0 libicu38
16682 libiec61883-0 libindex0 libisccc50 libisccfg50 libiw29
16683 libjaxp1.3-java-gcj libk3b3 libkcal2b libkcddb1 libkdeedu3
16684 libkdegames1 libkdepim1a libkgantt0 libkleopatra1 libkmime2
16685 libkpathsea4 libkpimexchange1 libkpimidentities1 libkscan1
16686 libksieve0 libktnef1 liblockdev1 libltdl3 liblwres50 libmagick10
16687 libmimelib1c2a libmodplug0c2 libmozjs1d libmpcdec3 libmpfr1ldbl
16688 libneon27 libnm-util0 libopensync0 libpisock9 libpoppler-glib3
16689 libpoppler-qt2 libpoppler3 libraw1394-8 librss1 libsensors3
16690 libsmbios2 libssh2-1 libsuitesparse-3.1.0 libswfdec-0.6-90
16691 libtalloc1 libxalan2-java-gcj libxerces2-java-gcj libxtrap6 lskat
16692 mpeglib network-manager-kde noatun pmount tex-common texlive-base
16693 texlive-common texlive-doc-base texlive-fonts-recommended tidy
16694 ttf-dustin ttf-kochi-gothic ttf-sjfonts
16695 </p></blockquote>
16696
16697 <p>Installed using aptitude, missing with apt-get</p>
16698
16699 <blockquote><p>
16700 dolphin kde-core kde-plasma-desktop kde-standard kde-window-manager
16701 kdeartwork kdebase kdebase-apps kdebase-workspace
16702 kdebase-workspace-bin kdebase-workspace-data kdeutils kscreensaver
16703 kscreensaver-xsavers libgle3 libkonq5 libkonq5-templates libnetpbm10
16704 netpbm plasma-widget-folderview plasma-widget-networkmanagement
16705 xscreensaver-data-extra xscreensaver-gl xscreensaver-gl-extra
16706 xscreensaver-screensaver-bsod
16707 </p></blockquote>
16708
16709 <p>Installed using aptitude, removed with apt-get</p>
16710
16711 <blockquote><p>
16712 kdebase-bin konq-plugins konqueror
16713 </p></blockquote>
16714
16715 </div>
16716 <div class="tags">
16717
16718
16719 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
16720
16721
16722 </div>
16723 </div>
16724 <div class="padding"></div>
16725
16726 <div class="entry">
16727 <div class="title">
16728 <a href="http://people.skolelinux.org/pere/blog/Gnash_buildbot_slave_and_Debian_kfreebsd.html">Gnash buildbot slave and Debian kfreebsd</a>
16729 </div>
16730 <div class="date">
16731 20th November 2010
16732 </div>
16733 <div class="body">
16734 <p>Answering
16735 <a href="http://www.listware.net/201011/gnash-dev/67431-gnash-dev-buildbot-looking-for-slaves.html">the
16736 call from the Gnash project</a> for
16737 <a href="http://www.gnashdev.org:8010">buildbot</a> slaves to test the
16738 current source, I have set up a virtual KVM machine on the Debian
16739 Edu/Skolelinux virtualization host to test the git source on
16740 Debian/Squeeze. I hope this can help the developers in getting new
16741 releases out more often.</p>
16742
16743 <p>As the developers want less main-stream build platforms tested to,
16744 I have considered setting up a <a
16745 href="http://www.debian.org/ports/kfreebsd-gnu/">Debian/kfreebsd</a>
16746 machine as well. I have also considered using the kfreebsd
16747 architecture in Debian as a file server in NUUG to get access to the 5
16748 TB zfs volume we currently use to store DV video. Because of this, I
16749 finally got around to do a test installation of Debian/Squeeze with
16750 kfreebsd. Installation went fairly smooth, thought I noticed some
16751 visual glitches in the cdebconf dialogs (black cursor left on the
16752 screen at random locations). Have not gotten very far with the
16753 testing. Noticed cfdisk did not work, but fdisk did so it was not a
16754 fatal problem. Have to spend some more time on it to see if it is
16755 useful as a file server for NUUG. Will try to find time to set up a
16756 gnash buildbot slave on the Debian Edu/Skolelinux this weekend.</p>
16757
16758 </div>
16759 <div class="tags">
16760
16761
16762 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
16763
16764
16765 </div>
16766 </div>
16767 <div class="padding"></div>
16768
16769 <div class="entry">
16770 <div class="title">
16771 <a href="http://people.skolelinux.org/pere/blog/Debian_in_3D.html">Debian in 3D</a>
16772 </div>
16773 <div class="date">
16774 9th November 2010
16775 </div>
16776 <div class="body">
16777 <p><img src="http://thingiverse-production.s3.amazonaws.com/renders/23/e0/c4/f9/2b/debswagtdose_preview_medium.jpg"></p>
16778
16779 <p>3D printing is just great. I just came across this Debian logo in
16780 3D linked in from
16781 <a href="http://blog.thingiverse.com/2010/11/09/participatory-branding/">the
16782 thingiverse blog</a>.</p>
16783
16784 </div>
16785 <div class="tags">
16786
16787
16788 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
16789
16790
16791 </div>
16792 </div>
16793 <div class="padding"></div>
16794
16795 <div class="entry">
16796 <div class="title">
16797 <a href="http://people.skolelinux.org/pere/blog/Making_room_on_the_Debian_Edu_Sqeeze_DVD.html">Making room on the Debian Edu/Sqeeze DVD</a>
16798 </div>
16799 <div class="date">
16800 7th November 2010
16801 </div>
16802 <div class="body">
16803 <p>Prioritising packages for the Debian Edu /
16804 <a href="http://www.skolelinux.org/">Skolelinux</a> DVD, which is
16805 supposed provide a school with all the services and user applications
16806 needed on the pupils computer network has always been hard. Even
16807 schools without Internet connections should be able to get Debian Edu
16808 working using this DVD.</p>
16809
16810 <p>The job became a lot harder when apt and aptitude started
16811 installing recommended packages by default. We want the same set of
16812 packages to be installed when using the DVD and the netinst CD, and
16813 that means all recommended packages need to be on the DVD. I created
16814 a patch for debian-cd in <a href="http://bugs.debian.org/601203">BTS
16815 report #601203</a> to do this, and since this change was applied to
16816 the Debian Edu DVD build, we have been seriously short on space.</p>
16817
16818 <p>A few days ago we decided to drop blender, wxmaxima and kicad from
16819 the default installation to save space on the DVD, believing that
16820 those needing these applications are few and can get them from the
16821 Debian archive.</p>
16822
16823 <p>Yesterday, I had a look what source packages to see which packages
16824 were using most space. A few large packages are well know;
16825 openoffice.org, openclipart and fluid-soundfont. But I also
16826 discovered that lilypond used 106 MiB and fglrx-driver used 53 MiB.
16827 The lilypond package is pulled in as a dependency for rosegarden, and
16828 when looking a bit closer I discovered that 99 MiB of the 106 MiB were
16829 the documentation package, which is recommended by the binary package.
16830 I decided to drop this documentation package from our DVD, as most of
16831 our users will use the GUI front-ends and do not need the lilypond
16832 documentation. Similarly, I dropped the non-free fglrx-driver package
16833 which might be installed by d-i when its hardware is detected, as the
16834 free X driver should work.</p>
16835
16836 <p>With this change, we finally got space for the LXDE and Gnome
16837 desktop packages as well as the language specific packages making the
16838 DVD more useful again.</p>
16839
16840 </div>
16841 <div class="tags">
16842
16843
16844 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
16845
16846
16847 </div>
16848 </div>
16849 <div class="padding"></div>
16850
16851 <div class="entry">
16852 <div class="title">
16853 <a href="http://people.skolelinux.org/pere/blog/Software_updates_2010_10_24.html">Software updates 2010-10-24</a>
16854 </div>
16855 <div class="date">
16856 24th October 2010
16857 </div>
16858 <div class="body">
16859 <p>Some updates.</p>
16860
16861 <p>My <a href="http://pledgebank.com/gnash-avm2">gnash pledge</a> to
16862 raise money for the project is going well. The lower limit of 10
16863 signers was reached in 24 hours, and so far 13 people have signed it.
16864 More signers and more funding is most welcome, and I am really curious
16865 how far we can get before the time limit of December 24 is reached.
16866 :)</p>
16867
16868 <p>On the #gnash IRC channel on irc.freenode.net, I was just tipped
16869 about what appear to be a great code coverage tool capable of
16870 generating code coverage stats without any changes to the source code.
16871 It is called
16872 <a href="http://simonkagstrom.github.com/kcov/index.html">kcov</a>,
16873 and can be used using <tt>kcov &lt;directory&gt; &lt;binary&gt;</tt>.
16874 It is missing in Debian, but the git source built just fine in Squeeze
16875 after I installed libelf-dev, libdwarf-dev, pkg-config and
16876 libglib2.0-dev. Failed to build in Lenny, but suspect that is
16877 solvable. I hope kcov make it into Debian soon.</p>
16878
16879 <p>Finally found time to wrap up the release notes for <a
16880 href="http://lists.debian.org/debian-edu-announce/2010/10/msg00002.html">a
16881 new alpha release of Debian Edu</a>, and just published the second
16882 alpha test release of the Squeeze based Debian Edu /
16883 <a href="http://www.skolelinux.org/">Skolelinux</a>
16884 release. Give it a try if you need a complete linux solution for your
16885 school, including central infrastructure server, workstations, thin
16886 client servers and diskless workstations. A nice touch added
16887 yesterday is RDP support on the thin client servers, for windows
16888 clients to get a Linux desktop on request.</p>
16889
16890 </div>
16891 <div class="tags">
16892
16893
16894 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>.
16895
16896
16897 </div>
16898 </div>
16899 <div class="padding"></div>
16900
16901 <div class="entry">
16902 <div class="title">
16903 <a href="http://people.skolelinux.org/pere/blog/Pledge_for_funding_to_the_Gnash_project_to_get_AVM2_support.html">Pledge for funding to the Gnash project to get AVM2 support</a>
16904 </div>
16905 <div class="date">
16906 19th October 2010
16907 </div>
16908 <div class="body">
16909 <p><a href="http://www.getgnash.org/">The Gnash project</a> is the
16910 most promising solution for a Free Software Flash implementation. It
16911 has done great so far, but there is still far to go, and recently its
16912 funding has dried up. I believe AVM2 support in Gnash is vital to the
16913 continued progress of the project, as more and more sites show up with
16914 AVM2 flash files.</p>
16915
16916 <p>To try to get funding for developing such support, I have started
16917 <a href="http://www.pledgebank.com/gnash-avm2">a pledge</a> with the
16918 following text:</P>
16919
16920 <p><blockquote>
16921
16922 <p>"I will pay 100$ to the Gnash project to develop AVM2 support but
16923 only if 10 other people will do the same."</p>
16924
16925 <p>- Petter Reinholdtsen, free software developer</p>
16926
16927 <p>Deadline to sign up by: 24th December 2010</p>
16928
16929 <p>The Gnash project need to get support for the new Flash file
16930 format AVM2 to work with a lot of sites using Flash on the
16931 web. Gnash already work with a lot of Flash sites using the old AVM1
16932 format, but more and more sites are using the AVM2 format these
16933 days. The project web page is available from
16934 http://www.getgnash.org/ . Gnash is a free software implementation
16935 of Adobe Flash, allowing those of us that do not accept the terms of
16936 the Adobe Flash license to get access to Flash sites.</p>
16937
16938 <p>The project need funding to get developers to put aside enough
16939 time to develop the AVM2 support, and this pledge is my way to try
16940 to get this to happen.</p>
16941
16942 <p>The project accept donations via the OpenMediaNow foundation,
16943 <a href="http://www.openmedianow.org/?q=node/32">http://www.openmedianow.org/?q=node/32</a> .</p>
16944
16945 </blockquote></p>
16946
16947 <p>I hope you will support this effort too. I hope more than 10
16948 people will participate to make this happen. The more money the
16949 project gets, the more features it can develop using these funds.
16950 :)</p>
16951
16952 </div>
16953 <div class="tags">
16954
16955
16956 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/nuug">nuug</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>.
16957
16958
16959 </div>
16960 </div>
16961 <div class="padding"></div>
16962
16963 <div class="entry">
16964 <div class="title">
16965 <a href="http://people.skolelinux.org/pere/blog/First_version_of_a_Perl_library_to_control_the_Spykee_robot.html">First version of a Perl library to control the Spykee robot</a>
16966 </div>
16967 <div class="date">
16968 9th October 2010
16969 </div>
16970 <div class="body">
16971 <p>This summer I got the chance to buy cheap Spykee robots, and since
16972 then I have worked on getting Linux software in place to control them.
16973 The firmware for the robot is available from the producer, and using
16974 that source it was trivial to figure out the protocol specification.
16975 I've started on a perl library to control it, and made some demo
16976 programs using this perl library to allow one to control the
16977 robots.</p>
16978
16979 <p>The library is quite functional already, and capable of controlling
16980 the driving, fetching video, uploading MP3s and play them. There are
16981 a few less important features too.</p>
16982
16983 <p>Since a few weeks ago, I ran out of time to spend on this project,
16984 but I never got around to releasing the current source. I decided
16985 today that it was time to do something about it, and uploaded the
16986 source to my Debian package store at people.skolelinux.org.</p>
16987
16988 <p>Because it was simpler for me, I made a Debian package and
16989 published the source and deb. If you got a spykee robot, grab the
16990 source or binary package:</p>
16991
16992 <p><ul>
16993 <li><a href="http://people.skolelinux.org/~pere/debian/packages/lenny/libspykee-perl_0.0.20101009-1.tar.gz">libspykee-perl_0.0.20101009-1.tar.gz</a></li>
16994 <li><a href="http://people.skolelinux.org/~pere/debian/packages/lenny/libspykee-perl_0.0.20101009-1.dsc">libspykee-perl_0.0.20101009-1.dsc</a></li>
16995 <li><a href="http://people.skolelinux.org/~pere/debian/packages/lenny/libspykee-perl_0.0.20101009-1_all.deb">libspykee-perl_0.0.20101009-1_all.deb</a></li>
16996 </ul></p>
16997
16998 <p>If you are interested in helping out with developing this library,
16999 please let me know.</p>
17000
17001 </div>
17002 <div class="tags">
17003
17004
17005 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/robot">robot</a>.
17006
17007
17008 </div>
17009 </div>
17010 <div class="padding"></div>
17011
17012 <div class="entry">
17013 <div class="title">
17014 <a href="http://people.skolelinux.org/pere/blog/Links_for_2010_10_03.html">Links for 2010-10-03</a>
17015 </div>
17016 <div class="date">
17017 3rd October 2010
17018 </div>
17019 <div class="body">
17020 <p><ul>
17021
17022 <li><a href="http://arstechnica.com/business/news/2010/09/there-is-no-plan-b-why-the-ipv4-to-ipv6-transition-will-be-ugly.ars">There
17023 is no Plan B: why the IPv4-to-IPv6 transition will be ugly</a></li>
17024
17025 <li>Scanner looking under clothes
17026 <a href="http://www.dagbladet.no/2010/10/03/nyheter/utenriks/reise/overvakingskamera/flyplasser/13667192/">has
17027 already been misused at Heathrow</a>.</li>
17028
17029 <li><a href="http://wiki.softwarelivre.org/Landell">Landell
17030 Webcasting</a> - interesting alternative for
17031 <ahref="http://dvswitch.alioth.debian.org/wiki/">DVSwitch</a> with
17032 simple setup.
17033
17034 </ul></p>
17035
17036 </div>
17037 <div class="tags">
17038
17039
17040 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
17041
17042
17043 </div>
17044 </div>
17045 <div class="padding"></div>
17046
17047 <div class="entry">
17048 <div class="title">
17049 <a href="http://people.skolelinux.org/pere/blog/Terms_of_use_for_video_produced_by_a_Canon_IXUS_130_digital_camera.html">Terms of use for video produced by a Canon IXUS 130 digital camera</a>
17050 </div>
17051 <div class="date">
17052 9th September 2010
17053 </div>
17054 <div class="body">
17055 <p>A few days ago I had the mixed pleasure of bying a new digital
17056 camera, a Canon IXUS 130. It was instructive and very disturbing to
17057 be able to verify that also this camera producer have the nerve to
17058 specify how I can or can not use the videos produced with the camera.
17059 Even thought I was aware of the issue, the options with new cameras
17060 are limited and I ended up bying the camera anyway. What is the
17061 problem, you might ask? It is software patents, MPEG-4, H.264 and the
17062 MPEG-LA that is the problem, and our right to record our experiences
17063 without asking for permissions that is at risk.
17064
17065 <p>On page 27 of the Danish instruction manual, this section is
17066 written:</p>
17067
17068 <blockquote>
17069 <p>This product is licensed under AT&T patents for the MPEG-4 standard
17070 and may be used for encoding MPEG-4 compliant video and/or decoding
17071 MPEG-4 compliant video that was encoded only (1) for a personal and
17072 non-commercial purpose or (2) by a video provider licensed under the
17073 AT&T patents to provide MPEG-4 compliant video.</p>
17074
17075 <p>No license is granted or implied for any other use for MPEG-4
17076 standard.</p>
17077 </blockquote>
17078
17079 <p>In short, the camera producer have chosen to use technology
17080 (MPEG-4/H.264) that is only provided if I used it for personal and
17081 non-commercial purposes, or ask for permission from the organisations
17082 holding the knowledge monopoly (patent) for technology used.</p>
17083
17084 <p>This issue has been brewing for a while, and I recommend you to
17085 read
17086 "<a href="http://www.osnews.com/story/23236/Why_Our_Civilization_s_Video_Art_and_Culture_is_Threatened_by_the_MPEG-LA">Why
17087 Our Civilization's Video Art and Culture is Threatened by the
17088 MPEG-LA</a>" by Eugenia Loli-Queru and
17089 "<a href="http://webmink.com/2010/09/03/h-264-and-foss/">H.264 Is Not
17090 The Sort Of Free That Matters</a>" by Simon Phipps to learn more about
17091 the issue. The solution is to support the
17092 <a href="http://www.digistan.org/open-standard:definition">free and
17093 open standards</a> for video, like <a href="http://www.theora.org/">Ogg
17094 Theora</a>, and avoid MPEG-4 and H.264 if you can.</p>
17095
17096 </div>
17097 <div class="tags">
17098
17099
17100 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling</a>, <a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett</a>, <a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</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>.
17101
17102
17103 </div>
17104 </div>
17105 <div class="padding"></div>
17106
17107 <div class="entry">
17108 <div class="title">
17109 <a href="http://people.skolelinux.org/pere/blog/Some_notes_on_Flash_in_Debian_and_Debian_Edu.html">Some notes on Flash in Debian and Debian Edu</a>
17110 </div>
17111 <div class="date">
17112 4th September 2010
17113 </div>
17114 <div class="body">
17115 <p>In the <a href="http://popcon.debian.org/unknown/by_vote">Debian
17116 popularity-contest numbers</a>, the adobe-flashplugin package the
17117 second most popular used package that is missing in Debian. The sixth
17118 most popular is flashplayer-mozilla. This is a clear indication that
17119 working flash is important for Debian users. Around 10 percent of the
17120 users submitting data to popcon.debian.org have this package
17121 installed.</p>
17122
17123 <p>In the report written by Lars Risan in August 2008
17124 («<a href="http://wiki.skolelinux.no/Dokumentasjon/Rapporter?action=AttachFile&do=view&target=Skolelinux_i_bruk_rapport_1.0.pdf">Skolelinux
17125 i bruk – Rapport for Hurum kommune, Universitetet i Agder og
17126 stiftelsen SLX Debian Labs</a>»), one of the most important problems
17127 schools experienced with <a href="http://www.skolelinux.org/">Debian
17128 Edu/Skolelinux</a> was the lack of working Flash. A lot of educational
17129 web sites require Flash to work, and lacking working Flash support in
17130 the web browser and the problems with installing it was perceived as a
17131 good reason to stay with Windows.</p>
17132
17133 <p>I once saw a funny and sad comment in a web forum, where Linux was
17134 said to be the retarded cousin that did not really understand
17135 everything you told him but could work fairly well. This was a
17136 comment regarding the problems Linux have with proprietary formats and
17137 non-standard web pages, and is sad because it exposes a fairly common
17138 understanding of whose fault it is if web pages that only work in for
17139 example Internet Explorer 6 fail to work on Firefox, and funny because
17140 it explain very well how annoying it is for users when Linux
17141 distributions do not work with the documents they receive or the web
17142 pages they want to visit.</p>
17143
17144 <p>This is part of the reason why I believe it is important for Debian
17145 and Debian Edu to have a well working Flash implementation in the
17146 distribution, to get at least popular sites as Youtube and Google
17147 Video to working out of the box. For Squeeze, Debian have the chance
17148 to include the latest version of Gnash that will make this happen, as
17149 the new release 0.8.8 was published a few weeks ago and is resting in
17150 unstable. The new version work with more sites that version 0.8.7.
17151 The Gnash maintainers have asked for a freeze exception, but the
17152 release team have not had time to reply to it yet. I hope they agree
17153 with me that Flash is important for the Debian desktop users, and thus
17154 accept the new package into Squeeze.</p>
17155
17156 </div>
17157 <div class="tags">
17158
17159
17160 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/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>.
17161
17162
17163 </div>
17164 </div>
17165 <div class="padding"></div>
17166
17167 <div class="entry">
17168 <div class="title">
17169 <a href="http://people.skolelinux.org/pere/blog/My_first_perl_GUI_application___controlling_a_Spykee_robot.html">My first perl GUI application - controlling a Spykee robot</a>
17170 </div>
17171 <div class="date">
17172 1st September 2010
17173 </div>
17174 <div class="body">
17175 <p>This evening I made my first Perl GUI application. The last few
17176 days I have worked on a Perl module for controlling my recently
17177 aquired Spykee robots, and the module is now getting complete enought
17178 that it is possible to use it to control the robot driving at least.
17179 It was now time to figure out how to use it to create some GUI to
17180 allow me to drive the robot around. I picked PerlQt as I have had
17181 positive experiences with the Qt API before, and spent a few minutes
17182 browsing the web for examples. Using Qt Designer seemed like a short
17183 cut, so I ended up writing the perl GUI using Qt Designer and
17184 compiling it into a perl program using the puic program from
17185 libqt-perl. Nothing fancy yet, but it got buttons to connect and
17186 drive around.</p>
17187
17188 <p>The perl module I have written provide a object oriented API for
17189 controlling the robot. Here is an small example on how to use it:</p>
17190
17191 <p><pre>
17192 use Spykee;
17193 Spykee::discover(sub {$robot{$_[0]} = $_[1]});
17194 my $host = (keys %robot)[0];
17195 my $spykee = Spykee->new();
17196 $spykee->contact($host, "admin", "admin");
17197 $spykee->left();
17198 sleep 2;
17199 $spykee->right();
17200 sleep 2;
17201 $spykee->forward();
17202 sleep 2;
17203 $spykee->back();
17204 sleep 2;
17205 $spykee->stop();
17206 </pre></p>
17207
17208 <p>Thanks to the release of the source of the robot firmware, I could
17209 peek into the implementation at the other end to figure out how to
17210 implement the protocol used by the robot. I've implemented several of
17211 the commands the robot understand, but is still missing the camera
17212 support to make it possible to control the robot from remote. First I
17213 want to implement support for uploading new firmware and configuring
17214 the wireless network, to make it possible to bootstrap a Spykee robot
17215 without the producers Windows and MacOSX software (I only have Linux,
17216 so I had to ask a friend to come over to get the robot testing
17217 going. :).</p>
17218
17219 <p>Will release the source to the public soon, but need to figure out
17220 where to make it available first. I will add a link to
17221 <a href="http://wiki.nuug.no/grupper/robot/">the NUUG wiki</a> for
17222 those that want to check back later to find it.</p>
17223
17224 </div>
17225 <div class="tags">
17226
17227
17228 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/robot">robot</a>.
17229
17230
17231 </div>
17232 </div>
17233 <div class="padding"></div>
17234
17235 <div class="entry">
17236 <div class="title">
17237 <a href="http://people.skolelinux.org/pere/blog/Broken_hard_link_handling_with_sshfs.html">Broken hard link handling with sshfs</a>
17238 </div>
17239 <div class="date">
17240 30th August 2010
17241 </div>
17242 <div class="body">
17243 <p>Just got an email from Tobias Gruetzmacher as a followup on my
17244 <a href="http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html">previous
17245 post about sshfs</a>. He reported another problem with sshfs. It
17246 fail to handle hard links properly. A simple way to spot this is to
17247 look at the . and .. entries in the directory tree. These should have
17248 a link count >1, but on sshfs the count is 1. I just tested to see
17249 what happen when trying to hardlink, and this fail as well:</p>
17250
17251 <pre>
17252 % ln foo bar
17253 ln: creating hard link `bar' => `foo': Function not implemented
17254 %
17255 </pre>
17256
17257 <p>I have not yet found time to implement a test for this in my file
17258 system test code, but believe having working hard links is useful to
17259 avoid surprised unix programs. Not as useful as working file locking
17260 and symlinks, which are required to get a working desktop, but useful
17261 nevertheless. :)</p>
17262
17263 <p>The latest version of the file system test code is available via
17264 git from
17265 <a href="http://github.com/gebi/fs-test">http://github.com/gebi/fs-test</a></p>
17266
17267 </div>
17268 <div class="tags">
17269
17270
17271 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
17272
17273
17274 </div>
17275 </div>
17276 <div class="padding"></div>
17277
17278 <div class="entry">
17279 <div class="title">
17280 <a href="http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html">Broken umask handling with sshfs</a>
17281 </div>
17282 <div class="date">
17283 26th August 2010
17284 </div>
17285 <div class="body">
17286 <p>My file system sematics program
17287 <a href="http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html">presented
17288 a few days ago</a> is very useful to verify that a file system can
17289 work as a unix home directory,and today I had to extend it a bit. I'm
17290 looking into alternatives for home directory access here at the
17291 University of Oslo, and one of the options is sshfs. My friend
17292 Finn-Arne mentioned a while back that they had used sshfs with Debian
17293 Edu, but stopped because of problems. I asked today what the problems
17294 where, and he mentioned that sshfs failed to handle umask properly.
17295 Trying to detect the problem I wrote this addition to my fs testing
17296 script:</p>
17297
17298 <pre>
17299 mode_t touch_get_mode(const char *name, mode_t mode) {
17300 mode_t retval = 0;
17301 int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, mode);
17302 if (-1 != fd) {
17303 unlink(name);
17304 struct stat statbuf;
17305 if (-1 != fstat(fd, &statbuf)) {
17306 retval = statbuf.st_mode & 0x1ff;
17307 }
17308 close(fd);
17309 }
17310 return retval;
17311 }
17312
17313 /* Try to detect problem discovered using sshfs */
17314 int test_umask(void) {
17315 printf("info: testing umask effect on file creation\n");
17316
17317 mode_t orig_umask = umask(000);
17318 mode_t newmode;
17319 if (0666 != (newmode = touch_get_mode("foobar", 0666))) {
17320 printf(" error: Wrong file mode %o when creating using mode 666 and umask 000\n",
17321 newmode);
17322 }
17323 umask(007);
17324 if (0660 != (newmode = touch_get_mode("foobar", 0666))) {
17325 printf(" error: Wrong file mode %o when creating using mode 666 and umask 007\n",
17326 newmode);
17327 }
17328
17329 umask (orig_umask);
17330 return 0;
17331 }
17332
17333 int main(int argc, char **argv) {
17334 [...]
17335 test_umask();
17336 return 0;
17337 }
17338 </pre>
17339
17340 <p>Sure enough. On NFS to a netapp, I get this result:</p>
17341
17342 <pre>
17343 Testing POSIX/Unix sematics on file system
17344 info: testing symlink creation
17345 info: testing subdirectory creation
17346 info: testing fcntl locking
17347 Read-locking 1 byte from 1073741824
17348 Read-locking 510 byte from 1073741826
17349 Unlocking 1 byte from 1073741824
17350 Write-locking 1 byte from 1073741824
17351 Write-locking 510 byte from 1073741826
17352 Unlocking 2 byte from 1073741824
17353 info: testing umask effect on file creation
17354 </pre>
17355
17356 <p>When mounting the same directory using sshfs, I get this
17357 result:</p>
17358
17359 <pre>
17360 Testing POSIX/Unix sematics on file system
17361 info: testing symlink creation
17362 info: testing subdirectory creation
17363 info: testing fcntl locking
17364 Read-locking 1 byte from 1073741824
17365 Read-locking 510 byte from 1073741826
17366 Unlocking 1 byte from 1073741824
17367 Write-locking 1 byte from 1073741824
17368 Write-locking 510 byte from 1073741826
17369 Unlocking 2 byte from 1073741824
17370 info: testing umask effect on file creation
17371 error: Wrong file mode 644 when creating using mode 666 and umask 000
17372 error: Wrong file mode 640 when creating using mode 666 and umask 007
17373 </pre>
17374
17375 <p>So, I can conclude that sshfs is better than smb to a Netapp or a
17376 Windows server, but not good enough to be used as a home
17377 directory.</p>
17378
17379 <p>Update 2010-08-26: Reported the issue in
17380 <a href="http://bugs.debian.org/594498">BTS report #594498</a></p>
17381
17382 <p>Update 2010-08-27: Michael Gebetsroither report that he found the
17383 script so useful that he created a GIT repository and stored it in
17384 <a href="http://github.com/gebi/fs-test">http://github.com/gebi/fs-test</a>.</p>
17385
17386 </div>
17387 <div class="tags">
17388
17389
17390 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
17391
17392
17393 </div>
17394 </div>
17395 <div class="padding"></div>
17396
17397 <div class="entry">
17398 <div class="title">
17399 <a href="http://people.skolelinux.org/pere/blog/Rob_Weir__How_to_Crush_Dissent.html">Rob Weir: How to Crush Dissent</a>
17400 </div>
17401 <div class="date">
17402 15th August 2010
17403 </div>
17404 <div class="body">
17405 <p>I found the notes from Rob Weir on
17406 <a href="http://feedproxy.google.com/~r/robweir/antic-atom/~3/VGb23-kta8c/how-to-crush-dissent.html">how
17407 to crush dissent</a> matching my own thoughts on the matter quite
17408 well. Highly recommended for those wondering which road our society
17409 should go down. In my view we have been heading the wrong way for a
17410 long time.</p>
17411
17412 </div>
17413 <div class="tags">
17414
17415
17416 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</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>.
17417
17418
17419 </div>
17420 </div>
17421 <div class="padding"></div>
17422
17423 <div class="entry">
17424 <div class="title">
17425 <a href="http://people.skolelinux.org/pere/blog/No_hardcoded_config_on_Debian_Edu_clients.html">No hardcoded config on Debian Edu clients</a>
17426 </div>
17427 <div class="date">
17428 9th August 2010
17429 </div>
17430 <div class="body">
17431 <p>As reported earlier, the last few days I have looked at how Debian
17432 Edu clients are configured, and tried to get rid of all hardcoded
17433 configuration settings on the clients. I believe the work to be
17434 mostly done, and the clients seem to work just fine with dynamically
17435 generated configuration.</p>
17436
17437 <p>What is the point, you might ask? The point is to allow a Debian
17438 Edu desktop to integrate into an existing network infrastructure
17439 without any manual configuration.</p>
17440
17441 <p>This is what happens when installing a Debian Edu client here at
17442 the University of Oslo using PXE. With the PXE installation, I am
17443 asked for language (Norwegian Bokmål), locality (Norway) and keyboard
17444 layout (no-latin1), Debian Edu profile (Roaming Workstation), if I
17445 accept to reformat the hard drive (yes), if I want to submit info to
17446 popcon.debian.org (no) and root password (secret). After answering
17447 these questions, the installer goes ahead and does its thing, and
17448 after around 50 minutes it is done. I press enter to finish the
17449 installation, and the machine reboots into KDE. When the machine is
17450 ready and kdm asks for login information, I enter my university
17451 username and password, am told by kdm that a local home directory has
17452 been created and that I must log in again, and finally log in with the
17453 same username and password to the KDE 4.4 desktop. At no point during
17454 this process did it ask for university specific settings, and all the
17455 required configuration was dynamically detected using information
17456 fetched via DHCP and DNS. The roaming workstation is now ready for
17457 use.</p>
17458
17459 <p>How was this done, you might wonder? First of all, here is the
17460 list of things that need to be configured on the client to get it
17461 working properly out of the box:</p>
17462
17463 <ul>
17464 <li>IP address/netmask and DNS server.</li>
17465 <li>Web proxy URL.</li>
17466 <li>LDAP server for NSS directory information (user, group, etc).</li>
17467 <li>Kerberos server for PAM password checking.</li>
17468 <li>SMB mount point to access the network home directory. (*)</li>
17469 <li>Central syslog server to send syslog messages to. (*)</li>
17470 <li>Sitesummary collector URL to submit info to central server. (*)</li>
17471 </ul>
17472
17473 <p>(Hm, did I forget anything? Let me knew if I did.)</p>
17474
17475 <p>The points marked (*) are not required to be able to use the
17476 machine, but needed to provide central storage and allowing system
17477 administrators to track their machines. Since yesterday, everything
17478 but the sitesummary collector URL is dynamically discovered at boot
17479 and installation time in the svn version of Debian Edu.</p>
17480
17481 <p>The IP and DNS setup is fetched during boot using DHCP as usual.
17482 When a DHCP update arrives, the proxy setup is updated by looking for
17483 http://wpat/wpad.dat and using the content of this WPAD file to
17484 configure the http and ftp proxy in /etc/environment and
17485 /etc/apt/apt.conf. I decided to update the proxy setup using a DHCP
17486 hook to ensure that the client stops using the Debian Edu proxy when
17487 it is moved outside the Debian Edu network, and instead uses any local
17488 proxy present on the new network when it moves around.</p>
17489
17490 <p>The DNS names of the LDAP, Kerberos and syslog server and related
17491 configuration are generated using DNS information at boot. First the
17492 installer looks for a host named ldap in the current DNS domain. If
17493 not found, it looks for _ldap._tcp SRV records in DNS instead. If an
17494 LDAP server is found, its root DSE entry is requested and the
17495 attributes namingContexts and defaultNamingContext are used to
17496 determine which LDAP base to use for NSS. If there are several
17497 namingContexts attibutes and the defaultNamingContext is present, that
17498 LDAP subtree is used as the base. If defaultNamingContext is missing,
17499 the subtrees listed as namingContexts are searched in sequence for any
17500 object with class posixAccount or posixGroup, and the first one with
17501 such an object is used as the LDAP base. For Kerberos, a similar
17502 search is done by first looking for a host named kerberos, and then
17503 for the _kerberos._tcp SRV record. I've been unable to find a way to
17504 look up the Kerberos realm, so for this the upper case string of the
17505 current DNS domain is used.</p>
17506
17507 <p>For the syslog server, the hosts syslog and loghost are searched
17508 for, and the _syslog._udp SRV record is consulted if no such host is
17509 found. This algorithm works for both Debian Edu and the University of
17510 Oslo. A similar strategy would work for locating the sitesummary
17511 server, but have not been implemented yet. I decided to fetch and
17512 save these settings during installation, to make sure moving to a
17513 different network does not change the set of users being allowed to
17514 log in nor the passwords required to log in. Usernames and passwords
17515 will be cached by sssd when the user logs in on the Debian Edu
17516 network, and will not change as the laptop move around. For a
17517 non-roaming machine, there is no caching, but given that it is
17518 supposed to stay in place it should not matter much. Perhaps we
17519 should switch those to use sssd too?</p>
17520
17521 <p>The user's SMB mount point for the network home directory is
17522 located when the user logs in for the first time. The LDAP server is
17523 consulted to look for the user's LDAP object and the sambaHomePath
17524 attribute is used if found. If it isn't found, the home directory
17525 path fetched from NSS is used instead. Assuming the path is of the
17526 form /site/server/directory/username, the second part is looked up in
17527 DNS and used to generate a SMB URL of the form
17528 smb://server.domain/username. This algorithm works for both Debian
17529 edu and the University of Oslo. Perhaps there are better attributes
17530 to use or a better algorithm that works for more sites, but this will
17531 do for now. :)</p>
17532
17533 <p>This work should make it easier to integrate the Debian Edu clients
17534 into any LDAP/Kerberos infrastructure, and make the current setup even
17535 more flexible than before. I suspect it will also work for thin
17536 client servers, allowing one to easily set up LTSP and hook it into a
17537 existing network infrastructure, but I have not had time to test this
17538 yet.</p>
17539
17540 <p>If you want to help out with implementing these things for Debian
17541 Edu, please contact us on debian-edu@lists.debian.org.</p>
17542
17543 <p>Update 2010-08-09: Simon Farnsworth gave me a heads-up on how to
17544 detect Kerberos realm from DNS, by looking for _kerberos TXT entries
17545 before falling back to the upper case DNS domain name. Will have to
17546 implement it for Debian Edu. :)</p>
17547
17548 </div>
17549 <div class="tags">
17550
17551
17552 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
17553
17554
17555 </div>
17556 </div>
17557 <div class="padding"></div>
17558
17559 <div class="entry">
17560 <div class="title">
17561 <a href="http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html">Testing if a file system can be used for home directories...</a>
17562 </div>
17563 <div class="date">
17564 8th August 2010
17565 </div>
17566 <div class="body">
17567 <p>A few years ago, I was involved in a project planning to use
17568 Windows file servers as home directory servers for Debian
17569 Edu/Skolelinux machines. This was thought to be no problem, as the
17570 access would be through the SMB network file system protocol, and we
17571 knew other sites used SMB with unix and samba as the file server to
17572 mount home directories without any problems. But, after months of
17573 struggling, we had to conclude that our goal was impossible.</p>
17574
17575 <p>The reason is simply that while SMB can be used for home
17576 directories when the file server is Samba running on Unix, this only
17577 work because of Samba have some extensions and the fact that the
17578 underlying file system is a unix file system. When using a Windows
17579 file server, the underlying file system do not have POSIX semantics,
17580 and several programs will fail if the users home directory where they
17581 want to store their configuration lack POSIX semantics.</p>
17582
17583 <p>As part of this work, I wrote a small C program I want to share
17584 with you all, to replicate a few of the problematic applications (like
17585 OpenOffice.org and GCompris) and see if the file system was working as
17586 it should. If you find yourself in spooky file system land, it might
17587 help you find your way out again. This is the fs-test.c source:</p>
17588
17589 <pre>
17590 /*
17591 * Some tests to check the file system sematics. Used to verify that
17592 * CIFS from a windows server do not work properly as a linux home
17593 * directory.
17594 * License: GPL v2 or later
17595 *
17596 * needs libsqlite3-dev and build-essential installed
17597 * compile with: gcc -Wall -lsqlite3 -DTEST_SQLITE fs-test.c -o fs-test
17598 */
17599
17600 #define _FILE_OFFSET_BITS 64
17601 #define _LARGEFILE_SOURCE 1
17602 #define _LARGEFILE64_SOURCE 1
17603
17604 #define _GNU_SOURCE /* for asprintf() */
17605
17606 #include &lt;errno.h>
17607 #include &lt;fcntl.h>
17608 #include &lt;stdio.h>
17609 #include &lt;string.h>
17610 #include &lt;stdlib.h>
17611 #include &lt;sys/file.h>
17612 #include &lt;sys/stat.h>
17613 #include &lt;sys/types.h>
17614 #include &lt;unistd.h>
17615
17616 #ifdef TEST_SQLITE
17617 /*
17618 * Test sqlite open, as done by gcompris require the libsqlite3-dev
17619 * package and linking with -lsqlite3. A more low level test is
17620 * below.
17621 * See also &lt;URL: http://www.sqlite.org./faq.html#q5 >.
17622 */
17623 #include &lt;sqlite3.h>
17624 #define CREATE_TABLE_USERS \
17625 "CREATE TABLE users (user_id INT UNIQUE, login TEXT, lastname TEXT, firstname TEXT, birthdate TEXT, class_id INT ); "
17626 int test_sqlite_open(void) {
17627 char *zErrMsg;
17628 char *name = "testsqlite.db";
17629 sqlite3 *db=NULL;
17630 unlink(name);
17631 int rc = sqlite3_open(name, &db);
17632 if( rc ){
17633 printf("error: sqlite open of %s failed: %s\n", name, sqlite3_errmsg(db));
17634 sqlite3_close(db);
17635 return -1;
17636 }
17637
17638 /* create tables */
17639 rc = sqlite3_exec(db,CREATE_TABLE_USERS, NULL, 0, &zErrMsg);
17640 if( rc != SQLITE_OK ){
17641 printf("error: sqlite table create failed: %s\n", zErrMsg);
17642 sqlite3_close(db);
17643 return -1;
17644 }
17645 printf("info: sqlite worked\n");
17646 sqlite3_close(db);
17647 return 0;
17648 }
17649 #endif /* TEST_SQLITE */
17650
17651 /*
17652 * Demonstrate locking issue found in gcompris using sqlite3. This
17653 * work with ext3, but not with cifs server on Windows 2003. This is
17654 * done in the sqlite3 library.
17655 * See also
17656 * &lt;URL:http://www.cygwin.com/ml/cygwin/2001-08/msg00854.html> and the
17657 * POSIX specification
17658 * &lt;URL:http://www.opengroup.org/onlinepubs/009695399/functions/fcntl.html>.
17659 */
17660 int test_gcompris_locking(void) {
17661 struct flock fl;
17662 char *name = "testsqlite.db";
17663 unlink(name);
17664 int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, 0644);
17665 printf("info: testing fcntl locking\n");
17666
17667 fl.l_whence = SEEK_SET;
17668 fl.l_pid = getpid();
17669 printf(" Read-locking 1 byte from 1073741824");
17670 fl.l_start = 1073741824;
17671 fl.l_len = 1;
17672 fl.l_type = F_RDLCK;
17673 if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
17674
17675 printf(" Read-locking 510 byte from 1073741826");
17676 fl.l_start = 1073741826;
17677 fl.l_len = 510;
17678 fl.l_type = F_RDLCK;
17679 if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
17680
17681 printf(" Unlocking 1 byte from 1073741824");
17682 fl.l_start = 1073741824;
17683 fl.l_len = 1;
17684 fl.l_type = F_UNLCK;
17685 if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
17686
17687 printf(" Write-locking 1 byte from 1073741824");
17688 fl.l_start = 1073741824;
17689 fl.l_len = 1;
17690 fl.l_type = F_WRLCK;
17691 if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
17692
17693 printf(" Write-locking 510 byte from 1073741826");
17694 fl.l_start = 1073741826;
17695 fl.l_len = 510;
17696 if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
17697
17698 printf(" Unlocking 2 byte from 1073741824");
17699 fl.l_start = 1073741824;
17700 fl.l_len = 2;
17701 fl.l_type = F_UNLCK;
17702 if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
17703
17704 close(fd);
17705 return 0;
17706 }
17707
17708 /*
17709 * Test if permissions of freshly created directories allow entries
17710 * below them. This was a problem with OpenOffice.org and gcompris.
17711 * Mounting with option 'sync' seem to solve this problem while
17712 * slowing down file operations.
17713 */
17714 int test_subdirectory_creation(void) {
17715 #define LEVELS 5
17716 char *path = strdup("test");
17717 char *dirs[LEVELS];
17718 int level;
17719 printf("info: testing subdirectory creation\n");
17720 for (level = 0; level &lt; LEVELS; level++) {
17721 char *newpath = NULL;
17722 if (-1 == mkdir(path, 0777)) {
17723 printf(" error: Unable to create directory '%s': %s\n",
17724 path, strerror(errno));
17725 break;
17726 }
17727 asprintf(&newpath, "%s/%s", path, "test");
17728 free(path);
17729 path = newpath;
17730 }
17731 return 0;
17732 }
17733
17734 /*
17735 * Test if symlinks can be created. This was a problem detected with
17736 * KDE.
17737 */
17738 int test_symlinks(void) {
17739 printf("info: testing symlink creation\n");
17740 unlink("symlink");
17741 if (-1 == symlink("file", "symlink"))
17742 printf(" error: Unable to create symlink\n");
17743 return 0;
17744 }
17745
17746 int main(int argc, char **argv) {
17747 printf("Testing POSIX/Unix sematics on file system\n");
17748 test_symlinks();
17749 test_subdirectory_creation();
17750 #ifdef TEST_SQLITE
17751 test_sqlite_open();
17752 #endif /* TEST_SQLITE */
17753 test_gcompris_locking();
17754 return 0;
17755 }
17756 </pre>
17757
17758 <p>When everything is working, it should print something like
17759 this:</p>
17760
17761 <pre>
17762 Testing POSIX/Unix sematics on file system
17763 info: testing symlink creation
17764 info: testing subdirectory creation
17765 info: sqlite worked
17766 info: testing fcntl locking
17767 Read-locking 1 byte from 1073741824
17768 Read-locking 510 byte from 1073741826
17769 Unlocking 1 byte from 1073741824
17770 Write-locking 1 byte from 1073741824
17771 Write-locking 510 byte from 1073741826
17772 Unlocking 2 byte from 1073741824
17773 </pre>
17774
17775 <p>I do not remember the exact details of the problems we saw, but one
17776 of them was with locking, where if I remember correctly, POSIX allow a
17777 read-only lock to be upgraded to a read-write lock without unlocking
17778 the read-only lock (while Windows do not). Another was a bug in the
17779 CIFS/SMB client implementation in the Linux kernel where directory
17780 meta information would be wrong for a fraction of a second, making
17781 OpenOffice.org fail to create its deep directory tree because it was
17782 not allowed to create files in its freshly created directory.</p>
17783
17784 <p>Anyway, here is a nice tool for your tool box, might you never need
17785 it. :)</p>
17786
17787 <p>Update 2010-08-27: Michael Gebetsroither report that he found the
17788 script so useful that he created a GIT repository and stored it in
17789 <a href="http://github.com/gebi/fs-test">http://github.com/gebi/fs-test</a>.</p>
17790
17791 </div>
17792 <div class="tags">
17793
17794
17795 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
17796
17797
17798 </div>
17799 </div>
17800 <div class="padding"></div>
17801
17802 <div class="entry">
17803 <div class="title">
17804 <a href="http://people.skolelinux.org/pere/blog/Autodetecting_Client_setup_for_roaming_workstations_in_Debian_Edu.html">Autodetecting Client setup for roaming workstations in Debian Edu</a>
17805 </div>
17806 <div class="date">
17807 7th August 2010
17808 </div>
17809 <div class="body">
17810 <p>A few days ago, I
17811 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html">tried
17812 to install</a> a Roaming workation profile from Debian Edu/Squeeze
17813 while on the university network here at the University of Oslo, and
17814 noticed how much had to change to get it operational using the
17815 university infrastructure. It was fairly easy, but it occured to me
17816 that Debian Edu would improve a lot if I could get the client to
17817 connect without any changes at all, and thus let the client configure
17818 itself during installation and first boot to use the infrastructure
17819 around it. Now I am a huge step further along that road.</p>
17820
17821 <p>With our current squeeze-test packages, I can select the roaming
17822 workstation profile and get a working laptop connecting to the
17823 university LDAP server for user and group and our active directory
17824 servers for Kerberos authentication. All this without any
17825 configuration at all during installation. My users home directory got
17826 a bookmark in the KDE menu to mount it via SMB, with the correct URL.
17827 In short, openldap and sssd is correctly configured. In addition to
17828 this, the client look for http://wpad/wpad.dat to configure a web
17829 proxy, and when it fail to find it no proxy settings are stored in
17830 /etc/environment and /etc/apt/apt.conf. Iceweasel and KDE is
17831 configured to look for the same wpad configuration and also do not use
17832 a proxy when at the university network. If the machine is moved to a
17833 network with such wpad setup, it would automatically use it when DHCP
17834 gave it a IP address.</p>
17835
17836 <p>The LDAP server is located using DNS, by first looking for the DNS
17837 entry ldap.$domain. If this do not exist, it look for the
17838 _ldap._tcp.$domain SRV records and use the first one as the LDAP
17839 server. Next, it connects to the LDAP server and search all
17840 namingContexts entries for posixAccount or posixGroup objects, and
17841 pick the first one as the LDAP base. For Kerberos, a similar
17842 algorithm is used to locate the LDAP server, and the realm is the
17843 uppercase version of $domain.</p>
17844
17845 <p>So, what is not working, you might ask. SMB mounting my home
17846 directory do not work. No idea why, but suspected the incorrect
17847 Kerberos settings in /etc/krb5.conf and /etc/samba/smb.conf might be
17848 the cause. These are not properly configured during installation, and
17849 had to be hand-edited to get the correct Kerberos realm and server,
17850 but SMB mounting still do not work. :(</p>
17851
17852 <p>With this automatic configuration in place, I expect a Debian Edu
17853 roaming profile installation would be able to automatically detect and
17854 connect to any site using LDAP and Kerberos for NSS directory and PAM
17855 authentication. It should also work out of the box in a Active
17856 Directory environment providing posixAccount and posixGroup objects
17857 with UID and GID values.</p>
17858
17859 <p>If you want to help out with implementing these things for Debian
17860 Edu, please contact us on debian-edu@lists.debian.org.</p>
17861
17862 </div>
17863 <div class="tags">
17864
17865
17866 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
17867
17868
17869 </div>
17870 </div>
17871 <div class="padding"></div>
17872
17873 <div class="entry">
17874 <div class="title">
17875 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html">Debian Edu roaming workstation - at the university of Oslo</a>
17876 </div>
17877 <div class="date">
17878 3rd August 2010
17879 </div>
17880 <div class="body">
17881 <p>The new roaming workstation profile in Debian Edu/Squeeze is fairly
17882 similar to the laptop setup am I working on using Ubuntu for the
17883 University of Oslo, and just for the heck of it, I tested today how
17884 hard it would be to integrate that profile into the university
17885 infrastructure. In this case, it is the university LDAP server,
17886 Active Directory Kerberos server and SMB mounting from the Netapp file
17887 servers.</p>
17888
17889 <p>I was pleasantly surprised that the only three files needed to be
17890 changed (/etc/sssd/sssd.conf, /etc/ldap.conf and
17891 /etc/mklocaluser.d/20-debian-edu-config) and one file had to be added
17892 (/usr/share/perl5/Debian/Edu_Local.pm), to get the client working.
17893 Most of the changes were to get the client to use the university LDAP
17894 for NSS and Kerberos server for PAM, but one was to change a hard
17895 coded DNS domain name in the mklocaluser hook from .intern to
17896 .uio.no.</p>
17897
17898 <p>This testing was so encouraging, that I went ahead and adjusted the
17899 Debian Edu scripts and setup in subversion to centralise the roaming
17900 workstation setup a bit more and avoid the hardcoded DNS domain name,
17901 so that when I test this tomorrow, I expect to get away with modifying
17902 only /etc/sssd/sssd.conf and /etc/ldap.conf to get it to use the
17903 university servers.</p>
17904
17905 <p>My goal is to get the clients to have no hardcoded settings and
17906 fetch all their initial setup during installation and first boot, to
17907 allow them to be inserted also into environments where the default
17908 setup in Debian Edu has been changed or as with the university, where
17909 the environment is different but provides the protocols Debian Edu
17910 uses.</p>
17911
17912 </div>
17913 <div class="tags">
17914
17915
17916 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
17917
17918
17919 </div>
17920 </div>
17921 <div class="padding"></div>
17922
17923 <div class="entry">
17924 <div class="title">
17925 <a href="http://people.skolelinux.org/pere/blog/Circular_package_dependencies_harms_apt_recovery.html">Circular package dependencies harms apt recovery</a>
17926 </div>
17927 <div class="date">
17928 27th July 2010
17929 </div>
17930 <div class="body">
17931 <p>I discovered this while doing
17932 <a href="http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html">automated
17933 testing of upgrades from Debian Lenny to Squeeze</a>. A few packages
17934 in Debian still got circular dependencies, and it is often claimed
17935 that apt and aptitude should be able to handle this just fine, but
17936 some times these dependency loops causes apt to fail.</p>
17937
17938 <p>An example is from todays
17939 <a href="http://people.skolelinux.org/~pere/debian-upgrade-testing//test-20100727-lenny-squeeze-kde-aptitude.txt">upgrade
17940 of KDE using aptitude</a>. In it, a bug in kdebase-workspace-data
17941 causes perl-modules to fail to upgrade. The cause is simple. If a
17942 package fail to unpack, then only part of packages with the circular
17943 dependency might end up being unpacked when unpacking aborts, and the
17944 ones already unpacked will fail to configure in the recovery phase
17945 because its dependencies are unavailable.</p>
17946
17947 <p>In this log, the problem manifest itself with this error:</p>
17948
17949 <blockquote><pre>
17950 dpkg: dependency problems prevent configuration of perl-modules:
17951 perl-modules depends on perl (>= 5.10.1-1); however:
17952 Version of perl on system is 5.10.0-19lenny2.
17953 dpkg: error processing perl-modules (--configure):
17954 dependency problems - leaving unconfigured
17955 </pre></blockquote>
17956
17957 <p>The perl/perl-modules circular dependency is already
17958 <a href="http://bugs.debian.org/527917">reported as a bug</a>, and will
17959 hopefully be solved as soon as possible, but it is not the only one,
17960 and each one of these loops in the dependency tree can cause similar
17961 failures. Of course, they only occur when there are bugs in other
17962 packages causing the unpacking to fail, but it is rather nasty when
17963 the failure of one package causes the problem to become worse because
17964 of dependency loops.</p>
17965
17966 <p>Thanks to
17967 <a href="http://lists.debian.org/debian-devel/2010/06/msg00116.html">the
17968 tireless effort by Bill Allombert</a>, the number of circular
17969 dependencies
17970 <a href="http://debian.semistable.com/debgraph.out.html">left in Debian
17971 is dropping</a>, and perhaps it will reach zero one day. :)</p>
17972
17973 <p>Todays testing also exposed a bug in
17974 <a href="http://bugs.debian.org/590605">update-notifier</a> and
17975 <a href="http://bugs.debian.org/590604">different behaviour</a> between
17976 apt-get and aptitude, the latter possibly caused by some circular
17977 dependency. Reported both to BTS to try to get someone to look at
17978 it.</p>
17979
17980 </div>
17981 <div class="tags">
17982
17983
17984 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/nuug">nuug</a>.
17985
17986
17987 </div>
17988 </div>
17989 <div class="padding"></div>
17990
17991 <div class="entry">
17992 <div class="title">
17993 <a href="http://people.skolelinux.org/pere/blog/First_Debian_Edu_test_release__alpha0__based_on_Squeeze_is_released.html">First Debian Edu test release (alpha0) based on Squeeze is released</a>
17994 </div>
17995 <div class="date">
17996 27th July 2010
17997 </div>
17998 <div class="body">
17999 <p>I just posted this announcement culminating several months of work
18000 with the next Debian Edu release. Not nearly done, but one major step
18001 completed.</p>
18002
18003 <blockquote>
18004 <p>This is the first test release based on Squeeze. The focus of this
18005 release is to test the user application selection. To have a look,
18006 install the standalone profile and let the developers know if the set
18007 of installed packages i.e. applications should be modified. If some
18008 user application is missing, or if there are some applications that no
18009 longer make sense to be included in Debian Edu, please let us know.
18010 Also, if a useful application is missing the translation for your
18011 language of choice, please let us know too.</p>
18012
18013 <p>In addition, feedback and help to polish the desktop (menus,
18014 artwork, starters, etc.) is appreciated. We would like to ship a nice
18015 and handy KDE4 desktop targeted for schools out of the box.</p>
18016
18017 <p>The other profiles should be installable, but there is a lot more
18018 work left to be done before they are ready, so do not expect to
18019 much.</p>
18020
18021 <p>Changes compared to the lenny based version</p>
18022
18023 <ul>
18024 <li>Everything from Debian Squeeze
18025 <ul>
18026 <li>Desktop environment KDE 4.4 => the new KDE desktop in
18027 combination with some new artwork
18028 <li>Web browser Iceweasel 3.5
18029 <li>OpenOffice.org 3.2
18030 <li>Educational toolbox GCompris 9.3
18031 <li>Music creator Rosegarden 10.04.2
18032 <li>Image editor Gimp 2.6.10
18033 <li>Virtual universe Celestia 1.6.0
18034 <li>Virtual stargazer Stellarium 0.10.4
18035 <li>3D modeler Blender 2.49.2 (new application)
18036 <li>Video editor Kdenlive 0.7.7 (new application)
18037 </ul></li>
18038 <li>Now using Kerberos for password checking (migration not finished).
18039 Enabled for:
18040 <ul>
18041 <li>PAM
18042 <li>LDAP
18043 <li>IMAP
18044 <li>SMTP (sender verification)
18045 </ul>
18046 </li>
18047 <li>New experimental roaming workstation profile for laptops.</li>
18048 <li>Show welcome page to users when they first log in. The URL is
18049 fetched from LDAP.</li>
18050 <li>New LXDE desktop option, in addition to KDE (default) and Gnome.</li>
18051 <li>General cleanup (not finished)</li>
18052 </ul>
18053 <p>The following features are not working as they should</p>
18054
18055 <ul>
18056 <li>No web based administration tool for creating users and groups. The
18057 scripts ldap-createuser-krb and ldap-add-user-to-group can be used
18058 for testing.</li>
18059 <li>DVD installs are missing debian-installer images for the PXE boot,
18060 and do not set up the PXE menu on eth0 because of this. LTSP
18061 clients should still boot from eth1 on thin client servers.</li>
18062 <li>The restructured KDE menu is not implemented.</li>
18063 <li>The LDAP server setup need to be reviewed for security.</li>
18064 <li>The LDAP directory structure need to be reworked.</li>
18065 <li>Different sets of packages are installed when using the DVD and the
18066 netinst CD. More packages are installed using the netinst CD.</li>
18067 <li>The jackd package fail to install. This is believed to be caused by
18068 some ongoing transition, and hopefully should be solved soon. The
18069 jackd1 package can be installed manually for those that need it.</li>
18070 <li>Some packages lack translations. See
18071 http://wiki.debian.org/DebianEdu/Status/Squeeze for updated status,
18072 and help out with translations.</li>
18073 </ul>
18074
18075 <p>To download this multiarch netinstall release you can use</p>
18076
18077 <ul>
18078 <li><a href="ftp://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso">ftp://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso</a></li>
18079 <li><a href="http://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso">http://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso</a></li>
18080 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso</li>
18081 </ul>
18082 <p>To download this multiarch dvd release you can use</p>
18083
18084 <ul>
18085 <li><a href="ftp://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso">ftp://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso</a></li>
18086 <li><a href="http://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso">http://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso</a></li>
18087 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso</li>
18088 </ul>
18089
18090 <p>There is no source DVD available yet. It will be prepared when we
18091 get closer to the final release.</p>
18092
18093 <p>The MD5SUM of these images are</p>
18094
18095 <ul>
18096 <li>3dbf45d59f42a53518b6e3c9ec3b5eb6 debian-edu-6.0.0+edua0-CD.iso</li>
18097 <li>22f2cbfce281d1c6e478be452638675d debian-edu-6.0.0+edua0-DVD.iso</li>
18098 </ul>
18099
18100 <p>The SHA1SUM of these images are</p>
18101 <ul>
18102 <li>c53d1b69b40cf37cd27aefaf33f6f6a3821bedf0 debian-edu-6.0.0+edua0-CD.iso</li>
18103 <li>2ec29d7db676d59d32197b05c277ffe16348376c debian-edu-6.0.0+edua0-DVD.iso</li>
18104 </ul>
18105 <p>How to report bugs:
18106 http://wiki.debian.org/DebianEdu/HowTo/ReportBugsInBugzilla</p>
18107
18108 <p>Please direct replies to debian-edu@lists.debian.org</p>
18109 </blockquote>
18110
18111 </div>
18112 <div class="tags">
18113
18114
18115 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
18116
18117
18118 </div>
18119 </div>
18120 <div class="padding"></div>
18121
18122 <div class="entry">
18123 <div class="title">
18124 <a href="http://people.skolelinux.org/pere/blog/One_step_closer_to_single_signon_in_Debian_Edu.html">One step closer to single signon in Debian Edu</a>
18125 </div>
18126 <div class="date">
18127 25th July 2010
18128 </div>
18129 <div class="body">
18130 <p>The last few months me and the other Debian Edu developers have
18131 been working hard to get the Debian/Squeeze based version of Debian
18132 Edu/Skolelinux into shape. This future version will use Kerberos for
18133 authentication, and services are slowly migrated to single signon,
18134 getting rid of password questions one at the time.</p>
18135
18136 <p>It will also feature a roaming workstation profile with local home
18137 directory, for laptops that are only some times on the Skolelinux
18138 network, and for this profile a shortcut is created in Gnome and KDE
18139 to gain access to the users home directory on the file server. This
18140 shortcut uses SMB at the moment, and yesterday I had time to test if
18141 SMB mounting had started working in KDE after we added the cifs-utils
18142 package. I was pleasantly surprised how well it worked.</p>
18143
18144 <p>Thanks to the recent changes to our samba configuration to get it
18145 to use Kerberos for authentication, there were no question about user
18146 password when mounting the SMB volume. A simple click on the shortcut
18147 in the KDE menu, and a window with the home directory popped
18148 up. :)</p>
18149
18150 <p>One step closer to a single signon solution out of the box in
18151 Debian Edu. We already had PAM, LDAP, IMAP and SMTP in place, and now
18152 also Samba. Next step is Cups and hopefully also NFS.</p>
18153
18154 <p>We had planned a alpha0 release of Debian Edu for today, but thanks
18155 to the autobuilder administrators for some architectures being slow to
18156 sign packages, we are still missing the fixed LTSP package we need for
18157 the release. It was uploaded three days ago with urgency=high, and if
18158 it had entered testing yesterday we would have been able to test it in
18159 time for a alpha0 release today. As the binaries for ia64 and powerpc
18160 still not uploaded to the Debian archive, we need to delay the alpha
18161 release another day.</p>
18162
18163 <p>If you want to help out with implementing Kerberos for Debian Edu,
18164 please contact us on debian-edu@lists.debian.org.</p>
18165
18166 </div>
18167 <div class="tags">
18168
18169
18170 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet</a>.
18171
18172
18173 </div>
18174 </div>
18175 <div class="padding"></div>
18176
18177 <div class="entry">
18178 <div class="title">
18179 <a href="http://people.skolelinux.org/pere/blog/OpenStreetmap_one_step_closer_to_having_routing_on_its_front_page.html">OpenStreetmap one step closer to having routing on its front page</a>
18180 </div>
18181 <div class="date">
18182 18th July 2010
18183 </div>
18184 <div class="body">
18185 <p>Thanks to
18186 <a href="http://feedproxy.google.com/~r/Opengeodata/~3/wUTCzDZk3lc/project-of-the-week-which-way-home">todays
18187 opengeodata blog entry</a>, I just discovered that the
18188 OpenStreetmap.org site have gotten
18189 <a href="http://nroets.dev.openstreetmap.org/demo/index.html?layers=B000FTFTT">support
18190 for calculating routes</a>. The support is still experimental and
18191 only available from the development server, until more experience is
18192 gathered on the user interface and any scalability issues.</p>
18193
18194 <p>Earlier, the routing I knew about using the OpenStreetmap.org data
18195 was provided by <a href="http://maps.cloudmade.com/">Cloudmade</a>,
18196 but having it on the main page is required to make everyone aware of
18197 the issue. I've had people reject Openstreetmap.org as a viable
18198 alternative for them because the front page lacked routing support,
18199 and I hope their needs will be catered for when routing show up on the
18200 www.openstreetmap.org front page.</p>
18201
18202 </div>
18203 <div class="tags">
18204
18205
18206 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/kart">kart</a>, <a href="http://people.skolelinux.org/pere/blog/tags/web">web</a>.
18207
18208
18209 </div>
18210 </div>
18211 <div class="padding"></div>
18212
18213 <div class="entry">
18214 <div class="title">
18215 <a href="http://people.skolelinux.org/pere/blog/What_are_they_searching_for___PowerDNS_and_ISC_DHCP_in_LDAP.html">What are they searching for - PowerDNS and ISC DHCP in LDAP</a>
18216 </div>
18217 <div class="date">
18218 17th July 2010
18219 </div>
18220 <div class="body">
18221 <p>This is a
18222 <a href="http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html">followup</a>
18223 on my
18224 <a href="http://people.skolelinux.org/pere/blog/Idea_for_a_change_to_LDAP_schemas_allowing_DNS_and_DHCP_info_to_be_combined_into_one_object.html">previous
18225 work</a> on
18226 <a href="http://people.skolelinux.org/pere/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html">merging
18227 all</a> the computer related LDAP objects in Debian Edu.</p>
18228
18229 <p>As a step to try to see if it possible to merge the DNS and DHCP
18230 LDAP objects, I have had a look at how the packages pdns-backend-ldap
18231 and dhcp3-server-ldap in Debian use the LDAP server. The two
18232 implementations are quite different in how they use LDAP.</p>
18233
18234 To get this information, I started slapd with debugging enabled and
18235 dumped the debug output to a file to get the LDAP searches performed
18236 on a Debian Edu main-server. Here is a summary.
18237
18238 <p><strong>powerdns</strong></p>
18239
18240 <a href="http://www.linuxnetworks.de/doc/index.php/PowerDNS_LDAP_Backend">Clues
18241 on how to</a> set up PowerDNS to use a LDAP backend is available on
18242 the web.
18243
18244 <p>PowerDNS have two modes of operation using LDAP as its backend.
18245 One "strict" mode where the forward and reverse DNS lookups are done
18246 using the same LDAP objects, and a "tree" mode where the forward and
18247 reverse entries are in two different subtrees in LDAP with a structure
18248 based on the DNS names, as in tjener.intern and
18249 2.2.0.10.in-addr.arpa.</p>
18250
18251 <p>In tree mode, the server is set up to use a LDAP subtree as its
18252 base, and uses a "base" scoped search for the DNS name by adding
18253 "dc=tjener,dc=intern," to the base with a filter for
18254 "(associateddomain=tjener.intern)" for the forward entry and
18255 "dc=2,dc=2,dc=0,dc=10,dc=in-addr,dc=arpa," with a filter for
18256 "(associateddomain=2.2.0.10.in-addr.arpa)" for the reverse entry. For
18257 forward entries, it is looking for attributes named dnsttl, arecord,
18258 nsrecord, cnamerecord, soarecord, ptrrecord, hinforecord, mxrecord,
18259 txtrecord, rprecord, afsdbrecord, keyrecord, aaaarecord, locrecord,
18260 srvrecord, naptrrecord, kxrecord, certrecord, dsrecord, sshfprecord,
18261 ipseckeyrecord, rrsigrecord, nsecrecord, dnskeyrecord, dhcidrecord,
18262 spfrecord and modifytimestamp. For reverse entries it is looking for
18263 the attributes dnsttl, arecord, nsrecord, cnamerecord, soarecord,
18264 ptrrecord, hinforecord, mxrecord, txtrecord, rprecord, aaaarecord,
18265 locrecord, srvrecord, naptrrecord and modifytimestamp. The equivalent
18266 ldapsearch commands could look like this:</p>
18267
18268 <blockquote><pre>
18269 ldapsearch -h ldap \
18270 -b dc=tjener,dc=intern,ou=hosts,dc=skole,dc=skolelinux,dc=no \
18271 -s base -x '(associateddomain=tjener.intern)' dNSTTL aRecord nSRecord \
18272 cNAMERecord sOARecord pTRRecord hInfoRecord mXRecord tXTRecord \
18273 rPRecord aFSDBRecord KeyRecord aAAARecord lOCRecord sRVRecord \
18274 nAPTRRecord kXRecord certRecord dSRecord sSHFPRecord iPSecKeyRecord \
18275 rRSIGRecord nSECRecord dNSKeyRecord dHCIDRecord sPFRecord modifyTimestamp
18276
18277 ldapsearch -h ldap \
18278 -b dc=2,dc=2,dc=0,dc=10,dc=in-addr,dc=arpa,ou=hosts,dc=skole,dc=skolelinux,dc=no \
18279 -s base -x '(associateddomain=2.2.0.10.in-addr.arpa)'
18280 dnsttl, arecord, nsrecord, cnamerecord soarecord ptrrecord \
18281 hinforecord mxrecord txtrecord rprecord aaaarecord locrecord \
18282 srvrecord naptrrecord modifytimestamp
18283 </pre></blockquote>
18284
18285 <p>In Debian Edu/Lenny, the PowerDNS tree mode is used with
18286 ou=hosts,dc=skole,dc=skolelinux,dc=no as the base, and these are two
18287 example LDAP objects used there. In addition to these objects, the
18288 parent objects all th way up to ou=hosts,dc=skole,dc=skolelinux,dc=no
18289 also exist.</p>
18290
18291 <blockquote><pre>
18292 dn: dc=tjener,dc=intern,ou=hosts,dc=skole,dc=skolelinux,dc=no
18293 objectclass: top
18294 objectclass: dnsdomain
18295 objectclass: domainrelatedobject
18296 dc: tjener
18297 arecord: 10.0.2.2
18298 associateddomain: tjener.intern
18299
18300 dn: dc=2,dc=2,dc=0,dc=10,dc=in-addr,dc=arpa,ou=hosts,dc=skole,dc=skolelinux,dc=no
18301 objectclass: top
18302 objectclass: dnsdomain2
18303 objectclass: domainrelatedobject
18304 dc: 2
18305 ptrrecord: tjener.intern
18306 associateddomain: 2.2.0.10.in-addr.arpa
18307 </pre></blockquote>
18308
18309 <p>In strict mode, the server behaves differently. When looking for
18310 forward DNS entries, it is doing a "subtree" scoped search with the
18311 same base as in the tree mode for a object with filter
18312 "(associateddomain=tjener.intern)" and requests the attributes dnsttl,
18313 arecord, nsrecord, cnamerecord, soarecord, ptrrecord, hinforecord,
18314 mxrecord, txtrecord, rprecord, aaaarecord, locrecord, srvrecord,
18315 naptrrecord and modifytimestamp. For reverse entires it also do a
18316 subtree scoped search but this time the filter is "(arecord=10.0.2.2)"
18317 and the requested attributes are associateddomain, dnsttl and
18318 modifytimestamp. In short, in strict mode the objects with ptrrecord
18319 go away, and the arecord attribute in the forward object is used
18320 instead.</p>
18321
18322 <p>The forward and reverse searches can be simulated using ldapsearch
18323 like this:</p>
18324
18325 <blockquote><pre>
18326 ldapsearch -h ldap -b ou=hosts,dc=skole,dc=skolelinux,dc=no -s sub -x \
18327 '(associateddomain=tjener.intern)' dNSTTL aRecord nSRecord \
18328 cNAMERecord sOARecord pTRRecord hInfoRecord mXRecord tXTRecord \
18329 rPRecord aFSDBRecord KeyRecord aAAARecord lOCRecord sRVRecord \
18330 nAPTRRecord kXRecord certRecord dSRecord sSHFPRecord iPSecKeyRecord \
18331 rRSIGRecord nSECRecord dNSKeyRecord dHCIDRecord sPFRecord modifyTimestamp
18332
18333 ldapsearch -h ldap -b ou=hosts,dc=skole,dc=skolelinux,dc=no -s sub -x \
18334 '(arecord=10.0.2.2)' associateddomain dnsttl modifytimestamp
18335 </pre></blockquote>
18336
18337 <p>In addition to the forward and reverse searches , there is also a
18338 search for SOA records, which behave similar to the forward and
18339 reverse lookups.</p>
18340
18341 <p>A thing to note with the PowerDNS behaviour is that it do not
18342 specify any objectclass names, and instead look for the attributes it
18343 need to generate a DNS reply. This make it able to work with any
18344 objectclass that provide the needed attributes.</p>
18345
18346 <p>The attributes are normally provided in the cosine (RFC 1274) and
18347 dnsdomain2 schemas. The latter is used for reverse entries like
18348 ptrrecord and recent DNS additions like aaaarecord and srvrecord.</p>
18349
18350 <p>In Debian Edu, we have created DNS objects using the object classes
18351 dcobject (for dc), dnsdomain or dnsdomain2 (structural, for the DNS
18352 attributes) and domainrelatedobject (for associatedDomain). The use
18353 of structural object classes make it impossible to combine these
18354 classes with the object classes used by DHCP.</p>
18355
18356 <p>There are other schemas that could be used too, for example the
18357 dnszone structural object class used by Gosa and bind-sdb for the DNS
18358 attributes combined with the domainrelatedobject object class, but in
18359 this case some unused attributes would have to be included as well
18360 (zonename and relativedomainname).</p>
18361
18362 <p>My proposal for Debian Edu would be to switch PowerDNS to strict
18363 mode and not use any of the existing objectclasses (dnsdomain,
18364 dnsdomain2 and dnszone) when one want to combine the DNS information
18365 with DHCP information, and instead create a auxiliary object class
18366 defined something like this (using the attributes defined for
18367 dnsdomain and dnsdomain2 or dnszone):</p>
18368
18369 <blockquote><pre>
18370 objectclass ( some-oid NAME 'dnsDomainAux'
18371 SUP top
18372 AUXILIARY
18373 MAY ( ARecord $ MDRecord $ MXRecord $ NSRecord $ SOARecord $ CNAMERecord $
18374 DNSTTL $ DNSClass $ PTRRecord $ HINFORecord $ MINFORecord $
18375 TXTRecord $ SIGRecord $ KEYRecord $ AAAARecord $ LOCRecord $
18376 NXTRecord $ SRVRecord $ NAPTRRecord $ KXRecord $ CERTRecord $
18377 A6Record $ DNAMERecord
18378 ))
18379 </pre></blockquote>
18380
18381 <p>This will allow any object to become a DNS entry when combined with
18382 the domainrelatedobject object class, and allow any entity to include
18383 all the attributes PowerDNS wants. I've sent an email to the PowerDNS
18384 developers asking for their view on this schema and if they are
18385 interested in providing such schema with PowerDNS, and I hope my
18386 message will be accepted into their mailing list soon.</p>
18387
18388 <p><strong>ISC dhcp</strong></p>
18389
18390 <p>The DHCP server searches for specific objectclass and requests all
18391 the object attributes, and then uses the attributes it want. This
18392 make it harder to figure out exactly what attributes are used, but
18393 thanks to the working example in Debian Edu I can at least get an idea
18394 what is needed without having to read the source code.</p>
18395
18396 <p>In the DHCP server configuration, the LDAP base to use and the
18397 search filter to use to locate the correct dhcpServer entity is
18398 stored. These are the relevant entries from
18399 /etc/dhcp3/dhcpd.conf:</p>
18400
18401 <blockquote><pre>
18402 ldap-base-dn "dc=skole,dc=skolelinux,dc=no";
18403 ldap-dhcp-server-cn "dhcp";
18404 </pre></blockquote>
18405
18406 <p>The DHCP server uses this information to nest all the DHCP
18407 configuration it need. The cn "dhcp" is located using the given LDAP
18408 base and the filter "(&(objectClass=dhcpServer)(cn=dhcp))". The
18409 search result is this entry:</p>
18410
18411 <blockquote><pre>
18412 dn: cn=dhcp,dc=skole,dc=skolelinux,dc=no
18413 cn: dhcp
18414 objectClass: top
18415 objectClass: dhcpServer
18416 dhcpServiceDN: cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
18417 </pre></blockquote>
18418
18419 <p>The content of the dhcpServiceDN attribute is next used to locate the
18420 subtree with DHCP configuration. The DHCP configuration subtree base
18421 is located using a base scope search with base "cn=DHCP
18422 Config,dc=skole,dc=skolelinux,dc=no" and filter
18423 "(&(objectClass=dhcpService)(|(dhcpPrimaryDN=cn=dhcp,dc=skole,dc=skolelinux,dc=no)(dhcpSecondaryDN=cn=dhcp,dc=skole,dc=skolelinux,dc=no)))".
18424 The search result is this entry:</p>
18425
18426 <blockquote><pre>
18427 dn: cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
18428 cn: DHCP Config
18429 objectClass: top
18430 objectClass: dhcpService
18431 objectClass: dhcpOptions
18432 dhcpPrimaryDN: cn=dhcp, dc=skole,dc=skolelinux,dc=no
18433 dhcpStatements: ddns-update-style none
18434 dhcpStatements: authoritative
18435 dhcpOption: smtp-server code 69 = array of ip-address
18436 dhcpOption: www-server code 72 = array of ip-address
18437 dhcpOption: wpad-url code 252 = text
18438 </pre></blockquote>
18439
18440 <p>Next, the entire subtree is processed, one level at the time. When
18441 all the DHCP configuration is loaded, it is ready to receive requests.
18442 The subtree in Debian Edu contain objects with object classes
18443 top/dhcpService/dhcpOptions, top/dhcpSharedNetwork/dhcpOptions,
18444 top/dhcpSubnet, top/dhcpGroup and top/dhcpHost. These provide options
18445 and information about netmasks, dynamic range etc. Leaving out the
18446 details here because it is not relevant for the focus of my
18447 investigation, which is to see if it is possible to merge dns and dhcp
18448 related computer objects.</p>
18449
18450 <p>When a DHCP request come in, LDAP is searched for the MAC address
18451 of the client (00:00:00:00:00:00 in this example), using a subtree
18452 scoped search with "cn=DHCP Config,dc=skole,dc=skolelinux,dc=no" as
18453 the base and "(&(objectClass=dhcpHost)(dhcpHWAddress=ethernet
18454 00:00:00:00:00:00))" as the filter. This is what a host object look
18455 like:</p>
18456
18457 <blockquote><pre>
18458 dn: cn=hostname,cn=group1,cn=THINCLIENTS,cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
18459 cn: hostname
18460 objectClass: top
18461 objectClass: dhcpHost
18462 dhcpHWAddress: ethernet 00:00:00:00:00:00
18463 dhcpStatements: fixed-address hostname
18464 </pre></blockquote>
18465
18466 <p>There is less flexiblity in the way LDAP searches are done here.
18467 The object classes need to have fixed names, and the configuration
18468 need to be stored in a fairly specific LDAP structure. On the
18469 positive side, the invidiual dhcpHost entires can be anywhere without
18470 the DN pointed to by the dhcpServer entries. The latter should make
18471 it possible to group all host entries in a subtree next to the
18472 configuration entries, and this subtree can also be shared with the
18473 DNS server if the schema proposed above is combined with the dhcpHost
18474 structural object class.
18475
18476 <p><strong>Conclusion</strong></p>
18477
18478 <p>The PowerDNS implementation seem to be very flexible when it come
18479 to which LDAP schemas to use. While its "tree" mode is rigid when it
18480 come to the the LDAP structure, the "strict" mode is very flexible,
18481 allowing DNS objects to be stored anywhere under the base cn specified
18482 in the configuration.</p>
18483
18484 <p>The DHCP implementation on the other hand is very inflexible, both
18485 regarding which LDAP schemas to use and which LDAP structure to use.
18486 I guess one could implement ones own schema, as long as the
18487 objectclasses and attributes have the names used, but this do not
18488 really help when the DHCP subtree need to have a fairly fixed
18489 structure.</p>
18490
18491 <p>Based on the observed behaviour, I suspect a LDAP structure like
18492 this might work for Debian Edu:</p>
18493
18494 <blockquote><pre>
18495 ou=services
18496 cn=machine-info (dhcpService) - dhcpServiceDN points here
18497 cn=dhcp (dhcpServer)
18498 cn=dhcp-internal (dhcpSharedNetwork/dhcpOptions)
18499 cn=10.0.2.0 (dhcpSubnet)
18500 cn=group1 (dhcpGroup/dhcpOptions)
18501 cn=dhcp-thinclients (dhcpSharedNetwork/dhcpOptions)
18502 cn=192.168.0.0 (dhcpSubnet)
18503 cn=group1 (dhcpGroup/dhcpOptions)
18504 ou=machines - PowerDNS base points here
18505 cn=hostname (dhcpHost/domainrelatedobject/dnsDomainAux)
18506 </pre></blockquote>
18507
18508 <P>This is not tested yet. If the DHCP server require the dhcpHost
18509 entries to be in the dhcpGroup subtrees, the entries can be stored
18510 there instead of a common machines subtree, and the PowerDNS base
18511 would have to be moved one level up to the machine-info subtree.</p>
18512
18513 <p>The combined object under the machines subtree would look something
18514 like this:</p>
18515
18516 <blockquote><pre>
18517 dn: dc=hostname,ou=machines,cn=machine-info,dc=skole,dc=skolelinux,dc=no
18518 dc: hostname
18519 objectClass: top
18520 objectClass: dhcpHost
18521 objectclass: domainrelatedobject
18522 objectclass: dnsDomainAux
18523 associateddomain: hostname.intern
18524 arecord: 10.11.12.13
18525 dhcpHWAddress: ethernet 00:00:00:00:00:00
18526 dhcpStatements: fixed-address hostname.intern
18527 </pre></blockquote>
18528
18529 </p>One could even add the LTSP configuration associated with a given
18530 machine, as long as the required attributes are available in a
18531 auxiliary object class.</p>
18532
18533 </div>
18534 <div class="tags">
18535
18536
18537 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
18538
18539
18540 </div>
18541 </div>
18542 <div class="padding"></div>
18543
18544 <div class="entry">
18545 <div class="title">
18546 <a href="http://people.skolelinux.org/pere/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html">Combining PowerDNS and ISC DHCP LDAP objects</a>
18547 </div>
18548 <div class="date">
18549 14th July 2010
18550 </div>
18551 <div class="body">
18552 <p>For a while now, I have wanted to find a way to change the DNS and
18553 DHCP services in Debian Edu to use the same LDAP objects for a given
18554 computer, to avoid the possibility of having a inconsistent state for
18555 a computer in LDAP (as in DHCP but no DNS entry or the other way
18556 around) and make it easier to add computers to LDAP.</p>
18557
18558 <p>I've looked at how powerdns and dhcpd is using LDAP, and using this
18559 information finally found a solution that seem to work.</p>
18560
18561 <p>The old setup required three LDAP objects for a given computer.
18562 One forward DNS entry, one reverse DNS entry and one DHCP entry. If
18563 we switch powerdns to use its strict LDAP method (ldap-method=strict
18564 in pdns-debian-edu.conf), the forward and reverse DNS entries are
18565 merged into one while making it impossible to transfer the reverse map
18566 to a slave DNS server.</p>
18567
18568 <p>If we also replace the object class used to get the DNS related
18569 attributes to one allowing these attributes to be combined with the
18570 dhcphost object class, we can merge the DNS and DHCP entries into one.
18571 I've written such object class in the dnsdomainaux.schema file (need
18572 proper OIDs, but that is a minor issue), and tested the setup. It
18573 seem to work.</p>
18574
18575 <p>With this test setup in place, we can get away with one LDAP object
18576 for both DNS and DHCP, and even the LTSP configuration I suggested in
18577 an earlier email. The combined LDAP object will look something like
18578 this:</p>
18579
18580 <blockquote><pre>
18581 dn: cn=hostname,cn=group1,cn=THINCLIENTS,cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
18582 cn: hostname
18583 objectClass: dhcphost
18584 objectclass: domainrelatedobject
18585 objectclass: dnsdomainaux
18586 associateddomain: hostname.intern
18587 arecord: 10.11.12.13
18588 dhcphwaddress: ethernet 00:00:00:00:00:00
18589 dhcpstatements: fixed-address hostname
18590 ldapconfigsound: Y
18591 </pre></blockquote>
18592
18593 <p>The DNS server uses the associateddomain and arecord entries, while
18594 the DHCP server uses the dhcphwaddress and dhcpstatements entries
18595 before asking DNS to resolve the fixed-adddress. LTSP will use
18596 dhcphwaddress or associateddomain and the ldapconfig* attributes.</p>
18597
18598 <p>I am not yet sure if I can get the DHCP server to look for its
18599 dhcphost in a different location, to allow us to put the objects
18600 outside the "DHCP Config" subtree, but hope to figure out a way to do
18601 that. If I can't figure out a way to do that, we can still get rid of
18602 the hosts subtree and move all its content into the DHCP Config tree
18603 (which probably should be renamed to be more related to the new
18604 content. I suspect cn=dnsdhcp,ou=services or something like that
18605 might be a good place to put it.</p>
18606
18607 <p>If you want to help out with implementing this for Debian Edu,
18608 please contact us on debian-edu@lists.debian.org.</p>
18609
18610 </div>
18611 <div class="tags">
18612
18613
18614 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
18615
18616
18617 </div>
18618 </div>
18619 <div class="padding"></div>
18620
18621 <div class="entry">
18622 <div class="title">
18623 <a href="http://people.skolelinux.org/pere/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html">Idea for storing LTSP configuration in LDAP</a>
18624 </div>
18625 <div class="date">
18626 11th July 2010
18627 </div>
18628 <div class="body">
18629 <p>Vagrant mentioned on IRC today that ltsp_config now support
18630 sourcing files from /usr/share/ltsp/ltsp_config.d/ on the thin
18631 clients, and that this can be used to fetch configuration from LDAP if
18632 Debian Edu choose to store configuration there.</p>
18633
18634 <p>Armed with this information, I got inspired and wrote a test module
18635 to get configuration from LDAP. The idea is to look up the MAC
18636 address of the client in LDAP, and look for attributes on the form
18637 ltspconfigsetting=value, and use this to export SETTING=value to the
18638 LTSP clients.</p>
18639
18640 <p>The goal is to be able to store the LTSP configuration attributes
18641 in a "computer" LDAP object used by both DNS and DHCP, and thus
18642 allowing us to store all information about a computer in one place.</p>
18643
18644 <p>This is a untested draft implementation, and I welcome feedback on
18645 this approach. A real LDAP schema for the ltspClientAux objectclass
18646 need to be written. Comments, suggestions, etc?</p>
18647
18648 <blockquote><pre>
18649 # Store in /opt/ltsp/$arch/usr/share/ltsp/ltsp_config.d/ldap-config
18650 #
18651 # Fetch LTSP client settings from LDAP based on MAC address
18652 #
18653 # Uses ethernet address as stored in the dhcpHost objectclass using
18654 # the dhcpHWAddress attribute or ethernet address stored in the
18655 # ieee802Device objectclass with the macAddress attribute.
18656 #
18657 # This module is written to be schema agnostic, and only depend on the
18658 # existence of attribute names.
18659 #
18660 # The LTSP configuration variables are saved directly using a
18661 # ltspConfig prefix and uppercasing the rest of the attribute name.
18662 # To set the SERVER variable, set the ltspConfigServer attribute.
18663 #
18664 # Some LDAP schema should be created with all the relevant
18665 # configuration settings. Something like this should work:
18666 #
18667 # objectclass ( 1.1.2.2 NAME 'ltspClientAux'
18668 # SUP top
18669 # AUXILIARY
18670 # MAY ( ltspConfigServer $ ltsConfigSound $ ... )
18671
18672 LDAPSERVER=$(debian-edu-ldapserver)
18673 if [ "$LDAPSERVER" ] ; then
18674 LDAPBASE=$(debian-edu-ldapserver -b)
18675 for MAC in $(LANG=C ifconfig |grep -i hwaddr| awk '{print $5}'|sort -u) ; do
18676 filter="(|(dhcpHWAddress=ethernet $MAC)(macAddress=$MAC))"
18677 ldapsearch -h "$LDAPSERVER" -b "$LDAPBASE" -v -x "$filter" | \
18678 grep '^ltspConfig' | while read attr value ; do
18679 # Remove prefix and convert to upper case
18680 attr=$(echo $attr | sed 's/^ltspConfig//i' | tr a-z A-Z)
18681 # bass value on to clients
18682 eval "$attr=$value; export $attr"
18683 done
18684 done
18685 fi
18686 </pre></blockquote>
18687
18688 <p>I'm not sure this shell construction will work, because I suspect
18689 the while block might end up in a subshell causing the variables set
18690 there to not show up in ltsp-config, but if that is the case I am sure
18691 the code can be restructured to make sure the variables are passed on.
18692 I expect that can be solved with some testing. :)</p>
18693
18694 <p>If you want to help out with implementing this for Debian Edu,
18695 please contact us on debian-edu@lists.debian.org.</p>
18696
18697 <p>Update 2010-07-17: I am aware of another effort to store LTSP
18698 configuration in LDAP that was created around year 2000 by
18699 <a href="http://www.pcxperience.com/thinclient/documentation/ldap.html">PC
18700 Xperience, Inc., 2000</a>. I found its
18701 <a href="http://people.redhat.com/alikins/ltsp/ldap/">files</a> on a
18702 personal home page over at redhat.com.</p>
18703
18704 </div>
18705 <div class="tags">
18706
18707
18708 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
18709
18710
18711 </div>
18712 </div>
18713 <div class="padding"></div>
18714
18715 <div class="entry">
18716 <div class="title">
18717 <a href="http://people.skolelinux.org/pere/blog/jXplorer__a_very_nice_LDAP_GUI.html">jXplorer, a very nice LDAP GUI</a>
18718 </div>
18719 <div class="date">
18720 9th July 2010
18721 </div>
18722 <div class="body">
18723 <p>Since
18724 <a href="http://people.skolelinux.org/pere/blog/LUMA__a_very_nice_LDAP_GUI.html">my
18725 last post</a> about available LDAP tools in Debian, I was told about a
18726 LDAP GUI that is even better than luma. The java application
18727 <a href="http://jxplorer.org/">jXplorer</a> is claimed to be capable of
18728 moving LDAP objects and subtrees using drag-and-drop, and can
18729 authenticate using Kerberos. I have only tested the Kerberos
18730 authentication, but do not have a LDAP setup allowing me to rewrite
18731 LDAP with my test user yet. It is
18732 <a href="http://packages.qa.debian.org/j/jxplorer.html">available in
18733 Debian</a> testing and unstable at the moment. The only problem I
18734 have with it is how it handle errors. If something go wrong, its
18735 non-intuitive behaviour require me to go through some query work list
18736 and remove the failing query. Nothing big, but very annoying.</p>
18737
18738 </div>
18739 <div class="tags">
18740
18741
18742 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
18743
18744
18745 </div>
18746 </div>
18747 <div class="padding"></div>
18748
18749 <div class="entry">
18750 <div class="title">
18751 <a href="http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_desktop.html">Lenny->Squeeze upgrades, apt vs aptitude with the Gnome desktop</a>
18752 </div>
18753 <div class="date">
18754 3rd July 2010
18755 </div>
18756 <div class="body">
18757 <p>Here is a short update on my <a
18758 href="http://people.skolelinux.org/~pere/debian-upgrade-testing/">my
18759 Debian Lenny->Squeeze upgrade testing</a>. Here is a summary of the
18760 difference for Gnome when it is upgraded by apt-get and aptitude. I'm
18761 not reporting the status for KDE, because the upgrade crashes when
18762 aptitude try because of missing conflicts
18763 (<a href="http://bugs.debian.org/584861">#584861</a> and
18764 <a href="http://bugs.debian.org/585716">#585716</a>).</p>
18765
18766 <p>At the end of the upgrade test script, dpkg -l is executed to get a
18767 complete list of the installed packages. Based on this I see these
18768 differences when I did a test run today. As usual, I do not really
18769 know what the correct set of packages would be, but thought it best to
18770 publish the difference.</p>
18771
18772 <p>Installed using apt-get, missing with aptitude</p>
18773
18774 <blockquote><p>
18775 at-spi cpp-4.3 finger gnome-spell gstreamer0.10-gnomevfs
18776 libatspi1.0-0 libcupsys2 libeel2-data libgail-common libgdl-1-common
18777 libgnomeprint2.2-data libgnomeprintui2.2-common libgnomevfs2-bin
18778 libgtksourceview-common libpt-1.10.10-plugins-alsa
18779 libpt-1.10.10-plugins-v4l libservlet2.4-java libxalan2-java
18780 libxerces2-java openoffice.org-writer2latex openssl-blacklist p7zip
18781 python-4suite-xml python-eggtrayicon python-gtkhtml2
18782 python-gtkmozembed svgalibg1 xserver-xephyr zip
18783 </p></blockquote>
18784
18785 <p>Installed using apt-get, removed with aptitude</p>
18786
18787 <blockquote><p>
18788 bluez-utils dhcdbd djvulibre-desktop epiphany-gecko
18789 gnome-app-install gnome-mount gnome-vfs-obexftp gnome-volume-manager
18790 libao2 libavahi-compat-libdnssd1 libavahi-core5 libbind9-50
18791 libbluetooth2 libcamel1.2-11 libcdio7 libcucul0 libcurl3
18792 libdirectfb-1.0-0 libdvdread3 libedata-cal1.2-6 libedataserver1.2-9
18793 libeel2-2.20 libepc-1.0-1 libepc-ui-1.0-1 libexchange-storage1.2-3
18794 libfaad0 libgd2-noxpm libgda3-3 libgda3-common libggz2 libggzcore9
18795 libggzmod4 libgksu1.2-0 libgksuui1.0-1 libgmyth0 libgnome-desktop-2
18796 libgnome-pilot2 libgnomecups1.0-1 libgnomeprint2.2-0
18797 libgnomeprintui2.2-0 libgpod3 libgraphviz4 libgtkhtml2-0
18798 libgtksourceview1.0-0 libgucharmap6 libhesiod0 libicu38 libisccc50
18799 libisccfg50 libiw29 libkpathsea4 libltdl3 liblwres50 libmagick++10
18800 libmagick10 libmalaga7 libmtp7 libmysqlclient15off libnautilus-burn4
18801 libneon27 libnm-glib0 libnm-util0 libopal-2.2 libosp5
18802 libparted1.8-10 libpisock9 libpisync1 libpoppler-glib3 libpoppler3
18803 libpt-1.10.10 libraw1394-8 libsensors3 libsmbios2 libsoup2.2-8
18804 libssh2-1 libsuitesparse-3.1.0 libswfdec-0.6-90 libtalloc1
18805 libtotem-plparser10 libtrackerclient0 libvoikko1 libxalan2-java-gcj
18806 libxerces2-java-gcj libxklavier12 libxtrap6 libxxf86misc1 libzephyr3
18807 mysql-common swfdec-gnome totem-gstreamer wodim
18808 </p></blockquote>
18809
18810 <p>Installed using aptitude, missing with apt-get</p>
18811
18812 <blockquote><p>
18813 gnome gnome-desktop-environment hamster-applet python-gnomeapplet
18814 python-gnomekeyring python-wnck rhythmbox-plugins xorg
18815 xserver-xorg-input-all xserver-xorg-input-evdev
18816 xserver-xorg-input-kbd xserver-xorg-input-mouse
18817 xserver-xorg-input-synaptics xserver-xorg-video-all
18818 xserver-xorg-video-apm xserver-xorg-video-ark xserver-xorg-video-ati
18819 xserver-xorg-video-chips xserver-xorg-video-cirrus
18820 xserver-xorg-video-dummy xserver-xorg-video-fbdev
18821 xserver-xorg-video-glint xserver-xorg-video-i128
18822 xserver-xorg-video-i740 xserver-xorg-video-mach64
18823 xserver-xorg-video-mga xserver-xorg-video-neomagic
18824 xserver-xorg-video-nouveau xserver-xorg-video-nv
18825 xserver-xorg-video-r128 xserver-xorg-video-radeon
18826 xserver-xorg-video-radeonhd xserver-xorg-video-rendition
18827 xserver-xorg-video-s3 xserver-xorg-video-s3virge
18828 xserver-xorg-video-savage xserver-xorg-video-siliconmotion
18829 xserver-xorg-video-sis xserver-xorg-video-sisusb
18830 xserver-xorg-video-tdfx xserver-xorg-video-tga
18831 xserver-xorg-video-trident xserver-xorg-video-tseng
18832 xserver-xorg-video-vesa xserver-xorg-video-vmware
18833 xserver-xorg-video-voodoo
18834 </p></blockquote>
18835
18836 <p>Installed using aptitude, removed with apt-get</p>
18837
18838 <blockquote><p>
18839 deskbar-applet xserver-xorg xserver-xorg-core
18840 xserver-xorg-input-wacom xserver-xorg-video-intel
18841 xserver-xorg-video-openchrome
18842 </p></blockquote>
18843
18844 <p>I was told on IRC that the xorg-xserver package was
18845 <a href="http://git.debian.org/?p=pkg-xorg/xserver/xorg-server.git;a=commit;h=9c8080d06c457932d3bfec021c69ac000aa60120">changed
18846 in git</a> today to try to get apt-get to not remove xorg completely.
18847 No idea when it hits Squeeze, but when it does I hope it will reduce
18848 the difference somewhat.
18849
18850 </div>
18851 <div class="tags">
18852
18853
18854 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
18855
18856
18857 </div>
18858 </div>
18859 <div class="padding"></div>
18860
18861 <div class="entry">
18862 <div class="title">
18863 <a href="http://people.skolelinux.org/pere/blog/Caching_password__user_and_group_on_a_roaming_Debian_laptop.html">Caching password, user and group on a roaming Debian laptop</a>
18864 </div>
18865 <div class="date">
18866 1st July 2010
18867 </div>
18868 <div class="body">
18869 <p>For a laptop, centralized user directories and password checking is
18870 a bit troubling. Laptops are typically used also when not connected
18871 to the network, and it is vital for a user to be able to log in or
18872 unlock the screen saver also when a central server is unavailable.
18873 This is possible by caching passwords and directory information (user
18874 and group attributes) locally, and the packages to do so are available
18875 in Debian. Here follow two recipes to set this up in Debian/Squeeze.
18876 It is also possible to set up in Debian/Lenny, but require more manual
18877 setup there because pam-auth-update is missing in Lenny.</p>
18878
18879 <h2>LDAP/Kerberos + nscd + libpam-ccreds + libpam-mklocaluser/pam_mkhomedir</h2>
18880
18881 This is the traditional method with a twist. The password caching is
18882 provided by libpam-ccreds (version 10-4 or later is needed on
18883 Squeeze), and the directory caching is done by nscd. The directory
18884 lookup and password checking is done using LDAP. If one want to use
18885 Kerberos for password checking the libpam-ldapd package can be
18886 replaced with libpam-krb5 or libpam-heimdal. If one is happy having a
18887 local home directory with the path listed in LDAP, one can use the
18888 pam_mkhomedir module from pam-modules to make this happen instead of
18889 using libpam-mklocaluser. A setup for pam-auth-update to enable
18890 pam_mkhomedir will have to be written until a fix for
18891 <a href="http://bugs.debian.org/568577">bug #568577</a> is in the
18892 archive. Because I believe it is a bad idea to have local home
18893 directories using misleading paths like /site/server/partition/, I
18894 prefer to create a local user with the home directory in /home/. This
18895 is done using the libpam-mklocaluser package.</p>
18896
18897 <p>These packages need to be installed and configured</p>
18898
18899 <blockquote><pre>
18900 libnss-ldapd libpam-ldapd nscd libpam-ccreds libpam-mklocaluser
18901 </pre></blockquote>
18902
18903 <p>The ldapd packages will ask for LDAP connection information, and
18904 one have to fill in the values that fits ones own site. Make sure the
18905 PAM part uses encrypted connections, to make sure the password is not
18906 sent in clear text to the LDAP server. I've been unable to get TLS
18907 certificate checking for a self signed certificate working, which make
18908 LDAP authentication unsafe for Debian Edu (nslcd is not checking if it
18909 is talking to the correct LDAP server), and very much welcome feedback
18910 on how to get this working.</p>
18911
18912 <p>Because nscd do not have a default configuration fit for offline
18913 caching until <a href="http://bugs.debian.org/485282">bug #485282</a>
18914 is fixed, this configuration should be used instead of the one
18915 currently in /etc/nscd.conf. The changes are in the fields
18916 reload-count and positive-time-to-live, and is based on the
18917 instructions I found in the
18918 <a href="http://www.flyn.org/laptopldap/">LDAP for Mobile Laptops</a>
18919 instructions by Flyn Computing.</p>
18920
18921 <blockquote><pre>
18922 debug-level 0
18923 reload-count unlimited
18924 paranoia no
18925
18926 enable-cache passwd yes
18927 positive-time-to-live passwd 2592000
18928 negative-time-to-live passwd 20
18929 suggested-size passwd 211
18930 check-files passwd yes
18931 persistent passwd yes
18932 shared passwd yes
18933 max-db-size passwd 33554432
18934 auto-propagate passwd yes
18935
18936 enable-cache group yes
18937 positive-time-to-live group 2592000
18938 negative-time-to-live group 20
18939 suggested-size group 211
18940 check-files group yes
18941 persistent group yes
18942 shared group yes
18943 max-db-size group 33554432
18944 auto-propagate group yes
18945
18946 enable-cache hosts no
18947 positive-time-to-live hosts 2592000
18948 negative-time-to-live hosts 20
18949 suggested-size hosts 211
18950 check-files hosts yes
18951 persistent hosts yes
18952 shared hosts yes
18953 max-db-size hosts 33554432
18954
18955 enable-cache services yes
18956 positive-time-to-live services 2592000
18957 negative-time-to-live services 20
18958 suggested-size services 211
18959 check-files services yes
18960 persistent services yes
18961 shared services yes
18962 max-db-size services 33554432
18963 </pre></blockquote>
18964
18965 <p>While we wait for a mechanism to update /etc/nsswitch.conf
18966 automatically like the one provided in
18967 <a href="http://bugs.debian.org/496915">bug #496915</a>, the file
18968 content need to be manually replaced to ensure LDAP is used as the
18969 directory service on the machine. /etc/nsswitch.conf should normally
18970 look like this:</p>
18971
18972 <blockquote><pre>
18973 passwd: files ldap
18974 group: files ldap
18975 shadow: files ldap
18976 hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
18977 networks: files
18978 protocols: files
18979 services: files
18980 ethers: files
18981 rpc: files
18982 netgroup: files ldap
18983 </pre></blockquote>
18984
18985 <p>The important parts are that ldap is listed last for passwd, group,
18986 shadow and netgroup.</p>
18987
18988 <p>With these changes in place, any user in LDAP will be able to log
18989 in locally on the machine using for example kdm, get a local home
18990 directory created and have the password as well as user and group
18991 attributes cached.
18992
18993 <h2>LDAP/Kerberos + nss-updatedb + libpam-ccreds +
18994 libpam-mklocaluser/pam_mkhomedir</h2>
18995
18996 <p>Because nscd have had its share of problems, and seem to have
18997 problems doing proper caching, I've seen suggestions and recipes to
18998 use nss-updatedb to copy parts of the LDAP database locally when the
18999 LDAP database is available. I have not tested such setup, because I
19000 discovered sssd.</p>
19001
19002 <h2>LDAP/Kerberos + sssd + libpam-mklocaluser</h2>
19003
19004 <p>A more flexible and robust setup than the nscd combination
19005 mentioned earlier that has shown up recently, is the
19006 <a href="https://fedorahosted.org/sssd/">sssd</a> package from Redhat.
19007 It is part of the <a href="http://www.freeipa.org/">FreeIPA</A> project
19008 to provide a Active Directory like directory service for Linux
19009 machines. The sssd system combines the caching of passwords and user
19010 information into one package, and remove the need for nscd and
19011 libpam-ccreds. It support LDAP and Kerberos, but not NIS. Version
19012 1.2 do not support netgroups, but it is said that it will support this
19013 in version 1.5 expected to show up later in 2010. Because the
19014 <a href="http://packages.qa.debian.org/s/sssd.html">sssd package</a>
19015 was missing in Debian, I ended up co-maintaining it with Werner, and
19016 version 1.2 is now in testing.
19017
19018 <p>These packages need to be installed and configured to get the
19019 roaming setup I want</p>
19020
19021 <blockquote><pre>
19022 libpam-sss libnss-sss libpam-mklocaluser
19023 </pre></blockquote>
19024
19025 The complete setup of sssd is done by editing/creating
19026 <tt>/etc/sssd/sssd.conf</tt>.
19027
19028 <blockquote><pre>
19029 [sssd]
19030 config_file_version = 2
19031 reconnection_retries = 3
19032 sbus_timeout = 30
19033 services = nss, pam
19034 domains = INTERN
19035
19036 [nss]
19037 filter_groups = root
19038 filter_users = root
19039 reconnection_retries = 3
19040
19041 [pam]
19042 reconnection_retries = 3
19043
19044 [domain/INTERN]
19045 enumerate = false
19046 cache_credentials = true
19047
19048 id_provider = ldap
19049 auth_provider = ldap
19050 chpass_provider = ldap
19051
19052 ldap_uri = ldap://ldap
19053 ldap_search_base = dc=skole,dc=skolelinux,dc=no
19054 ldap_tls_reqcert = never
19055 ldap_tls_cacert = /etc/ssl/certs/ca-certificates.crt
19056 </pre></blockquote>
19057
19058 <p>I got the same problem here with certificate checking. Had to set
19059 "ldap_tls_reqcert = never" to get it working.</p>
19060
19061 <p>With the libnss-sss package in testing at the moment, the
19062 nsswitch.conf file is update automatically, so there is no need to
19063 modify it manually.</p>
19064
19065 <p>If you want to help out with implementing this for Debian Edu,
19066 please contact us on debian-edu@lists.debian.org.</p>
19067
19068 </div>
19069 <div class="tags">
19070
19071
19072 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
19073
19074
19075 </div>
19076 </div>
19077 <div class="padding"></div>
19078
19079 <div class="entry">
19080 <div class="title">
19081 <a href="http://people.skolelinux.org/pere/blog/LUMA__a_very_nice_LDAP_GUI.html">LUMA, a very nice LDAP GUI</a>
19082 </div>
19083 <div class="date">
19084 28th June 2010
19085 </div>
19086 <div class="body">
19087 <p>The last few days I have been looking into the status of the LDAP
19088 directory in Debian Edu, and in the process I started to miss a GUI
19089 tool to browse the LDAP tree. The only one I was able to find in
19090 Debian/Squeeze and Lenny is
19091 <a href="http://luma.sourceforge.net/">LUMA</a>, which has proved to
19092 be a great tool to get a overview of the current LDAP directory
19093 populated by default in Skolelinux. Thanks to it, I have been able to
19094 find empty and obsolete subtrees, misplaced objects and duplicate
19095 objects. It will be installed by default in Debian/Squeeze. If you
19096 are working with LDAP, give it a go. :)</p>
19097
19098 <p>I did notice one problem with it I have not had time to report to
19099 the BTS yet. There is no .desktop file in the package, so the tool do
19100 not show up in the Gnome and KDE menus, but only deep down in in the
19101 Debian submenu in KDE. I hope that can be fixed before Squeeze is
19102 released.</p>
19103
19104 <p>I have not yet been able to get it to modify the tree yet. I would
19105 like to move objects and remove subtrees directly in the GUI, but have
19106 not found a way to do that with LUMA yet. So in the mean time, I use
19107 <a href="http://www.lichteblau.com/ldapvi/">ldapvi</a> for that.</p>
19108
19109 <p>If you have tips on other GUI tools for LDAP that might be useful
19110 in Debian Edu, please contact us on debian-edu@lists.debian.org.</p>
19111
19112 <p>Update 2010-06-29: Ross Reedstrom tipped us about the
19113 <a href="http://packages.qa.debian.org/g/gq.html">gq</a> package as a
19114 useful GUI alternative. It seem like a good tool, but is unmaintained
19115 in Debian and got a RC bug keeping it out of Squeeze. Unless that
19116 changes, it will not be an option for Debian Edu based on Squeeze.</p>
19117
19118 </div>
19119 <div class="tags">
19120
19121
19122 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
19123
19124
19125 </div>
19126 </div>
19127 <div class="padding"></div>
19128
19129 <div class="entry">
19130 <div class="title">
19131 <a href="http://people.skolelinux.org/pere/blog/Idea_for_a_change_to_LDAP_schemas_allowing_DNS_and_DHCP_info_to_be_combined_into_one_object.html">Idea for a change to LDAP schemas allowing DNS and DHCP info to be combined into one object</a>
19132 </div>
19133 <div class="date">
19134 24th June 2010
19135 </div>
19136 <div class="body">
19137 <p>A while back, I
19138 <a href="http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html">complained
19139 about the fact</a> that it is not possible with the provided schemas
19140 for storing DNS and DHCP information in LDAP to combine the two sets
19141 of information into one LDAP object representing a computer.</p>
19142
19143 <p>In the mean time, I discovered that a simple fix would be to make
19144 the dhcpHost object class auxiliary, to allow it to be combined with
19145 the dNSDomain object class, and thus forming one object for one
19146 computer when storing both DHCP and DNS information in LDAP.</p>
19147
19148 <p>If I understand this correctly, it is not safe to do this change
19149 without also changing the assigned number for the object class, and I
19150 do not know enough about LDAP schema design to do that properly for
19151 Debian Edu.</p>
19152
19153 <p>Anyway, for future reference, this is how I believe we could change
19154 the
19155 <a href="http://tools.ietf.org/html/draft-ietf-dhc-ldap-schema-00">DHCP
19156 schema</a> to solve at least part of the problem with the LDAP schemas
19157 available today from IETF.</p>
19158
19159 <pre>
19160 --- dhcp.schema (revision 65192)
19161 +++ dhcp.schema (working copy)
19162 @@ -376,7 +376,7 @@
19163 objectclass ( 2.16.840.1.113719.1.203.6.6
19164 NAME 'dhcpHost'
19165 DESC 'This represents information about a particular client'
19166 - SUP top
19167 + SUP top AUXILIARY
19168 MUST cn
19169 MAY (dhcpLeaseDN $ dhcpHWAddress $ dhcpOptionsDN $ dhcpStatements $ dhcpComments $ dhcpOption)
19170 X-NDS_CONTAINMENT ('dhcpService' 'dhcpSubnet' 'dhcpGroup') )
19171 </pre>
19172
19173 <p>I very much welcome clues on how to do this properly for Debian
19174 Edu/Squeeze. We provide the DHCP schema in our debian-edu-config
19175 package, and should thus be free to rewrite it as we see fit.</p>
19176
19177 <p>If you want to help out with implementing this for Debian Edu,
19178 please contact us on debian-edu@lists.debian.org.</p>
19179
19180 </div>
19181 <div class="tags">
19182
19183
19184 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
19185
19186
19187 </div>
19188 </div>
19189 <div class="padding"></div>
19190
19191 <div class="entry">
19192 <div class="title">
19193 <a href="http://people.skolelinux.org/pere/blog/Calling_tasksel_like_the_installer__while_still_getting_useful_output.html">Calling tasksel like the installer, while still getting useful output</a>
19194 </div>
19195 <div class="date">
19196 16th June 2010
19197 </div>
19198 <div class="body">
19199 <p>A few times I have had the need to simulate the way tasksel
19200 installs packages during the normal debian-installer run. Until now,
19201 I have ended up letting tasksel do the work, with the annoying problem
19202 of not getting any feedback at all when something fails (like a
19203 conffile question from dpkg or a download that fails), using code like
19204 this:
19205
19206 <blockquote><pre>
19207 export DEBIAN_FRONTEND=noninteractive
19208 tasksel --new-install
19209 </pre></blockquote>
19210
19211 This would invoke tasksel, let its automatic task selection pick the
19212 tasks to install, and continue to install the requested tasks without
19213 any output what so ever.
19214
19215 Recently I revisited this problem while working on the automatic
19216 package upgrade testing, because tasksel would some times hang without
19217 any useful feedback, and I want to see what is going on when it
19218 happen. Then it occured to me, I can parse the output from tasksel
19219 when asked to run in test mode, and use that aptitude command line
19220 printed by tasksel then to simulate the tasksel run. I ended up using
19221 code like this:
19222
19223 <blockquote><pre>
19224 export DEBIAN_FRONTEND=noninteractive
19225 cmd="$(in_target tasksel -t --new-install | sed 's/debconf-apt-progress -- //')"
19226 $cmd
19227 </pre></blockquote>
19228
19229 <p>The content of $cmd is typically something like "<tt>aptitude -q
19230 --without-recommends -o APT::Install-Recommends=no -y install
19231 ~t^desktop$ ~t^gnome-desktop$ ~t^laptop$ ~pstandard ~prequired
19232 ~pimportant</tt>", which will install the gnome desktop task, the
19233 laptop task and all packages with priority standard , required and
19234 important, just like tasksel would have done it during
19235 installation.</p>
19236
19237 <p>A better approach is probably to extend tasksel to be able to
19238 install packages without using debconf-apt-progress, for use cases
19239 like this.</p>
19240
19241 </div>
19242 <div class="tags">
19243
19244
19245 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/nuug">nuug</a>.
19246
19247
19248 </div>
19249 </div>
19250 <div class="padding"></div>
19251
19252 <div class="entry">
19253 <div class="title">
19254 <a href="http://people.skolelinux.org/pere/blog/Officeshots_taking_shape.html">Officeshots taking shape</a>
19255 </div>
19256 <div class="date">
19257 13th June 2010
19258 </div>
19259 <div class="body">
19260 <p>For those of us caring about document exchange and
19261 interoperability, <a href="http://www.officeshots.org/">OfficeShots</a>
19262 is a great service. It is to ODF documents what
19263 <a href="http://browsershots.org/">BrowserShots</a> is for web
19264 pages.</p>
19265
19266 <p>A while back, I was contacted by Knut Yrvin at the part of Nokia
19267 that used to be Trolltech, who wanted to help the OfficeShots project
19268 and wondered if the University of Oslo where I work would be
19269 interested in supporting the project. I helped him to navigate his
19270 request to the right people at work, and his request was answered with
19271 a spot in the machine room with power and network connected, and Knut
19272 arranged funding for a machine to fill the spot. The machine is
19273 administrated by the OfficeShots people, so I do not have daily
19274 contact with its progress, and thus from time to time check back to
19275 see how the project is doing.</p>
19276
19277 <p>Today I had a look, and was happy to see that the Dell box in our
19278 machine room now is the host for several virtual machines running as
19279 OfficeShots factories, and the project is able to render ODF documents
19280 in 17 different document processing implementation on Linux and
19281 Windows. This is great.</p>
19282
19283 </div>
19284 <div class="tags">
19285
19286
19287 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
19288
19289
19290 </div>
19291 </div>
19292 <div class="padding"></div>
19293
19294 <div class="entry">
19295 <div class="title">
19296 <a href="http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__removals_by_apt_and_aptitude.html">Lenny->Squeeze upgrades, removals by apt and aptitude</a>
19297 </div>
19298 <div class="date">
19299 13th June 2010
19300 </div>
19301 <div class="body">
19302 <p>My
19303 <a href="http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html">testing
19304 of Debian upgrades</a> from Lenny to Squeeze continues, and I've
19305 finally made the upgrade logs available from
19306 <a href="http://people.skolelinux.org/pere/debian-upgrade-testing/">http://people.skolelinux.org/pere/debian-upgrade-testing/</a>.
19307 I am now testing dist-upgrade of Gnome and KDE in a chroot using both
19308 apt and aptitude, and found their differences interesting. This time
19309 I will only focus on their removal plans.</p>
19310
19311 <p>After installing a Gnome desktop and the laptop task, apt-get wants
19312 to remove 72 packages when dist-upgrading from Lenny to Squeeze. The
19313 surprising part is that it want to remove xorg and all
19314 xserver-xorg-video* drivers. Clearly not a good choice, but I am not
19315 sure why. When asking aptitude to do the same, it want to remove 129
19316 packages, but most of them are library packages I suspect are no
19317 longer needed. Both of them want to remove bluetooth packages, which
19318 I do not know. Perhaps these bluetooth packages are obsolete?</p>
19319
19320 <p>For KDE, apt-get want to remove 82 packages, among them kdebase
19321 which seem like a bad idea and xorg the same way as with Gnome. Asking
19322 aptitude for the same, it wants to remove 192 packages, none which are
19323 too surprising.</p>
19324
19325 <p>I guess the removal of xorg during upgrades should be investigated
19326 and avoided, and perhaps others as well. Here are the complete list
19327 of planned removals. The complete logs is available from the URL
19328 above. Note if you want to repeat these tests, that the upgrade test
19329 for kde+apt-get hung in the tasksel setup because of dpkg asking
19330 conffile questions. No idea why. I worked around it by using
19331 '<tt>echo >> /proc/<em>pidofdpkg</em>/fd/0</tt>' to tell dpkg to
19332 continue.</p>
19333
19334 <p><b>apt-get gnome 72</b>
19335 <br>bluez-gnome cupsddk-drivers deskbar-applet gnome
19336 gnome-desktop-environment gnome-network-admin gtkhtml3.14
19337 iceweasel-gnome-support libavcodec51 libdatrie0 libgdl-1-0
19338 libgnomekbd2 libgnomekbdui2 libmetacity0 libslab0 libxcb-xlib0
19339 nautilus-cd-burner python-gnome2-desktop python-gnome2-extras
19340 serpentine swfdec-mozilla update-manager xorg xserver-xorg
19341 xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-evdev
19342 xserver-xorg-input-kbd xserver-xorg-input-mouse
19343 xserver-xorg-input-synaptics xserver-xorg-input-wacom
19344 xserver-xorg-video-all xserver-xorg-video-apm xserver-xorg-video-ark
19345 xserver-xorg-video-ati xserver-xorg-video-chips
19346 xserver-xorg-video-cirrus xserver-xorg-video-cyrix
19347 xserver-xorg-video-dummy xserver-xorg-video-fbdev
19348 xserver-xorg-video-glint xserver-xorg-video-i128
19349 xserver-xorg-video-i740 xserver-xorg-video-imstt
19350 xserver-xorg-video-intel xserver-xorg-video-mach64
19351 xserver-xorg-video-mga xserver-xorg-video-neomagic
19352 xserver-xorg-video-nsc xserver-xorg-video-nv
19353 xserver-xorg-video-openchrome xserver-xorg-video-r128
19354 xserver-xorg-video-radeon xserver-xorg-video-radeonhd
19355 xserver-xorg-video-rendition xserver-xorg-video-s3
19356 xserver-xorg-video-s3virge xserver-xorg-video-savage
19357 xserver-xorg-video-siliconmotion xserver-xorg-video-sis
19358 xserver-xorg-video-sisusb xserver-xorg-video-tdfx
19359 xserver-xorg-video-tga xserver-xorg-video-trident
19360 xserver-xorg-video-tseng xserver-xorg-video-v4l
19361 xserver-xorg-video-vesa xserver-xorg-video-vga
19362 xserver-xorg-video-vmware xserver-xorg-video-voodoo xulrunner-1.9
19363 xulrunner-1.9-gnome-support</p>
19364
19365 <p><b>aptitude gnome 129</b>
19366
19367 <br>bluez-gnome bluez-utils cpp-4.3 cupsddk-drivers dhcdbd
19368 djvulibre-desktop finger gnome-app-install gnome-mount
19369 gnome-network-admin gnome-spell gnome-vfs-obexftp
19370 gnome-volume-manager gstreamer0.10-gnomevfs gtkhtml3.14 libao2
19371 libavahi-compat-libdnssd1 libavahi-core5 libavcodec51 libbluetooth2
19372 libcamel1.2-11 libcdio7 libcucul0 libcupsys2 libcurl3 libdatrie0
19373 libdirectfb-1.0-0 libdvdread3 libedataserver1.2-9 libeel2-2.20
19374 libeel2-data libepc-1.0-1 libepc-ui-1.0-1 libfaad0 libgail-common
19375 libgd2-noxpm libgda3-3 libgda3-common libgdl-1-0 libgdl-1-common
19376 libggz2 libggzcore9 libggzmod4 libgksu1.2-0 libgksuui1.0-1 libgmyth0
19377 libgnomecups1.0-1 libgnomekbd2 libgnomekbdui2 libgnomeprint2.2-0
19378 libgnomeprint2.2-data libgnomeprintui2.2-0 libgnomeprintui2.2-common
19379 libgnomevfs2-bin libgpod3 libgraphviz4 libgtkhtml2-0
19380 libgtksourceview-common libgtksourceview1.0-0 libgucharmap6
19381 libhesiod0 libicu38 libiw29 libkpathsea4 libltdl3 libmagick++10
19382 libmagick10 libmalaga7 libmetacity0 libmtp7 libmysqlclient15off
19383 libnautilus-burn4 libneon27 libnm-glib0 libnm-util0 libopal-2.2
19384 libosp5 libparted1.8-10 libpoppler-glib3 libpoppler3 libpt-1.10.10
19385 libpt-1.10.10-plugins-alsa libpt-1.10.10-plugins-v4l libraw1394-8
19386 libsensors3 libslab0 libsmbios2 libsoup2.2-8 libssh2-1
19387 libsuitesparse-3.1.0 libswfdec-0.6-90 libtalloc1 libtotem-plparser10
19388 libtrackerclient0 libxalan2-java libxalan2-java-gcj libxcb-xlib0
19389 libxerces2-java libxerces2-java-gcj libxklavier12 libxtrap6
19390 libxxf86misc1 libzephyr3 mysql-common nautilus-cd-burner
19391 openoffice.org-writer2latex openssl-blacklist p7zip
19392 python-4suite-xml python-eggtrayicon python-gnome2-desktop
19393 python-gnome2-extras python-gtkhtml2 python-gtkmozembed
19394 python-numeric python-sexy serpentine svgalibg1 swfdec-gnome
19395 swfdec-mozilla totem-gstreamer update-manager wodim
19396 xserver-xorg-video-cyrix xserver-xorg-video-imstt
19397 xserver-xorg-video-nsc xserver-xorg-video-v4l xserver-xorg-video-vga
19398 zip</p>
19399
19400 <p><b>apt-get kde 82</b>
19401
19402 <br>cupsddk-drivers karm kaudiocreator kcoloredit kcontrol kde kde-core
19403 kdeaddons kdeartwork kdebase kdebase-bin kdebase-bin-kde3
19404 kdebase-kio-plugins kdesktop kdeutils khelpcenter kicker
19405 kicker-applets knewsticker kolourpaint konq-plugins konqueror korn
19406 kpersonalizer kscreensaver ksplash libavcodec51 libdatrie0 libkiten1
19407 libxcb-xlib0 quanta superkaramba texlive-base-bin xorg xserver-xorg
19408 xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-evdev
19409 xserver-xorg-input-kbd xserver-xorg-input-mouse
19410 xserver-xorg-input-synaptics xserver-xorg-input-wacom
19411 xserver-xorg-video-all xserver-xorg-video-apm xserver-xorg-video-ark
19412 xserver-xorg-video-ati xserver-xorg-video-chips
19413 xserver-xorg-video-cirrus xserver-xorg-video-cyrix
19414 xserver-xorg-video-dummy xserver-xorg-video-fbdev
19415 xserver-xorg-video-glint xserver-xorg-video-i128
19416 xserver-xorg-video-i740 xserver-xorg-video-imstt
19417 xserver-xorg-video-intel xserver-xorg-video-mach64
19418 xserver-xorg-video-mga xserver-xorg-video-neomagic
19419 xserver-xorg-video-nsc xserver-xorg-video-nv
19420 xserver-xorg-video-openchrome xserver-xorg-video-r128
19421 xserver-xorg-video-radeon xserver-xorg-video-radeonhd
19422 xserver-xorg-video-rendition xserver-xorg-video-s3
19423 xserver-xorg-video-s3virge xserver-xorg-video-savage
19424 xserver-xorg-video-siliconmotion xserver-xorg-video-sis
19425 xserver-xorg-video-sisusb xserver-xorg-video-tdfx
19426 xserver-xorg-video-tga xserver-xorg-video-trident
19427 xserver-xorg-video-tseng xserver-xorg-video-v4l
19428 xserver-xorg-video-vesa xserver-xorg-video-vga
19429 xserver-xorg-video-vmware xserver-xorg-video-voodoo xulrunner-1.9</p>
19430
19431 <p><b>aptitude kde 192</b>
19432 <br>bluez-utils cpp-4.3 cupsddk-drivers cvs dcoprss dhcdbd
19433 djvulibre-desktop dosfstools eyesapplet fifteenapplet finger gettext
19434 ghostscript-x imlib-base imlib11 indi kandy karm kasteroids
19435 kaudiocreator kbackgammon kbstate kcoloredit kcontrol kcron kdat
19436 kdeadmin-kfile-plugins kdeartwork-misc kdeartwork-theme-window
19437 kdebase-bin-kde3 kdebase-kio-plugins kdeedu-data
19438 kdegraphics-kfile-plugins kdelirc kdemultimedia-kappfinder-data
19439 kdemultimedia-kfile-plugins kdenetwork-kfile-plugins
19440 kdepim-kfile-plugins kdepim-kio-plugins kdeprint kdesktop kdessh
19441 kdict kdnssd kdvi kedit keduca kenolaba kfax kfaxview kfouleggs
19442 kghostview khelpcenter khexedit kiconedit kitchensync klatin
19443 klickety kmailcvt kmenuedit kmid kmilo kmoon kmrml kodo kolourpaint
19444 kooka korn kpager kpdf kpercentage kpf kpilot kpoker kpovmodeler
19445 krec kregexpeditor ksayit ksim ksirc ksirtet ksmiletris ksmserver
19446 ksnake ksokoban ksplash ksvg ksysv ktip ktnef kuickshow kverbos
19447 kview kviewshell kvoctrain kwifimanager kwin kwin4 kworldclock
19448 kxsldbg libakode2 libao2 libarts1-akode libarts1-audiofile
19449 libarts1-mpeglib libarts1-xine libavahi-compat-libdnssd1
19450 libavahi-core5 libavc1394-0 libavcodec51 libbluetooth2
19451 libboost-python1.34.1 libcucul0 libcurl3 libcvsservice0 libdatrie0
19452 libdirectfb-1.0-0 libdjvulibre21 libdvdread3 libfaad0 libfreebob0
19453 libgail-common libgd2-noxpm libgraphviz4 libgsmme1c2a libgtkhtml2-0
19454 libicu38 libiec61883-0 libindex0 libiw29 libk3b3 libkcal2b libkcddb1
19455 libkdeedu3 libkdepim1a libkgantt0 libkiten1 libkleopatra1 libkmime2
19456 libkpathsea4 libkpimexchange1 libkpimidentities1 libkscan1
19457 libksieve0 libktnef1 liblockdev1 libltdl3 libmagick10 libmimelib1c2a
19458 libmozjs1d libmpcdec3 libneon27 libnm-util0 libopensync0 libpisock9
19459 libpoppler-glib3 libpoppler-qt2 libpoppler3 libraw1394-8 libsmbios2
19460 libssh2-1 libsuitesparse-3.1.0 libtalloc1 libtiff-tools
19461 libxalan2-java libxalan2-java-gcj libxcb-xlib0 libxerces2-java
19462 libxerces2-java-gcj libxtrap6 mpeglib networkstatus
19463 openoffice.org-writer2latex pmount poster psutils quanta quanta-data
19464 superkaramba svgalibg1 tex-common texlive-base texlive-base-bin
19465 texlive-common texlive-doc-base texlive-fonts-recommended
19466 xserver-xorg-video-cyrix xserver-xorg-video-imstt
19467 xserver-xorg-video-nsc xserver-xorg-video-v4l xserver-xorg-video-vga
19468 xulrunner-1.9</p>
19469
19470
19471 </div>
19472 <div class="tags">
19473
19474
19475 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
19476
19477
19478 </div>
19479 </div>
19480 <div class="padding"></div>
19481
19482 <div class="entry">
19483 <div class="title">
19484 <a href="http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html">Automatic upgrade testing from Lenny to Squeeze</a>
19485 </div>
19486 <div class="date">
19487 11th June 2010
19488 </div>
19489 <div class="body">
19490 <p>The last few days I have done some upgrade testing in Debian, to
19491 see if the upgrade from Lenny to Squeeze will go smoothly. A few bugs
19492 have been discovered and reported in the process
19493 (<a href="http://bugs.debian.org/585410">#585410</a> in nagios3-cgi,
19494 <a href="http://bugs.debian.org/584879">#584879</a> already fixed in
19495 enscript and <a href="http://bugs.debian.org/584861">#584861</a> in
19496 kdebase-workspace-data), and to get a more regular testing going on, I
19497 am working on a script to automate the test.</p>
19498
19499 <p>The idea is to create a Lenny chroot and use tasksel to install a
19500 Gnome or KDE desktop installation inside the chroot before upgrading
19501 it. To ensure no services are started in the chroot, a policy-rc.d
19502 script is inserted. To make sure tasksel believe it is to install a
19503 desktop on a laptop, the tasksel tests are replaced in the chroot
19504 (only acceptable because this is a throw-away chroot).</p>
19505
19506 <p>A naive upgrade from Lenny to Squeeze using aptitude dist-upgrade
19507 currently always fail because udev refuses to upgrade with the kernel
19508 in Lenny, so to avoid that problem the file /etc/udev/kernel-upgrade
19509 is created. The bug report
19510 <a href="http://bugs.debian.org/566000">#566000</a> make me suspect
19511 this problem do not trigger in a chroot, but I touch the file anyway
19512 to make sure the upgrade go well. Testing on virtual and real
19513 hardware have failed me because of udev so far, and creating this file
19514 do the trick in such settings anyway. This is a
19515 <a href="http://www.linuxquestions.org/questions/debian-26/failed-dist-upgrade-due-to-udev-config_sysfs_deprecated-nonsense-804130/">known
19516 issue</a> and the current udev behaviour is intended by the udev
19517 maintainer because he lack the resources to rewrite udev to keep
19518 working with old kernels or something like that. I really wish the
19519 udev upstream would keep udev backwards compatible, to avoid such
19520 upgrade problem, but given that they fail to do so, I guess
19521 documenting the way out of this mess is the best option we got for
19522 Debian Squeeze.</p>
19523
19524 <p>Anyway, back to the task at hand, testing upgrades. This test
19525 script, which I call <tt>upgrade-test</tt> for now, is doing the
19526 trick:</p>
19527
19528 <blockquote><pre>
19529 #!/bin/sh
19530 set -ex
19531
19532 if [ "$1" ] ; then
19533 desktop=$1
19534 else
19535 desktop=gnome
19536 fi
19537
19538 from=lenny
19539 to=squeeze
19540
19541 exec &lt; /dev/null
19542 unset LANG
19543 mirror=http://ftp.skolelinux.org/debian
19544 tmpdir=chroot-$from-upgrade-$to-$desktop
19545 fuser -mv .
19546 debootstrap $from $tmpdir $mirror
19547 chroot $tmpdir aptitude update
19548 cat > $tmpdir/usr/sbin/policy-rc.d &lt;&lt;EOF
19549 #!/bin/sh
19550 exit 101
19551 EOF
19552 chmod a+rx $tmpdir/usr/sbin/policy-rc.d
19553 exit_cleanup() {
19554 umount $tmpdir/proc
19555 }
19556 mount -t proc proc $tmpdir/proc
19557 # Make sure proc is unmounted also on failure
19558 trap exit_cleanup EXIT INT
19559
19560 chroot $tmpdir aptitude -y install debconf-utils
19561
19562 # Make sure tasksel autoselection trigger. It need the test scripts
19563 # to return the correct answers.
19564 echo tasksel tasksel/desktop multiselect $desktop | \
19565 chroot $tmpdir debconf-set-selections
19566
19567 # Include the desktop and laptop task
19568 for test in desktop laptop ; do
19569 echo > $tmpdir/usr/lib/tasksel/tests/$test &lt;&lt;EOF
19570 #!/bin/sh
19571 exit 2
19572 EOF
19573 chmod a+rx $tmpdir/usr/lib/tasksel/tests/$test
19574 done
19575
19576 DEBIAN_FRONTEND=noninteractive
19577 DEBIAN_PRIORITY=critical
19578 export DEBIAN_FRONTEND DEBIAN_PRIORITY
19579 chroot $tmpdir tasksel --new-install
19580
19581 echo deb $mirror $to main > $tmpdir/etc/apt/sources.list
19582 chroot $tmpdir aptitude update
19583 touch $tmpdir/etc/udev/kernel-upgrade
19584 chroot $tmpdir aptitude -y dist-upgrade
19585 fuser -mv
19586 </pre></blockquote>
19587
19588 <p>I suspect it would be useful to test upgrades with both apt-get and
19589 with aptitude, but I have not had time to look at how they behave
19590 differently so far. I hope to get a cron job running to do the test
19591 regularly and post the result on the web. The Gnome upgrade currently
19592 work, while the KDE upgrade fail because of the bug in
19593 kdebase-workspace-data</p>
19594
19595 <p>I am not quite sure what kind of extract from the huge upgrade logs
19596 (KDE 167 KiB, Gnome 516 KiB) it make sense to include in this blog
19597 post, so I will refrain from trying. I can report that for Gnome,
19598 aptitude report 760 packages upgraded, 448 newly installed, 129 to
19599 remove and 1 not upgraded and 1024MB need to be downloaded while for
19600 KDE the same numbers are 702 packages upgraded, 507 newly installed,
19601 193 to remove and 0 not upgraded and 1117MB need to be downloaded</p>
19602
19603 <p>I am very happy to notice that the Gnome desktop + laptop upgrade
19604 is able to migrate to dependency based boot sequencing and parallel
19605 booting without a hitch. Was unsure if there were still bugs with
19606 packages failing to clean up their obsolete init.d script during
19607 upgrades, and no such problem seem to affect the Gnome desktop+laptop
19608 packages.</p>
19609
19610 </div>
19611 <div class="tags">
19612
19613
19614 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
19615
19616
19617 </div>
19618 </div>
19619 <div class="padding"></div>
19620
19621 <div class="entry">
19622 <div class="title">
19623 <a href="http://people.skolelinux.org/pere/blog/Upstart_or_sysvinit___as_init_d_scripts_see_it.html">Upstart or sysvinit - as init.d scripts see it</a>
19624 </div>
19625 <div class="date">
19626 6th June 2010
19627 </div>
19628 <div class="body">
19629 <p>If Debian is to migrate to upstart on Linux, I expect some init.d
19630 scripts to migrate (some of) their operations to upstart job while
19631 keeping the init.d for hurd and kfreebsd. The packages with such
19632 needs will need a way to get their init.d scripts to behave
19633 differently when used with sysvinit and with upstart. Because of
19634 this, I had a look at the environment variables set when a init.d
19635 script is running under upstart, and when it is not.</p>
19636
19637 <p>With upstart, I notice these environment variables are set when a
19638 script is started from rcS.d/ (ignoring some irrelevant ones like
19639 COLUMNS):</p>
19640
19641 <blockquote><pre>
19642 DEFAULT_RUNLEVEL=2
19643 previous=N
19644 PREVLEVEL=
19645 RUNLEVEL=
19646 runlevel=S
19647 UPSTART_EVENTS=startup
19648 UPSTART_INSTANCE=
19649 UPSTART_JOB=rc-sysinit
19650 </pre></blockquote>
19651
19652 <p>With sysvinit, these environment variables are set for the same
19653 script.</p>
19654
19655 <blockquote><pre>
19656 INIT_VERSION=sysvinit-2.88
19657 previous=N
19658 PREVLEVEL=N
19659 RUNLEVEL=S
19660 runlevel=S
19661 </pre></blockquote>
19662
19663 <p>The RUNLEVEL and PREVLEVEL environment variables passed on from
19664 sysvinit are not set by upstart. Not sure if it is intentional or not
19665 to not be compatible with sysvinit in this regard.</p>
19666
19667 <p>For scripts needing to behave differently when upstart is used,
19668 looking for the UPSTART_JOB environment variable seem to be a good
19669 choice.</p>
19670
19671 </div>
19672 <div class="tags">
19673
19674
19675 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
19676
19677
19678 </div>
19679 </div>
19680 <div class="padding"></div>
19681
19682 <div class="entry">
19683 <div class="title">
19684 <a href="http://people.skolelinux.org/pere/blog/A_manual_for_standards_wars___.html">A manual for standards wars...</a>
19685 </div>
19686 <div class="date">
19687 6th June 2010
19688 </div>
19689 <div class="body">
19690 <p>Via the
19691 <a href="http://feedproxy.google.com/~r/robweir/antic-atom/~3/QzU4RgoAGMg/weekly-links-10.html">blog
19692 of Rob Weir</a> I came across the very interesting essay named
19693 <a href="http://faculty.haas.berkeley.edu/shapiro/wars.pdf">The Art of
19694 Standards Wars</a> (PDF 25 pages). I recommend it for everyone
19695 following the standards wars of today.</p>
19696
19697 </div>
19698 <div class="tags">
19699
19700
19701 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
19702
19703
19704 </div>
19705 </div>
19706 <div class="padding"></div>
19707
19708 <div class="entry">
19709 <div class="title">
19710 <a href="http://people.skolelinux.org/pere/blog/Sitesummary_tip__Listing_computer_hardware_models_used_at_site.html">Sitesummary tip: Listing computer hardware models used at site</a>
19711 </div>
19712 <div class="date">
19713 3rd June 2010
19714 </div>
19715 <div class="body">
19716 <p>When using sitesummary at a site to track machines, it is possible
19717 to get a list of the machine types in use thanks to the DMI
19718 information extracted from each machine. The script to do so is
19719 included in the sitesummary package, and here is example output from
19720 the Skolelinux build servers:</p>
19721
19722 <blockquote><pre>
19723 maintainer:~# /usr/lib/sitesummary/hardware-model-summary
19724 vendor count
19725 Dell Computer Corporation 1
19726 PowerEdge 1750 1
19727 IBM 1
19728 eserver xSeries 345 -[8670M1X]- 1
19729 Intel 2
19730 [no-dmi-info] 3
19731 maintainer:~#
19732 </pre></blockquote>
19733
19734 <p>The quality of the report depend on the quality of the DMI tables
19735 provided in each machine. Here there are Intel machines without model
19736 information listed with Intel as vendor and no model, and virtual Xen
19737 machines listed as [no-dmi-info]. One can add -l as a command line
19738 option to list the individual machines.</p>
19739
19740 <p>A larger list is
19741 <a href="http://narvikskolen.no/sitesummary/">available from the the
19742 city of Narvik</a>, which uses Skolelinux on all their shools and also
19743 provide the basic sitesummary report publicly. In their report there
19744 are ~1400 machines. I know they use both Ubuntu and Skolelinux on
19745 their machines, and as sitesummary is available in both distributions,
19746 it is trivial to get all of them to report to the same central
19747 collector.</p>
19748
19749 </div>
19750 <div class="tags">
19751
19752
19753 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary</a>.
19754
19755
19756 </div>
19757 </div>
19758 <div class="padding"></div>
19759
19760 <div class="entry">
19761 <div class="title">
19762 <a href="http://people.skolelinux.org/pere/blog/KDM_fail_at_boot_with_NVidia_cards___and_no_one_try_to_fix_it_.html">KDM fail at boot with NVidia cards - and no one try to fix it?</a>
19763 </div>
19764 <div class="date">
19765 1st June 2010
19766 </div>
19767 <div class="body">
19768 <p>It is strange to watch how a bug in Debian causing KDM to fail to
19769 start at boot when an NVidia video card is used is handled. The
19770 problem seem to be that the nvidia X.org driver uses a long time to
19771 initialize, and this duration is longer than kdm is configured to
19772 wait.</p>
19773
19774 <p>I came across two bugs related to this issue,
19775 <a href="http://bugs.debian.org/583312">#583312</a> initially filed
19776 against initscripts and passed on to nvidia-glx when it became obvious
19777 that the nvidia drivers were involved, and
19778 <a href="http://bugs.debian.org/524751">#524751</a> initially filed against
19779 kdm and passed on to src:nvidia-graphics-drivers for unknown reasons.</p>
19780
19781 <p>To me, it seem that no-one is interested in actually solving the
19782 problem nvidia video card owners experience and make sure the Debian
19783 distribution work out of the box for these users. The nvidia driver
19784 maintainers expect kdm to be set up to wait longer, while kdm expect
19785 the nvidia driver maintainers to fix the driver to start faster, and
19786 while they wait for each other I guess the users end up switching to a
19787 distribution that work for them. I have no idea what the solution is,
19788 but I am pretty sure that waiting for each other is not it.</p>
19789
19790 <p>I wonder why we end up handling bugs this way.</p>
19791
19792 </div>
19793 <div class="tags">
19794
19795
19796 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
19797
19798
19799 </div>
19800 </div>
19801 <div class="padding"></div>
19802
19803 <div class="entry">
19804 <div class="title">
19805 <a href="http://people.skolelinux.org/pere/blog/Parallellized_boot_seem_to_hold_up_well_in_Debian_testing.html">Parallellized boot seem to hold up well in Debian/testing</a>
19806 </div>
19807 <div class="date">
19808 27th May 2010
19809 </div>
19810 <div class="body">
19811 <p>A few days ago, parallel booting was enabled in Debian/testing.
19812 The feature seem to hold up pretty well, but three fairly serious
19813 issues are known and should be solved:
19814
19815 <p><ul>
19816
19817 <li>The wicd package seen to
19818 <a href="http://bugs.debian.org/508289">break NFS mounting</a> and
19819 <a href="http://bugs.debian.org/581586">network setup</a> when
19820 parallel booting is enabled. No idea why, but the wicd maintainer
19821 seem to be on the case.</li>
19822
19823 <li>The nvidia X driver seem to
19824 <a href="http://bugs.debian.org/583312">have a race condition</a>
19825 triggered more easily when parallel booting is in effect. The
19826 maintainer is on the case.</li>
19827
19828 <li>The sysv-rc package fail to properly enable dependency based boot
19829 sequencing (the shutdown is broken) when old file-rc users
19830 <a href="http://bugs.debian.org/575080">try to switch back</a> to
19831 sysv-rc. One way to solve it would be for file-rc to create
19832 /etc/init.d/.legacy-bootordering, and another is to try to make
19833 sysv-rc more robust. Will investigate some more and probably upload a
19834 workaround in sysv-rc to help those trying to move from file-rc to
19835 sysv-rc get a working shutdown.</li>
19836
19837 </ul></p>
19838
19839 <p>All in all not many surprising issues, and all of them seem
19840 solvable before Squeeze is released. In addition to these there are
19841 some packages with bugs in their dependencies and run level settings,
19842 which I expect will be fixed in a reasonable time span.</p>
19843
19844 <p>If you report any problems with dependencies in init.d scripts to
19845 the BTS, please usertag the report to get it to show up at
19846 <a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org">the
19847 list of usertagged bugs related to this</a>.</p>
19848
19849 <p>Update: Correct bug number to file-rc issue.</p>
19850
19851 </div>
19852 <div class="tags">
19853
19854
19855 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
19856
19857
19858 </div>
19859 </div>
19860 <div class="padding"></div>
19861
19862 <div class="entry">
19863 <div class="title">
19864 <a href="http://people.skolelinux.org/pere/blog/More_flexible_firmware_handling_in_debian_installer.html">More flexible firmware handling in debian-installer</a>
19865 </div>
19866 <div class="date">
19867 22nd May 2010
19868 </div>
19869 <div class="body">
19870 <p>After a long break from debian-installer development, I finally
19871 found time today to return to the project. Having to spend less time
19872 working dependency based boot in debian, as it is almost complete now,
19873 definitely helped freeing some time.</p>
19874
19875 <p>A while back, I ran into a problem while working on Debian Edu. We
19876 include some firmware packages on the Debian Edu CDs, those needed to
19877 get disk and network controllers working. Without having these
19878 firmware packages available during installation, it is impossible to
19879 install Debian Edu on the given machine, and because our target group
19880 are non-technical people, asking them to provide firmware packages on
19881 an external medium is a support pain. Initially, I expected it to be
19882 enough to include the firmware packages on the CD to get
19883 debian-installer to find and use them. This proved to be wrong.
19884 Next, I hoped it was enough to symlink the relevant firmware packages
19885 to some useful location on the CD (tried /cdrom/ and
19886 /cdrom/firmware/). This also proved to not work, and at this point I
19887 found time to look at the debian-installer code to figure out what was
19888 going to work.</p>
19889
19890 <p>The firmware loading code is in the hw-detect package, and a closer
19891 look revealed that it would only look for firmware packages outside
19892 the installation media, so the CD was never checked for firmware
19893 packages. It would only check USB sticks, floppies and other
19894 "external" media devices. Today I changed it to also look in the
19895 /cdrom/firmware/ directory on the mounted CD or DVD, which should
19896 solve the problem I ran into with Debian edu. I also changed it to
19897 look in /firmware/, to make sure the installer also find firmware
19898 provided in the initrd when booting the installer via PXE, to allow us
19899 to provide the same feature in the PXE setup included in Debian
19900 Edu.</p>
19901
19902 <p>To make sure firmware deb packages with a license questions are not
19903 activated without asking if the license is accepted, I extended
19904 hw-detect to look for preinst scripts in the firmware packages, and
19905 run these before activating the firmware during installation. The
19906 license question is asked using debconf in the preinst, so this should
19907 solve the issue for the firmware packages I have looked at so far.</p>
19908
19909 <p>If you want to discuss the details of these features, please
19910 contact us on debian-boot@lists.debian.org.</p>
19911
19912 </div>
19913 <div class="tags">
19914
19915
19916 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
19917
19918
19919 </div>
19920 </div>
19921 <div class="padding"></div>
19922
19923 <div class="entry">
19924 <div class="title">
19925 <a href="http://people.skolelinux.org/pere/blog/Pieces_of_the_roaming_laptop_puzzle_in_Debian.html">Pieces of the roaming laptop puzzle in Debian</a>
19926 </div>
19927 <div class="date">
19928 19th May 2010
19929 </div>
19930 <div class="body">
19931 <p>Today, the last piece of the puzzle for roaming laptops in Debian
19932 Edu finally entered the Debian archive. Today, the new
19933 <a href="http://packages.qa.debian.org/libp/libpam-mklocaluser.html">libpam-mklocaluser</a>
19934 package was accepted. Two days ago, two other pieces was accepted
19935 into unstable. The
19936 <a href="http://packages.qa.debian.org/p/pam-python.html">pam-python</a>
19937 package needed by libpam-mklocaluser, and the
19938 <a href="http://packages.qa.debian.org/s/sssd.html">sssd</a> package
19939 passed NEW on Monday. In addition, the
19940 <a href="http://packages.qa.debian.org/libp/libpam-ccreds.html">libpam-ccreds</a>
19941 package we need is in experimental (version 10-4) since Saturday, and
19942 hopefully will be moved to unstable soon.</p>
19943
19944 <p>This collection of packages allow for two different setups for
19945 roaming laptops. The traditional setup would be using libpam-ccreds,
19946 nscd and libpam-mklocaluser with LDAP or Kerberos authentication,
19947 which should work out of the box if the configuration changes proposed
19948 for nscd in <a href="http://bugs.debian.org/485282">BTS report
19949 #485282</a> is implemented. The alternative setup is to use sssd with
19950 libpam-mklocaluser to connect to LDAP or Kerberos and let sssd take
19951 care of the caching of passwords and group information.</p>
19952
19953 <p>I have so far been unable to get sssd to work with the LDAP server
19954 at the University, but suspect the issue is some SSL/GnuTLS related
19955 problem with the server certificate. I plan to update the Debian
19956 package to version 1.2, which is scheduled for next week, and hope to
19957 find time to make sure the next release will include both the
19958 Debian/Ubuntu specific patches. Upstream is friendly and responsive,
19959 and I am sure we will find a good solution.</p>
19960
19961 <p>The idea is to set up the roaming laptops to authenticate using
19962 LDAP or Kerberos and create a local user with home directory in /home/
19963 when a usre in LDAP logs in via KDM or GDM for the first time, and
19964 cache the password for offline checking, as well as caching group
19965 memberhips and other relevant LDAP information. The
19966 libpam-mklocaluser package was created to make sure the local home
19967 directory is in /home/, instead of /site/server/directory/ which would
19968 be the home directory if pam_mkhomedir was used. To avoid confusion
19969 with support requests and configuration, we do not want local laptops
19970 to have users in a path that is used for the same users home directory
19971 on the home directory servers.</p>
19972
19973 <p>One annoying problem with gdm is that it do not show the PAM
19974 message passed to the user from libpam-mklocaluser when the local user
19975 is created. Instead gdm simply reject the login with some generic
19976 message. The message is shown in kdm, ssh and login, so I guess it is
19977 a bug in gdm. Have not investigated if there is some other message
19978 type that can be used instead to get gdm to also show the message.</p>
19979
19980 <p>If you want to help out with implementing this for Debian Edu,
19981 please contact us on debian-edu@lists.debian.org.</p>
19982
19983 </div>
19984 <div class="tags">
19985
19986
19987 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
19988
19989
19990 </div>
19991 </div>
19992 <div class="padding"></div>
19993
19994 <div class="entry">
19995 <div class="title">
19996 <a href="http://people.skolelinux.org/pere/blog/Parallellized_boot_is_now_the_default_in_Debian_unstable.html">Parallellized boot is now the default in Debian/unstable</a>
19997 </div>
19998 <div class="date">
19999 14th May 2010
20000 </div>
20001 <div class="body">
20002 <p>Since this evening, parallel booting is the default in
20003 Debian/unstable for machines using dependency based boot sequencing.
20004 Apparently the testing of concurrent booting has been wider than
20005 expected, if I am to believe the
20006 <a href="http://lists.debian.org/debian-devel/2010/05/msg00122.html">input
20007 on debian-devel@</a>, and I concluded a few days ago to move forward
20008 with the feature this weekend, to give us some time to detect any
20009 remaining problems before Squeeze is frozen. If serious problems are
20010 detected, it is simple to change the default back to sequential boot.
20011 The upload of the new sysvinit package also activate a new upstream
20012 version.</p>
20013
20014 More information about
20015 <a href="http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot">dependency
20016 based boot sequencing</a> is available from the Debian wiki. It is
20017 currently possible to disable parallel booting when one run into
20018 problems caused by it, by adding this line to /etc/default/rcS:</p>
20019
20020 <blockquote><pre>
20021 CONCURRENCY=none
20022 </pre></blockquote>
20023
20024 <p>If you report any problems with dependencies in init.d scripts to
20025 the BTS, please usertag the report to get it to show up at
20026 <a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org">the
20027 list of usertagged bugs related to this</a>.</p>
20028
20029 </div>
20030 <div class="tags">
20031
20032
20033 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
20034
20035
20036 </div>
20037 </div>
20038 <div class="padding"></div>
20039
20040 <div class="entry">
20041 <div class="title">
20042 <a href="http://people.skolelinux.org/pere/blog/Sitesummary_tip__Listing_MAC_address_of_all_clients.html">Sitesummary tip: Listing MAC address of all clients</a>
20043 </div>
20044 <div class="date">
20045 14th May 2010
20046 </div>
20047 <div class="body">
20048 <p>In the recent Debian Edu versions, the
20049 <a href="http://wiki.debian.org/DebianEdu/HowTo/SiteSummary">sitesummary
20050 system</a> is used to keep track of the machines in the school
20051 network. Each machine will automatically report its status to the
20052 central server after boot and once per night. The network setup is
20053 also reported, and using this information it is possible to get the
20054 MAC address of all network interfaces in the machines. This is useful
20055 to update the DHCP configuration.</p>
20056
20057 <p>To give some idea how to use sitesummary, here is a one-liner to
20058 ist all MAC addresses of all machines reporting to sitesummary. Run
20059 this on the collector host:</p>
20060
20061 <blockquote><pre>
20062 perl -MSiteSummary -e 'for_all_hosts(sub { print join(" ", get_macaddresses(shift)), "\n"; });'
20063 </pre></blockquote>
20064
20065 <p>This will list all MAC addresses assosiated with all machine, one
20066 line per machine and with space between the MAC addresses.</p>
20067
20068 <p>To allow system administrators easier job at adding static DHCP
20069 addresses for hosts, it would be possible to extend this to fetch
20070 machine information from sitesummary and update the DHCP and DNS
20071 tables in LDAP using this information. Such tool is unfortunately not
20072 written yet.</p>
20073
20074 </div>
20075 <div class="tags">
20076
20077
20078 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary</a>.
20079
20080
20081 </div>
20082 </div>
20083 <div class="padding"></div>
20084
20085 <div class="entry">
20086 <div class="title">
20087 <a href="http://people.skolelinux.org/pere/blog/systemd__an_interesting_alternative_to_upstart.html">systemd, an interesting alternative to upstart</a>
20088 </div>
20089 <div class="date">
20090 13th May 2010
20091 </div>
20092 <div class="body">
20093 <p>The last few days a new boot system called
20094 <a href="http://www.freedesktop.org/wiki/Software/systemd">systemd</a>
20095 has been
20096 <a href="http://0pointer.de/blog/projects/systemd.html">introduced</a>
20097
20098 to the free software world. I have not yet had time to play around
20099 with it, but it seem to be a very interesting alternative to
20100 <a href="http://upstart.ubuntu.com/">upstart</a>, and might prove to be
20101 a good alternative for Debian when we are able to switch to an event
20102 based boot system. Tollef is
20103 <a href="http://bugs.debian.org/580814">in the process</a> of getting
20104 systemd into Debian, and I look forward to seeing how well it work. I
20105 like the fact that systemd handles init.d scripts with dependency
20106 information natively, allowing them to run in parallel where upstart
20107 at the moment do not.</p>
20108
20109 <p>Unfortunately do systemd have the same problem as upstart regarding
20110 platform support. It only work on recent Linux kernels, and also need
20111 some new kernel features enabled to function properly. This means
20112 kFreeBSD and Hurd ports of Debian will need a port or a different boot
20113 system. Not sure how that will be handled if systemd proves to be the
20114 way forward.</p>
20115
20116 <p>In the mean time, based on the
20117 <a href="http://lists.debian.org/debian-devel/2010/05/msg00122.html">input
20118 on debian-devel@</a> regarding parallel booting in Debian, I have
20119 decided to enable full parallel booting as the default in Debian as
20120 soon as possible (probably this weekend or early next week), to see if
20121 there are any remaining serious bugs in the init.d dependencies. A
20122 new version of the sysvinit package implementing this change is
20123 already in experimental. If all go well, Squeeze will be released
20124 with parallel booting enabled by default.</p>
20125
20126 </div>
20127 <div class="tags">
20128
20129
20130 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <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/nuug">nuug</a>.
20131
20132
20133 </div>
20134 </div>
20135 <div class="padding"></div>
20136
20137 <div class="entry">
20138 <div class="title">
20139 <a href="http://people.skolelinux.org/pere/blog/Parallellizing_the_boot_in_Debian_Squeeze___ready_for_wider_testing.html">Parallellizing the boot in Debian Squeeze - ready for wider testing</a>
20140 </div>
20141 <div class="date">
20142 6th May 2010
20143 </div>
20144 <div class="body">
20145 <p>These days, the init.d script dependencies in Squeeze are quite
20146 complete, so complete that it is actually possible to run all the
20147 init.d scripts in parallell based on these dependencies. If you want
20148 to test your Squeeze system, make sure
20149 <a href="http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot">dependency
20150 based boot sequencing</a> is enabled, and add this line to
20151 /etc/default/rcS:</p>
20152
20153 <blockquote><pre>
20154 CONCURRENCY=makefile
20155 </pre></blockquote>
20156
20157 <p>That is it. It will cause sysv-rc to use the startpar tool to run
20158 scripts in parallel using the dependency information stored in
20159 /etc/init.d/.depend.boot, /etc/init.d/.depend.start and
20160 /etc/init.d/.depend.stop to order the scripts. Startpar is configured
20161 to try to start the kdm and gdm scripts as early as possible, and will
20162 start the facilities required by kdm or gdm as early as possible to
20163 make this happen.</p>
20164
20165 <p>Give it a try, and see if you like the result. If some services
20166 fail to start properly, it is most likely because they have incomplete
20167 init.d script dependencies in their startup script (or some of their
20168 dependent scripts have incomplete dependencies). Report bugs and get
20169 the package maintainers to fix it. :)</p>
20170
20171 <p>Running scripts in parallel could be the default in Debian when we
20172 manage to get the init.d script dependencies complete and correct. I
20173 expect we will get there in Squeeze+1, if we get manage to test and
20174 fix the remaining issues.</p>
20175
20176 <p>If you report any problems with dependencies in init.d scripts to
20177 the BTS, please usertag the report to get it to show up at
20178 <a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org">the
20179 list of usertagged bugs related to this</a>.</p>
20180
20181 </div>
20182 <div class="tags">
20183
20184
20185 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
20186
20187
20188 </div>
20189 </div>
20190 <div class="padding"></div>
20191
20192 <div class="entry">
20193 <div class="title">
20194 <a href="http://people.skolelinux.org/pere/blog/Forcing_new_users_to_change_their_password_on_first_login.html">Forcing new users to change their password on first login</a>
20195 </div>
20196 <div class="date">
20197 2nd May 2010
20198 </div>
20199 <div class="body">
20200 <p>One interesting feature in Active Directory, is the ability to
20201 create a new user with an expired password, and thus force the user to
20202 change the password on the first login attempt.</p>
20203
20204 <p>I'm not quite sure how to do that with the LDAP setup in Debian
20205 Edu, but did some initial testing with a local account. The account
20206 and password aging information is available in /etc/shadow, but
20207 unfortunately, it is not possible to specify an expiration time for
20208 passwords, only a maximum age for passwords.</p>
20209
20210 <p>A freshly created account (using adduser test) will have these
20211 settings in /etc/shadow:</p>
20212
20213 <blockquote><pre>
20214 root@tjener:~# chage -l test
20215 Last password change : May 02, 2010
20216 Password expires : never
20217 Password inactive : never
20218 Account expires : never
20219 Minimum number of days between password change : 0
20220 Maximum number of days between password change : 99999
20221 Number of days of warning before password expires : 7
20222 root@tjener:~#
20223 </pre></blockquote>
20224
20225 <p>The only way I could come up with to create a user with an expired
20226 account, is to change the date of the last password change to the
20227 lowest value possible (January 1th 1970), and the maximum password age
20228 to the difference in days between that date and today. To make it
20229 simple, I went for 30 years (30 * 365 = 10950) and January 2th (to
20230 avoid testing if 0 is a valid value).</p>
20231
20232 <p>After using these commands to set it up, it seem to work as
20233 intended:</p>
20234
20235 <blockquote><pre>
20236 root@tjener:~# chage -d 1 test; chage -M 10950 test
20237 root@tjener:~# chage -l test
20238 Last password change : Jan 02, 1970
20239 Password expires : never
20240 Password inactive : never
20241 Account expires : never
20242 Minimum number of days between password change : 0
20243 Maximum number of days between password change : 10950
20244 Number of days of warning before password expires : 7
20245 root@tjener:~#
20246 </pre></blockquote>
20247
20248 <p>So far I have tested this with ssh and console, and kdm (in
20249 Squeeze) login, and all ask for a new password before login in the
20250 user (with ssh, I was thrown out and had to log in again).</p>
20251
20252 <p>Perhaps we should set up something similar for Debian Edu, to make
20253 sure only the user itself have the account password?</p>
20254
20255 <p>If you want to comment on or help out with implementing this for
20256 Debian Edu, please contact us on debian-edu@lists.debian.org.</p>
20257
20258 <p>Update 2010-05-02 17:20: Paul Tötterman tells me on IRC that the
20259 shadow(8) page in Debian/testing now state that setting the date of
20260 last password change to zero (0) will force the password to be changed
20261 on the first login. This was not mentioned in the manual in Lenny, so
20262 I did not notice this in my initial testing. I have tested it on
20263 Squeeze, and '<tt>chage -d 0 username</tt>' do work there. I have not
20264 tested it on Lenny yet.</p>
20265
20266 <p>Update 2010-05-02-19:05: Jim Paris tells me via email that an
20267 equivalent command to expire a password is '<tt>passwd -e
20268 username</tt>', which insert zero into the date of the last password
20269 change.</p>
20270
20271 </div>
20272 <div class="tags">
20273
20274
20275 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet</a>.
20276
20277
20278 </div>
20279 </div>
20280 <div class="padding"></div>
20281
20282 <div class="entry">
20283 <div class="title">
20284 <a href="http://people.skolelinux.org/pere/blog/Thoughts_on_roaming_laptop_setup_for_Debian_Edu.html">Thoughts on roaming laptop setup for Debian Edu</a>
20285 </div>
20286 <div class="date">
20287 28th April 2010
20288 </div>
20289 <div class="body">
20290 <p>For some years now, I have wondered how we should handle laptops in
20291 Debian Edu. The Debian Edu infrastructure is mostly designed to
20292 handle stationary computers, and less suited for computers that come
20293 and go.</p>
20294
20295 <p>Now I finally believe I have an sensible idea on how to adjust
20296 Debian Edu for laptops, by introducing a new profile for them, for
20297 example called Roaming Workstations. Here are my thought on this.
20298 The setup would consist of the following:</p>
20299
20300 <ul>
20301
20302 <li>During installation, the user name of the owner / primary user of
20303 the laptop is requested and a local home directory is set up for
20304 the user, with uid and gid information fetched from the LDAP
20305 server. This allow the user to work also when offline. The
20306 central home directory can be available in a subdirectory on
20307 request, for example mounted via CIFS. It could be mounted
20308 automatically when a user log in while on the Debian Edu network,
20309 and unmounted when the machine is taken away (network down,
20310 hibernate, etc), it can be set up to do automatic mounting on
20311 request (using autofs), or perhaps some GUI button on the desktop
20312 can be used to access it when needed. Perhaps it is enough to use
20313 the fish protocol in KDE?</li>
20314
20315 <li>Password checking is set up to use LDAP or Kerberos
20316 authentication when the machine is on the Debian Edu network, and
20317 to cache the password for offline checking when the machine unable
20318 to reach the LDAP or Kerberos server. This can be done using
20319 <a href="http://www.padl.com/OSS/pam_ccreds.html">libpam-ccreds</a>
20320 or the Fedora developed
20321 <a href="https://fedoraproject.org/wiki/Features/SSSD">System
20322 Security Services Daemon</a> packages.</li>
20323
20324 <li>File synchronisation with the central home directory is set up
20325 using a shared directory in both the local and the central home
20326 directory, using unison.</li>
20327
20328 <li>Printing should be set up to print to all printers broadcasting
20329 their existence on the local network, and should then work out of
20330 the box with CUPS. For sites needing accurate printer quotas, some
20331 system with Kerberos authentication or printing via ssh could be
20332 implemented.</li>
20333
20334 <li>For users that should have local root access to their laptop,
20335 sudo should be used to allow this to the local user.</li>
20336
20337 <li>It would be nice if user and group information from LDAP is
20338 cached on the client, but given that there are entries for the
20339 local user and primary group in /etc/, it should not be needed.</li>
20340
20341 </ul>
20342
20343 <p>I believe all the pieces to implement this are in Debian/testing at
20344 the moment. If we work quickly, we should be able to get this ready
20345 in time for the Squeeze release to freeze. Some of the pieces need
20346 tweaking, like libpam-ccreds should get support for pam-auth-update
20347 (<a href="http://bugs.debian.org/566718">#566718</a>) and nslcd (or
20348 perhaps debian-edu-config) should get some integration code to stop
20349 its daemon when the LDAP server is unavailable to avoid long timeouts
20350 when disconnected from the net. If we get Kerberos enabled, we need
20351 to make sure we avoid long timeouts there too.</p>
20352
20353 <p>If you want to help out with implementing this for Debian Edu,
20354 please contact us on debian-edu@lists.debian.org.</p>
20355
20356 </div>
20357 <div class="tags">
20358
20359
20360 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
20361
20362
20363 </div>
20364 </div>
20365 <div class="padding"></div>
20366
20367 <div class="entry">
20368 <div class="title">
20369 <a href="http://people.skolelinux.org/pere/blog/Great_book___Content__Selected_Essays_on_Technology__Creativity__Copyright__and_the_Future_of_the_Future_.html">Great book: "Content: Selected Essays on Technology, Creativity, Copyright, and the Future of the Future"</a>
20370 </div>
20371 <div class="date">
20372 19th April 2010
20373 </div>
20374 <div class="body">
20375 <p>The last few weeks i have had the pleasure of reading a
20376 thought-provoking collection of essays by Cory Doctorow, on topics
20377 touching copyright, virtual worlds, the future of man when the
20378 conscience mind can be duplicated into a computer and many more. The
20379 book titled "Content: Selected Essays on Technology, Creativity,
20380 Copyright, and the Future of the Future" is available with few
20381 restrictions on the web, for example from
20382 <a href="http://craphound.com/content/">his own site</a>. I read the
20383 epub-version from
20384 <a href="http://www.feedbooks.com/book/2883">feedbooks</a> using
20385 <a href="http://www.fbreader.org/">fbreader</a> and my N810. I
20386 strongly recommend this book.</p>
20387
20388 </div>
20389 <div class="tags">
20390
20391
20392 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett</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/web">web</a>.
20393
20394
20395 </div>
20396 </div>
20397 <div class="padding"></div>
20398
20399 <div class="entry">
20400 <div class="title">
20401 <a href="http://people.skolelinux.org/pere/blog/Kerberos_for_Debian_Edu_Squeeze_.html">Kerberos for Debian Edu/Squeeze?</a>
20402 </div>
20403 <div class="date">
20404 14th April 2010
20405 </div>
20406 <div class="body">
20407 <p><a href="http://www.nuug.no/aktiviteter/20100413-kerberos/">Yesterdays
20408 NUUG presentation</a> about Kerberos was inspiring, and reminded me
20409 about the need to start using Kerberos in Skolelinux. Setting up a
20410 Kerberos server seem to be straight forward, and if we get this in
20411 place a long time before the Squeeze version of Debian freezes, we
20412 have a chance to migrate Skolelinux away from NFSv3 for the home
20413 directories, and over to an architecture where the infrastructure do
20414 not have to trust IP addresses and machines, and instead can trust
20415 users and cryptographic keys instead.</p>
20416
20417 <p>A challenge will be integration and administration. Is there a
20418 Kerberos implementation for Debian where one can control the
20419 administration access in Kerberos using LDAP groups? With it, the
20420 school administration will have to maintain access control using flat
20421 files on the main server, which give a huge potential for errors.</p>
20422
20423 <p>A related question I would like to know is how well Kerberos and
20424 pam-ccreds (offline password check) work together. Anyone know?</p>
20425
20426 <p>Next step will be to use Kerberos for access control in Lwat and
20427 Nagios. I have no idea how much work that will be to implement. We
20428 would also need to document how to integrate with Windows AD, as such
20429 shared network will require two Kerberos realms that need to cooperate
20430 to work properly.</p>
20431
20432 <p>I believe a good start would be to start using Kerberos on the
20433 skolelinux.no machines, and this way get ourselves experience with
20434 configuration and integration. A natural starting point would be
20435 setting up ldap.skolelinux.no as the Kerberos server, and migrate the
20436 rest of the machines from PAM via LDAP to PAM via Kerberos one at the
20437 time.</p>
20438
20439 <p>If you would like to contribute to get this working in Skolelinux,
20440 I recommend you to see the video recording from yesterdays NUUG
20441 presentation, and start using Kerberos at home. The video show show
20442 up in a few days.</p>
20443
20444 </div>
20445 <div class="tags">
20446
20447
20448 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
20449
20450
20451 </div>
20452 </div>
20453 <div class="padding"></div>
20454
20455 <div class="entry">
20456 <div class="title">
20457 <a href="http://people.skolelinux.org/pere/blog/After_6_years_of_waiting__the_Xreset_d_feature_is_implemented.html">After 6 years of waiting, the Xreset.d feature is implemented</a>
20458 </div>
20459 <div class="date">
20460 6th March 2010
20461 </div>
20462 <div class="body">
20463 <p>6 years ago, as part of the Debian Edu development I am involved
20464 in, I asked for a hook in the kdm and gdm setup to run scripts as root
20465 when the user log out. A bug was submitted against the xfree86-common
20466 package in 2004 (<a href="http://bugs.debian.org/230422">#230422</a>),
20467 and revisited every time Debian Edu was working on a new release.
20468 Today, this finally paid off.</p>
20469
20470 <p>The framework for this feature was today commited to the git
20471 repositry for the xorg package, and the git repository for xdm has
20472 been updated to use this framework. Next on my agenda is to make sure
20473 kdm and gdm also add code to use this framework.</p>
20474
20475 <p>In Debian Edu, we want to ability to run commands as root when the
20476 user log out, to get rid of runaway processes and do general cleanup
20477 after a user. With this framework in place, we finally can do that in
20478 a generic way that work with all display managers using this
20479 framework. My goal is to get all display managers in Debian use it,
20480 similar to how they use the Xsession.d framework today.<p>
20481
20482 </div>
20483 <div class="tags">
20484
20485
20486 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
20487
20488
20489 </div>
20490 </div>
20491 <div class="padding"></div>
20492
20493 <div class="entry">
20494 <div class="title">
20495 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu___Skolelinux_based_on_Lenny_released__work_continues.html">Debian Edu / Skolelinux based on Lenny released, work continues</a>
20496 </div>
20497 <div class="date">
20498 11th February 2010
20499 </div>
20500 <div class="body">
20501 <p>On Tuesday, the Debian/Lenny based version of
20502 <a href="http://www.skolelinux.org/">Skolelinux</a> was finally
20503 shipped. This was a major leap forward for the project, and I am very
20504 pleased that we finally got the release wrapped up. Work on the first
20505 point release starts imediately, as we plan to get that one out a
20506 month after the major release, to include all fixes for bugs we found
20507 and fixed too late in the release process to include last Tuesday.</p>
20508
20509 <p>Perhaps it even is time for some partying?</p>
20510
20511 <p>After this first point release, my plan is to focus again on the
20512 next major release, based on Squeeze. We will try to get as many of
20513 the fixes we need into the official Debian packages before the freeze,
20514 and have just a few weeks or months to make it happen.</p>
20515
20516 </div>
20517 <div class="tags">
20518
20519
20520 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
20521
20522
20523 </div>
20524 </div>
20525 <div class="padding"></div>
20526
20527 <div class="entry">
20528 <div class="title">
20529 <a href="http://people.skolelinux.org/pere/blog/Automatic_Munin_and_Nagios_configuration.html">Automatic Munin and Nagios configuration</a>
20530 </div>
20531 <div class="date">
20532 27th January 2010
20533 </div>
20534 <div class="body">
20535 <p>One of the new features in the next Debian/Lenny based release of
20536 Debian Edu/Skolelinux, which is scheduled for release in the next few
20537 days, is automatic configuration of the service monitoring system
20538 Nagios. The previous release had automatic configuration of trend
20539 analysis using Munin, and this Lenny based release take that a step
20540 further.</p>
20541
20542 <p>When installing a Debian Edu Main-server, it is automatically
20543 configured as a Munin and Nagios server. In addition, it is
20544 configured to be a server for the
20545 <a href="http://wiki.debian.org/DebianEdu/HowTo/SiteSummary">SiteSummary
20546 system</a> I have written for use in Debian Edu. The SiteSummary
20547 system is inspired by a system used by the University of Oslo where I
20548 work. In short, the system provide a centralised collector of
20549 information about the computers on the network, and a client on each
20550 computer submitting information to this collector. This allow for
20551 automatic information on which packages are installed on each machine,
20552 which kernel the machines are using, what kind of configuration the
20553 packages got etc. This also allow us to automatically generate Munin
20554 and Nagios configuration.</p>
20555
20556 <p>All computers reporting to the sitesummary collector with the
20557 munin-node package installed is automatically enabled as a Munin
20558 client and graphs from the statistics collected from that machine show
20559 up automatically on http://www/munin/ on the Main-server.</p>
20560
20561 <p>All non-laptop computers reporting to the sitesummary collector are
20562 automatically monitored for network presence (ping and any network
20563 services detected). In addition, all computers (also laptops) with
20564 the nagios-nrpe-server package installed and configured the way
20565 sitesummary would configure it, are monitored for full disks, software
20566 raid status, swap free and other checks that need to run locally on
20567 the machine.</p>
20568
20569 <p>The result is that the administrator on a school using Debian Edu
20570 based on Lenny will be able to check the health of his installation
20571 with one look at the Nagios settings, without having to spend any time
20572 keeping the Nagios configuration up-to-date.</p>
20573
20574 <p>The only configuration one need to do to get Nagios up and running
20575 is to set the password used to get access via HTTP. The system
20576 administrator need to run "<tt>htpasswd /etc/nagios3/htpasswd.users
20577 nagiosadmin</tt>" to create a nagiosadmin user and set a password for
20578 it to be able to log into the Nagios web pages. After that,
20579 everything is taken care of.</p>
20580
20581 </div>
20582 <div class="tags">
20583
20584
20585 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary</a>.
20586
20587
20588 </div>
20589 </div>
20590 <div class="padding"></div>
20591
20592 <div class="entry">
20593 <div class="title">
20594 <a href="http://people.skolelinux.org/pere/blog/Relative_popularity_of_document_formats__MS_Office_vs__ODF_.html">Relative popularity of document formats (MS Office vs. ODF)</a>
20595 </div>
20596 <div class="date">
20597 12th August 2009
20598 </div>
20599 <div class="body">
20600 <p>Just for fun, I did a search right now on Google for a few file ODF
20601 and MS Office based formats (not to be mistaken for ISO or ECMA
20602 OOXML), to get an idea of their relative usage. I searched using
20603 'filetype:odt' and equvalent terms, and got these results:</P>
20604
20605 <table>
20606 <tr><th>Type</th><th>ODF</th><th>MS Office</th></tr>
20607 <tr><td>Tekst</td> <td>odt:282000</td> <td>docx:308000</td></tr>
20608 <tr><td>Presentasjon</td> <td>odp:75600</td> <td>pptx:183000</td></tr>
20609 <tr><td>Regneark</td> <td>ods:26500 </td> <td>xlsx:145000</td></tr>
20610 </table>
20611
20612 <p>Next, I added a 'site:no' limit to get the numbers for Norway, and
20613 got these numbers:</p>
20614
20615 <table>
20616 <tr><th>Type</th><th>ODF</th><th>MS Office</th></tr>
20617 <tr><td>Tekst</td> <td>odt:2480 </td> <td>docx:4460</td></tr>
20618 <tr><td>Presentasjon</td> <td>odp:299 </td> <td>pptx:741</td></tr>
20619 <tr><td>Regneark</td> <td>ods:187 </td> <td>xlsx:372</td></tr>
20620 </table>
20621
20622 <p>I wonder how these numbers change over time.</p>
20623
20624 <p>I am aware of Google returning different results and numbers based
20625 on where the search is done, so I guess these numbers will differ if
20626 they are conduced in another country. Because of this, I did the same
20627 search from a machine in California, USA, a few minutes after the
20628 search done from a machine here in Norway.</p>
20629
20630
20631 <table>
20632 <tr><th>Type</th><th>ODF</th><th>MS Office</th></tr>
20633 <tr><td>Tekst</td> <td>odt:129000</td> <td>docx:308000</td></tr>
20634 <tr><td>Presentasjon</td> <td>odp:44200</td> <td>pptx:93900</td></tr>
20635 <tr><td>Regneark</td> <td>ods:26500 </td> <td>xlsx:82400</td></tr>
20636 </table>
20637
20638 <p>And with 'site:no':
20639
20640 <table>
20641 <tr><th>Type</th><th>ODF</th><th>MS Office</th></tr>
20642 <tr><td>Tekst</td> <td>odt:2480</td> <td>docx:3410</td></tr>
20643 <tr><td>Presentasjon</td> <td>odp:175</td> <td>pptx:604</td></tr>
20644 <tr><td>Regneark</td> <td>ods:186 </td> <td>xlsx:296</td></tr>
20645 </table>
20646
20647 <p>Interesting difference, not sure what to conclude from these
20648 numbers.</p>
20649
20650 </div>
20651 <div class="tags">
20652
20653
20654 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>, <a href="http://people.skolelinux.org/pere/blog/tags/web">web</a>.
20655
20656
20657 </div>
20658 </div>
20659 <div class="padding"></div>
20660
20661 <div class="entry">
20662 <div class="title">
20663 <a href="http://people.skolelinux.org/pere/blog/ISO_still_hope_to_fix_OOXML.html">ISO still hope to fix OOXML</a>
20664 </div>
20665 <div class="date">
20666 8th August 2009
20667 </div>
20668 <div class="body">
20669 <p>According to <a
20670 href="http://twerner.blogspot.com/2009/08/defects-of-office-open-xml.html">a
20671 blog post from Torsten Werner</a>, the current defect report for ISO
20672 29500 (ISO OOXML) is 809 pages. His interesting point is that the
20673 defect report is 71 pages more than the full ODF 1.1 specification.
20674 Personally I find it more interesting that ISO still believe ISO OOXML
20675 can be fixed in ISO. Personally, I believe it is broken beyon repair,
20676 and I completely lack any trust in ISO for being able to get anywhere
20677 close to solving the problems. I was part of the Norwegian committee
20678 involved in the OOXML fast track process, and was not impressed with
20679 Standard Norway and ISO in how they handled it.</p>
20680
20681 <p>These days I focus on ODF instead, which seem like a specification
20682 with the future ahead of it. We are working in NUUG to organise a ODF
20683 seminar this autumn.</p>
20684
20685 </div>
20686 <div class="tags">
20687
20688
20689 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
20690
20691
20692 </div>
20693 </div>
20694 <div class="padding"></div>
20695
20696 <div class="entry">
20697 <div class="title">
20698 <a href="http://people.skolelinux.org/pere/blog/Debian_has_switched_to_dependency_based_boot_sequencing.html">Debian has switched to dependency based boot sequencing</a>
20699 </div>
20700 <div class="date">
20701 27th July 2009
20702 </div>
20703 <div class="body">
20704 <p>Since this evening, with the upload of sysvinit version 2.87dsf-2,
20705 and the upload of insserv version 1.12.0-10 yesterday, Debian unstable
20706 have been migrated to using dependency based boot sequencing. This
20707 conclude work me and others have been doing for the last three days.
20708 It feels great to see this finally part of the default Debian
20709 installation. Now we just need to weed out the last few problems that
20710 are bound to show up, to get everything ready for Squeeze.</p>
20711
20712 <p>The next step is migrating /sbin/init from sysvinit to upstart, and
20713 fixing the more fundamental problem of handing the event based
20714 non-predictable kernel in the early boot.</p>
20715
20716 </div>
20717 <div class="tags">
20718
20719
20720 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <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/nuug">nuug</a>.
20721
20722
20723 </div>
20724 </div>
20725 <div class="padding"></div>
20726
20727 <div class="entry">
20728 <div class="title">
20729 <a href="http://people.skolelinux.org/pere/blog/Taking_over_sysvinit_development.html">Taking over sysvinit development</a>
20730 </div>
20731 <div class="date">
20732 22nd July 2009
20733 </div>
20734 <div class="body">
20735 <p>After several years of frustration with the lack of activity from
20736 the existing sysvinit upstream developer, I decided a few weeks ago to
20737 take over the package and become the new upstream. The number of
20738 patches to track for the Debian package was becoming a burden, and the
20739 lack of synchronization between the distribution made it hard to keep
20740 the package up to date.</p>
20741
20742 <p>On the new sysvinit team is the SuSe maintainer Dr. Werner Fink,
20743 and my Debian co-maintainer Kel Modderman. About 10 days ago, I made
20744 a new upstream tarball with version number 2.87dsf (for Debian, SuSe
20745 and Fedora), based on the patches currently in use in these
20746 distributions. We Debian maintainers plan to move to this tarball as
20747 the new upstream as soon as we find time to do the merge. Since the
20748 new tarball was created, we agreed with Werner at SuSe to make a new
20749 upstream project at <a href="http://savannah.nongnu.org/">Savannah</a>, and continue
20750 development there. The project is registered and currently waiting
20751 for approval by the Savannah administrators, and as soon as it is
20752 approved, we will import the old versions from svn and continue
20753 working on the future release.</p>
20754
20755 <p>It is a bit ironic that this is done now, when some of the involved
20756 distributions are moving to upstart as a syvinit replacement.</p>
20757
20758 </div>
20759 <div class="tags">
20760
20761
20762 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <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/nuug">nuug</a>.
20763
20764
20765 </div>
20766 </div>
20767 <div class="padding"></div>
20768
20769 <div class="entry">
20770 <div class="title">
20771 <a href="http://people.skolelinux.org/pere/blog/Debian_boots_quicker_and_quicker.html">Debian boots quicker and quicker</a>
20772 </div>
20773 <div class="date">
20774 24th June 2009
20775 </div>
20776 <div class="body">
20777 <p>I spent Monday and tuesday this week in London with a lot of the
20778 people involved in the boot system on Debian and Ubuntu, to see if we
20779 could find more ways to speed up the boot system. This was an Ubuntu
20780 funded
20781 <a href="https://wiki.ubuntu.com/FoundationsTeam/BootPerformance/DebianUbuntuSprint">developer
20782 gathering</a>. It was quite productive. We also discussed the future
20783 of boot systems, and ways to handle the increasing number of boot
20784 issues introduced by the Linux kernel becoming more and more
20785 asynchronous and event base. The Ubuntu approach using udev and
20786 upstart might be a good way forward. Time will show.</p>
20787
20788 <p>Anyway, there are a few ways at the moment to speed up the boot
20789 process in Debian. All of these should be applied to get a quick
20790 boot:</p>
20791
20792 <ul>
20793
20794 <li>Use dash as /bin/sh.</li>
20795
20796 <li>Disable the init.d/hwclock*.sh scripts and make sure the hardware
20797 clock is in UTC.</li>
20798
20799 <li>Install and activate the insserv package to enable
20800 <a href="http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot">dependency
20801 based boot sequencing</a>, and enable concurrent booting.</li>
20802
20803 </ul>
20804
20805 These points are based on the Google summer of code work done by
20806 <a href="http://initscripts-ng.alioth.debian.org/soc2006-bootsystem/">Carlos
20807 Villegas</a>.
20808
20809 <p>Support for makefile-style concurrency during boot was uploaded to
20810 unstable yesterday. When we tested it, we were able to cut 6 seconds
20811 from the boot sequence. It depend on very correct dependency
20812 declaration in all init.d scripts, so I expect us to find edge cases
20813 where the dependences in some scripts are slightly wrong when we start
20814 using this.</p>
20815
20816 <p>On our IRC channel for this effort, #pkg-sysvinit, a new idea was
20817 introduced by Raphael Geissert today, one that could affect the
20818 startup speed as well. Instead of starting some scripts concurrently
20819 from rcS.d/ and another set of scripts from rc2.d/, it would be
20820 possible to run a of them in the same process. A quick way to test
20821 this would be to enable insserv and run 'mv /etc/rc2.d/S* /etc/rcS.d/;
20822 insserv'. Will need to test if that work. :)</p>
20823
20824 </div>
20825 <div class="tags">
20826
20827
20828 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
20829
20830
20831 </div>
20832 </div>
20833 <div class="padding"></div>
20834
20835 <div class="entry">
20836 <div class="title">
20837 <a href="http://people.skolelinux.org/pere/blog/Two_projects_that_have_improved_the_quality_of_free_software_a_lot.html">Two projects that have improved the quality of free software a lot</a>
20838 </div>
20839 <div class="date">
20840 2nd May 2009
20841 </div>
20842 <div class="body">
20843 <p>There are two software projects that have had huge influence on the
20844 quality of free software, and I wanted to mention both in case someone
20845 do not yet know them.</p>
20846
20847 <p>The first one is <a href="http://valgrind.org/">valgrind</a>, a
20848 tool to detect and expose errors in the memory handling of programs.
20849 It is easy to use, all one need to do is to run 'valgrind program',
20850 and it will report any problems on stdout. It is even better if the
20851 program include debug information. With debug information, it is able
20852 to report the source file name and line number where the problem
20853 occurs. It can report things like 'reading past memory block in file
20854 X line N, the memory block was allocated in file Y, line M', and
20855 'using uninitialised value in control logic'. This tool has made it
20856 trivial to investigate reproducible crash bugs in programs, and have
20857 reduced the number of this kind of bugs in free software a lot.
20858
20859 <p>The second one is
20860 <a href="http://en.wikipedia.org/wiki/Coverity">Coverity</a> which is
20861 a source code checker. It is able to process the source of a program
20862 and find problems in the logic without running the program. It
20863 started out as the Stanford Checker and became well known when it was
20864 used to find bugs in the Linux kernel. It is now a commercial tool
20865 and the company behind it is running
20866 <a href="http://www.scan.coverity.com/">a community service</a> for the
20867 free software community, where a lot of free software projects get
20868 their source checked for free. Several thousand defects have been
20869 found and fixed so far. It can find errors like 'lock L taken in file
20870 X line N is never released if exiting in line M', or 'the code in file
20871 Y lines O to P can never be executed'. The projects included in the
20872 community service project have managed to get rid of a lot of
20873 reliability problems thanks to Coverity.</p>
20874
20875 <p>I believe tools like this, that are able to automatically find
20876 errors in the source, are vital to improve the quality of software and
20877 make sure we can get rid of the crashing and failing software we are
20878 surrounded by today.</p>
20879
20880 </div>
20881 <div class="tags">
20882
20883
20884 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>.
20885
20886
20887 </div>
20888 </div>
20889 <div class="padding"></div>
20890
20891 <div class="entry">
20892 <div class="title">
20893 <a href="http://people.skolelinux.org/pere/blog/No_patch_is_not_better_than_a_useless_patch.html">No patch is not better than a useless patch</a>
20894 </div>
20895 <div class="date">
20896 28th April 2009
20897 </div>
20898 <div class="body">
20899 <p>Julien Blache
20900 <a href="http://blog.technologeek.org/2009/04/12/214">claim that no
20901 patch is better than a useless patch</a>. I completely disagree, as a
20902 patch allow one to discuss a concrete and proposed solution, and also
20903 prove that the issue at hand is important enough for someone to spent
20904 time on fixing it. No patch do not provide any of these positive
20905 properties.</p>
20906
20907 </div>
20908 <div class="tags">
20909
20910
20911 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/nuug">nuug</a>.
20912
20913
20914 </div>
20915 </div>
20916 <div class="padding"></div>
20917
20918 <div class="entry">
20919 <div class="title">
20920 <a href="http://people.skolelinux.org/pere/blog/Recording_video_from_cron_using_VLC.html">Recording video from cron using VLC</a>
20921 </div>
20922 <div class="date">
20923 5th April 2009
20924 </div>
20925 <div class="body">
20926 <p>One think I have wanted to figure out for a along time is how to
20927 run vlc from cron to do recording of video streams on the net. The
20928 task is trivial with mplayer, but I do not really trust the security
20929 of mplayer (it crashes too often on strange input), and thus prefer
20930 vlc. I finally found a way to do it today. I spent an hour or so
20931 searching the web for recipes and reading the documentation. The
20932 hardest part was to get rid of the GUI window, but after finding the
20933 dummy interface, the command line finally presented itself:</p>
20934
20935 <blockquote><pre>URL=http://www.ping.uio.no/video/rms-oslo_2009.ogg
20936 SAVEFILE=rms.ogg
20937 DISPLAY= vlc -q $URL \
20938 --sout="#duplicate{dst=std{access=file,url='$SAVEFILE'},dst=nodisplay}" \
20939 --intf=dummy</pre></blockquote>
20940
20941 <p>The command stream the URL and store it in the SAVEFILE by
20942 duplicating the output stream to "nodisplay" and the file, using the
20943 dummy interface. The dummy interface and the nodisplay output make
20944 sure no X interface is needed.</p>
20945
20946 <p>The cron job then need to start this job with the appropriate URL
20947 and file name to save, sleep for the duration wanted, and then kill
20948 the vlc process with SIGTERM. Here is a complete script
20949 <tt>vlc-record</tt> to use from <tt>at</tt> or <tt>cron</tt>:</p>
20950
20951 <blockquote><pre>#!/bin/sh
20952 set -e
20953 URL="$1"
20954 SAVEFILE="$2"
20955 DURATION="$3"
20956 DISPLAY= vlc -q "$URL" \
20957 --sout="#duplicate{dst=std{access=file,url='$SAVEFILE'},dst=nodisplay}" \
20958 --intf=dummy < /dev/null > /dev/null 2>&1 &
20959 pid=$!
20960 sleep $DURATION
20961 kill $pid
20962 wait $pid</pre></blockquote>
20963
20964 </div>
20965 <div class="tags">
20966
20967
20968 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
20969
20970
20971 </div>
20972 </div>
20973 <div class="padding"></div>
20974
20975 <div class="entry">
20976 <div class="title">
20977 <a href="http://people.skolelinux.org/pere/blog/Standardize_on_protocols_and_formats__not_vendors_and_applications.html">Standardize on protocols and formats, not vendors and applications</a>
20978 </div>
20979 <div class="date">
20980 30th March 2009
20981 </div>
20982 <div class="body">
20983 <p>Where I work at the University of Oslo, one decision stand out as a
20984 very good one to form a long lived computer infrastructure. It is the
20985 simple one, lost by many in todays computer industry: Standardize on
20986 open network protocols and open exchange/storage formats, not applications.
20987 Applications come and go, while protocols and files tend to stay, and
20988 thus one want to make it easy to change application and vendor, while
20989 avoiding conversion costs and locking users to a specific platform or
20990 application.</p>
20991
20992 <p>This approach make it possible to replace the client applications
20993 independently of the server applications. One can even allow users to
20994 use several different applications as long as they handle the selected
20995 protocol and format. In the normal case, only one client application
20996 is recommended and users only get help if they choose to use this
20997 application, but those that want to deviate from the easy path are not
20998 blocked from doing so.</p>
20999
21000 <p>It also allow us to replace the server side without forcing the
21001 users to replace their applications, and thus allow us to select the
21002 best server implementation at any moment, when scale and resouce
21003 requirements change.</p>
21004
21005 <p>I strongly recommend standardizing - on open network protocols and
21006 open formats, but I would never recommend standardizing on a single
21007 application that do not use open network protocol or open formats.</p>
21008
21009 </div>
21010 <div class="tags">
21011
21012
21013 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/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
21014
21015
21016 </div>
21017 </div>
21018 <div class="padding"></div>
21019
21020 <div class="entry">
21021 <div class="title">
21022 <a href="http://people.skolelinux.org/pere/blog/Returning_from_Skolelinux_developer_gathering.html">Returning from Skolelinux developer gathering</a>
21023 </div>
21024 <div class="date">
21025 29th March 2009
21026 </div>
21027 <div class="body">
21028 <p>I'm sitting on the train going home from this weekends Debian
21029 Edu/Skolelinux development gathering. I got a bit done tuning the
21030 desktop, and looked into the dynamic service location protocol
21031 implementation avahi. It look like it could be useful for us. Almost
21032 30 people participated, and I believe it was a great environment to
21033 get to know the Skolelinux system. Walter Bender, involved in the
21034 development of the Sugar educational platform, presented his stuff and
21035 also helped me improve my OLPC installation. He also showed me that
21036 his Turtle Art application can be used in standalone mode, and we
21037 agreed that I would help getting it packaged for Debian. As a
21038 standalone application it would be great for Debian Edu. We also
21039 tried to get the video conferencing working with two OLPCs, but that
21040 proved to be too hard for us. The application seem to need more work
21041 before it is ready for me. I look forward to getting home and relax
21042 now. :)</p>
21043
21044 </div>
21045 <div class="tags">
21046
21047
21048 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
21049
21050
21051 </div>
21052 </div>
21053 <div class="padding"></div>
21054
21055 <div class="entry">
21056 <div class="title">
21057 <a href="http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html">Time for new LDAP schemas replacing RFC 2307?</a>
21058 </div>
21059 <div class="date">
21060 29th March 2009
21061 </div>
21062 <div class="body">
21063 <p>The state of standardized LDAP schemas on Linux is far from
21064 optimal. There is RFC 2307 documenting one way to store NIS maps in
21065 LDAP, and a modified version of this normally called RFC 2307bis, with
21066 some modifications to be compatible with Active Directory. The RFC
21067 specification handle the content of a lot of system databases, but do
21068 not handle DNS zones and DHCP configuration.</p>
21069
21070 <p>In <a href="http://www.skolelinux.org/">Debian Edu/Skolelinux</a>,
21071 we would like to store information about users, SMB clients/hosts,
21072 filegroups, netgroups (users and hosts), DHCP and DNS configuration,
21073 and LTSP configuration in LDAP. These objects have a lot in common,
21074 but with the current LDAP schemas it is not possible to have one
21075 object per entity. For example, one need to have at least three LDAP
21076 objects for a given computer, one with the SMB related stuff, one with
21077 DNS information and another with DHCP information. The schemas
21078 provided for DNS and DHCP are impossible to combine into one LDAP
21079 object. In addition, it is impossible to implement quick queries for
21080 netgroup membership, because of the way NIS triples are implemented.
21081 It just do not scale. I believe it is time for a few RFC
21082 specifications to cleam up this mess.</p>
21083
21084 <p>I would like to have one LDAP object representing each computer in
21085 the network, and this object can then keep the SMB (ie host key), DHCP
21086 (mac address/name) and DNS (name/IP address) settings in one place.
21087 It need to be efficently stored to make sure it scale well.</p>
21088
21089 <p>I would also like to have a quick way to map from a user or
21090 computer and to the net group this user or computer is a member.</p>
21091
21092 <p>Active Directory have done a better job than unix heads like myself
21093 in this regard, and the unix side need to catch up. Time to start a
21094 new IETF work group?</p>
21095
21096 </div>
21097 <div class="tags">
21098
21099
21100 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
21101
21102
21103 </div>
21104 </div>
21105 <div class="padding"></div>
21106
21107 <div class="entry">
21108 <div class="title">
21109 <a href="http://people.skolelinux.org/pere/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html">Checking server hardware support status for Dell, HP and IBM servers</a>
21110 </div>
21111 <div class="date">
21112 28th February 2009
21113 </div>
21114 <div class="body">
21115 <p>At work, we have a few hundred Linux servers, and with that amount
21116 of hardware it is important to keep track of when the hardware support
21117 contract expire for each server. We have a machine (and service)
21118 register, which until recently did not contain much useful besides the
21119 machine room location and contact information for the system owner for
21120 each machine. To make it easier for us to track support contract
21121 status, I've recently spent time on extending the machine register to
21122 include information about when the support contract expire, and to tag
21123 machines with expired contracts to make it easy to get a list of such
21124 machines. I extended a perl script already being used to import
21125 information about machines into the register, to also do some screen
21126 scraping off the sites of Dell, HP and IBM (our majority of machines
21127 are from these vendors), and automatically check the support status
21128 for the relevant machines. This make the support status information
21129 easily available and I hope it will make it easier for the computer
21130 owner to know when to get new hardware or renew the support contract.
21131 The result of this work documented that 27% of the machines in the
21132 registry is without a support contract, and made it very easy to find
21133 them. 27% might seem like a lot, but I see it more as the case of us
21134 using machines a bit longer than the 3 years a normal support contract
21135 last, to have test machines and a platform for less important
21136 services. After all, the machines without a contract are working fine
21137 at the moment and the lack of contract is only a problem if any of
21138 them break down. When that happen, we can either fix it using spare
21139 parts from other machines or move the service to another old
21140 machine.</p>
21141
21142 <p>I believe the code for screen scraping the Dell site was originally
21143 written by Trond Hasle Amundsen, and later adjusted by me and Morten
21144 Werner Forsbring. The HP scraping was written by me after reading a
21145 nice article in ;login: about how to use WWW::Mechanize, and the IBM
21146 scraping was written by me based on the Dell code. I know the HTML
21147 parsing could be done using nice libraries, but did not want to
21148 introduce more dependencies. This is the current incarnation:</p>
21149
21150 <pre>
21151 use LWP::Simple;
21152 use POSIX;
21153 use WWW::Mechanize;
21154 use Date::Parse;
21155 [...]
21156 sub get_support_info {
21157 my ($machine, $model, $serial, $productnumber) = @_;
21158 my $str;
21159
21160 if ( $model =~ m/^Dell / ) {
21161 # fetch website from Dell support
21162 my $url = "http://support.euro.dell.com/support/topics/topic.aspx/emea/shared/support/my_systems_info/no/details?c=no&amp;cs=nodhs1&amp;l=no&amp;s=dhs&amp;ServiceTag=$serial";
21163 my $webpage = get($url);
21164 return undef unless ($webpage);
21165
21166 my $daysleft = -1;
21167 my @lines = split(/\n/, $webpage);
21168 foreach my $line (@lines) {
21169 next unless ($line =~ m/Beskrivelse/);
21170 $line =~ s/&lt;[^>]+?>/;/gm;
21171 $line =~ s/^.+?;(Beskrivelse;)/$1/;
21172
21173 my @f = split(/\;/, $line);
21174 @f = @f[13 .. $#f];
21175 my $lastend = "";
21176 while ($f[3] eq "DELL") {
21177 my ($type, $startstr, $endstr, $days) = @f[0, 5, 7, 10];
21178
21179 my $start = POSIX::strftime("%Y-%m-%d",
21180 localtime(str2time($startstr)));
21181 my $end = POSIX::strftime("%Y-%m-%d",
21182 localtime(str2time($endstr)));
21183 $str .= "$type $start -> $end ";
21184 @f = @f[14 .. $#f];
21185 $lastend = $end if ($end gt $lastend);
21186 }
21187 my $today = POSIX::strftime("%Y-%m-%d", localtime(time));
21188 tag_machine_unsupported($machine)
21189 if ($lastend lt $today);
21190 }
21191 } elsif ( $model =~ m/^HP / ) {
21192 my $mech = WWW::Mechanize->new();
21193 my $url =
21194 'http://www1.itrc.hp.com/service/ewarranty/warrantyInput.do';
21195 $mech->get($url);
21196 my $fields = {
21197 'BODServiceID' => 'NA',
21198 'RegisteredPurchaseDate' => '',
21199 'country' => 'NO',
21200 'productNumber' => $productnumber,
21201 'serialNumber1' => $serial,
21202 };
21203 $mech->submit_form( form_number => 2,
21204 fields => $fields );
21205 # Next step is screen scraping
21206 my $content = $mech->content();
21207
21208 $content =~ s/&lt;[^>]+?>/;/gm;
21209 $content =~ s/\s+/ /gm;
21210 $content =~ s/;\s*;/;;/gm;
21211 $content =~ s/;[\s;]+/;/gm;
21212
21213 my $today = POSIX::strftime("%Y-%m-%d", localtime(time));
21214
21215 while ($content =~ m/;Warranty Type;/) {
21216 my ($type, $status, $startstr, $stopstr) = $content =~
21217 m/;Warranty Type;([^;]+);.+?;Status;(\w+);Start Date;([^;]+);End Date;([^;]+);/;
21218 $content =~ s/^.+?;Warranty Type;//;
21219 my $start = POSIX::strftime("%Y-%m-%d",
21220 localtime(str2time($startstr)));
21221 my $end = POSIX::strftime("%Y-%m-%d",
21222 localtime(str2time($stopstr)));
21223
21224 $str .= "$type ($status) $start -> $end ";
21225
21226 tag_machine_unsupported($machine)
21227 if ($end lt $today);
21228 }
21229 } elsif ( $model =~ m/^IBM / ) {
21230 # This code ignore extended support contracts.
21231 my ($producttype) = $model =~ m/.*-\[(.{4}).+\]-/;
21232 if ($producttype &amp;&amp; $serial) {
21233 my $content =
21234 get("http://www-947.ibm.com/systems/support/supportsite.wss/warranty?action=warranty&amp;brandind=5000008&amp;Submit=Submit&amp;type=$producttype&amp;serial=$serial");
21235 if ($content) {
21236 $content =~ s/&lt;[^>]+?>/;/gm;
21237 $content =~ s/\s+/ /gm;
21238 $content =~ s/;\s*;/;;/gm;
21239 $content =~ s/;[\s;]+/;/gm;
21240
21241 $content =~ s/^.+?;Warranty status;//;
21242 my ($status, $end) = $content =~ m/;Warranty status;([^;]+)\s*;Expiration date;(\S+) ;/;
21243
21244 $str .= "($status) -> $end ";
21245
21246 my $today = POSIX::strftime("%Y-%m-%d", localtime(time));
21247 tag_machine_unsupported($machine)
21248 if ($end lt $today);
21249 }
21250 }
21251 }
21252 return $str;
21253 }
21254 </pre>
21255
21256 <p>Here are some examples on how to use the function, using fake
21257 serial numbers. The information passed in as arguments are fetched
21258 from dmidecode.</p>
21259
21260 <pre>
21261 print get_support_info("hp.host", "HP ProLiant BL460c G1", "1234567890"
21262 "447707-B21");
21263 print get_support_info("dell.host", "Dell Inc. PowerEdge 2950", "1234567");
21264 print get_support_info("ibm.host", "IBM eserver xSeries 345 -[867061X]-",
21265 "1234567");
21266 </pre>
21267
21268 <p>I would recommend this approach for tracking support contracts for
21269 everyone with more than a few computers to administer. :)</p>
21270
21271 <p>Update 2009-03-06: The IBM page do not include extended support
21272 contracts, so it is useless in that case. The original Dell code do
21273 not handle extended support contracts either, but has been updated to
21274 do so.</p>
21275
21276 </div>
21277 <div class="tags">
21278
21279
21280 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
21281
21282
21283 </div>
21284 </div>
21285 <div class="padding"></div>
21286
21287 <div class="entry">
21288 <div class="title">
21289 <a href="http://people.skolelinux.org/pere/blog/Using_bar_codes_at_a_computing_center.html">Using bar codes at a computing center</a>
21290 </div>
21291 <div class="date">
21292 20th February 2009
21293 </div>
21294 <div class="body">
21295 <p>At work with the University of Oslo, we have several hundred computers
21296 in our computing center. This give us a challenge in tracking the
21297 location and cabling of the computers, when they are added, moved and
21298 removed. Some times the location register is not updated when a
21299 computer is inserted or moved and we then have to search the room for
21300 the "missing" computer.</p>
21301
21302 <p>In the last issue of Linux Journal, I came across a project
21303 <a href="http://www.libdmtx.org/">libdmtx</a> to write and read bar
21304 code blocks as defined in the
21305 <a href="http://en.wikipedia.org/wiki/Data_Matrix">The Data Matrix
21306 Standard</a>. This is bar codes that can be read with a normal
21307 digital camera, for example that on a cell phone, and several such bar
21308 codes can be read by libdmtx from one picture. The bar code standard
21309 allow up to 2 KiB to be written in the tag. There is another project
21310 with <a href="http://www.terryburton.co.uk/barcodewriter/">a bar code
21311 writer written in postscript</a> capable of creating such bar codes,
21312 but this was the first time I found a tool to read these bar
21313 codes.</p>
21314
21315 <p>It occurred to me that this could be used to tag and track the
21316 machines in our computing center. If both racks and computers are
21317 tagged this way, we can use a picture of the rack and all its
21318 computers to detect the rack location of any computer in that rack.
21319 If we do this regularly for the entire room, we will find all
21320 locations, and can detect movements and removals.</p>
21321
21322 <p>I decided to test if this would work in practice, and picked a
21323 random rack and tagged all the machines with their names. Next, I
21324 took pictures with my digital camera, and gave the dmtxread program
21325 these JPEG pictures to see how many tags it could read. This worked
21326 fairly well. If the pictures was well focused and not taken from the
21327 side, all tags in the image could be read. Because of limited space
21328 between the racks, I was unable to get a good picture of the entire
21329 rack, but could without problem read all tags from a picture covering
21330 about half the rack. I had to limit the search time used by dmtxread
21331 to 60000 ms to make sure it terminated in a reasonable time frame.</p>
21332
21333 <p>My conclusion is that this could work, and we should probably look
21334 at adjusting our computer tagging procedures to use bar codes for
21335 easier automatic tracking of computers.</p>
21336
21337 </div>
21338 <div class="tags">
21339
21340
21341 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
21342
21343
21344 </div>
21345 </div>
21346 <div class="padding"></div>
21347
21348 <div class="entry">
21349 <div class="title">
21350 <a href="http://people.skolelinux.org/pere/blog/When_web_browser_developers_make_a_video_player___.html">When web browser developers make a video player...</a>
21351 </div>
21352 <div class="date">
21353 17th January 2009
21354 </div>
21355 <div class="body">
21356 <p>As part of the work we do in <a href="http://www.nuug.no">NUUG</a>
21357 to publish video recordings of our monthly presentations, we provide a
21358 page with embedded video for easy access to the recording. Putting a
21359 good set of HTML tags together to get working embedded video in all
21360 browsers and across all operating systems is not easy. I hope this
21361 will become easier when the &lt;video&gt; tag is implemented in all
21362 browsers, but I am not sure. We provide the recordings in several
21363 formats, MPEG1, Ogg Theora, H.264 and Quicktime, and want the
21364 browser/media plugin to pick one it support and use it to play the
21365 recording, using whatever embed mechanism the browser understand.
21366 There is at least four different tags to use for this, the new HTML5
21367 &lt;video&gt; tag, the &lt;object&gt; tag, the &lt;embed&gt; tag and
21368 the &lt;applet&gt; tag. All of these take a lot of options, and
21369 finding the best options is a major challenge.</p>
21370
21371 <p>I just tested the experimental Opera browser available from <a
21372 href="http://labs.opera.com">labs.opera.com</a>, to see how it handled
21373 a &lt;video&gt; tag with a few video sources and no extra attributes.
21374 I was not very impressed. The browser start by fetching a picture
21375 from the video stream. Not sure if it is the first frame, but it is
21376 definitely very early in the recording. So far, so good. Next,
21377 instead of streaming the 76 MiB video file, it start to download all
21378 of it, but do not start to play the video. This mean I have to wait
21379 for several minutes for the downloading to finish. When the download
21380 is done, the playing of the video do not start! Waiting for the
21381 download, but I do not get to see the video? Some testing later, I
21382 discover that I have to add the controls="true" attribute to be able
21383 to get a play button to pres to start the video. Adding
21384 autoplay="true" did not help. I sure hope this is a misfeature of the
21385 test version of Opera, and that future implementations of the
21386 &lt;video&gt; tag will stream recordings by default, or at least start
21387 playing when the download is done.</p>
21388
21389 <p>The test page I used (since changed to add more attributes) is
21390 <a href="http://www.nuug.no/aktiviteter/20090113-foredrag-om-foredrag/">available
21391 from the nuug site</a>. Will have to test it with the new Firefox
21392 too.</p>
21393
21394 <p>In the test process, I discovered a missing feature. I was unable
21395 to find a way to get the URL of the playing video out of Opera, so I
21396 am not quite sure it picked the Ogg Theora version of the video. I
21397 sure hope it was using the announced Ogg Theora support. :)</p>
21398
21399 </div>
21400 <div class="tags">
21401
21402
21403 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/nuug">nuug</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>.
21404
21405
21406 </div>
21407 </div>
21408 <div class="padding"></div>
21409
21410 <div class="entry">
21411 <div class="title">
21412 <a href="http://people.skolelinux.org/pere/blog/Software_video_mixer_on_a_USB_stick.html">Software video mixer on a USB stick</a>
21413 </div>
21414 <div class="date">
21415 28th December 2008
21416 </div>
21417 <div class="body">
21418 <p>The <a href="http://www.nuug.no/">Norwegian Unix User Group</a> is
21419 recording our montly presentation on video, and recently we have
21420 worked on improving the quality of the recordings by mixing the slides
21421 directly with the video stream. For this, we use the
21422 <a href="http://dvswitch.alioth.debian.org/">dvswitch</a> package from
21423 the Debian video team. As this require quite one computer per video
21424 source, and NUUG do not have enough laptops available, we need to
21425 borrow laptops. And to avoid having to install extra software on
21426 these borrwed laptops, I have wrapped up all the programs needed on a
21427 bootable USB stick. The software required is dvswitch with assosiated
21428 source, sink and mixer applications and
21429 <a href="http://www.kinodv.org/">dvgrab</a>. To allow this setup to
21430 work without any configuration, I've patched dvswitch to use
21431 <a href="http://www.avahi.org/">avahi</a> to connect the various parts
21432 together. And to allow us to use laptops without firewire plugs, I
21433 upgraded dvgrab to the one from Debian/unstable to get one that work
21434 with USB sources. We have not yet tested this setup in a production
21435 setup, but I hope it will work properly, and allow us to set up a
21436 video mixer in a very short time frame. We will need it for
21437 <a href="http://www.goopen.no/">Go Open 2009</a>.</p>
21438
21439 <p><a href="http://www.nuug.no/pub/video/bin/usbstick-dvswitch.img.gz">The
21440 USB image</a> is for a 1 GB memory stick, but can be used on any
21441 larger stick as well.</p>
21442
21443 </div>
21444 <div class="tags">
21445
21446
21447 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
21448
21449
21450 </div>
21451 </div>
21452 <div class="padding"></div>
21453
21454 <div class="entry">
21455 <div class="title">
21456 <a href="http://people.skolelinux.org/pere/blog/Devcamp_brought_us_closer_to_the_Lenny_based_Debian_Edu_release.html">Devcamp brought us closer to the Lenny based Debian Edu release</a>
21457 </div>
21458 <div class="date">
21459 7th December 2008
21460 </div>
21461 <div class="body">
21462 <p>This weekend we had a small developer gathering for Debian Edu in
21463 Oslo. Most of Saturday was used for the general assemly for the
21464 member organization, but the rest of the weekend I used to tune the
21465 LTSP installation. LTSP now work out of the box on the 10-network.
21466 Acer Aspire One proved to be a very nice thin client, with both
21467 screen, mouse and keybard in a small box. Was working on getting the
21468 diskless workstation setup configured out of the box, but did not
21469 finish it before the weekend was up.</p>
21470
21471 <p>Did not find time to look at the 4 VGA cards in one box we got from
21472 the Brazilian group, so that will have to wait for the next
21473 development gathering. Would love to have the Debian Edu installer
21474 automatically detect and configure a multiseat setup when it find one
21475 of these cards.</p>
21476
21477 </div>
21478 <div class="tags">
21479
21480
21481 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp</a>.
21482
21483
21484 </div>
21485 </div>
21486 <div class="padding"></div>
21487
21488 <div class="entry">
21489 <div class="title">
21490 <a href="http://people.skolelinux.org/pere/blog/The_sorry_state_of_multimedia_browser_plugins_in_Debian.html">The sorry state of multimedia browser plugins in Debian</a>
21491 </div>
21492 <div class="date">
21493 25th November 2008
21494 </div>
21495 <div class="body">
21496 <p>Recently I have spent some time evaluating the multimedia browser
21497 plugins available in Debian Lenny, to see which one we should use by
21498 default in Debian Edu. We need an embedded video playing plugin with
21499 control buttons to pause or stop the video, and capable of streaming
21500 all the multimedia content available on the web. The test results and
21501 notes are available on
21502 <a href="http://wiki.debian.org/DebianEdu/BrowserMultimedia">the
21503 Debian wiki</a>. I was surprised how few of the plugins are able to
21504 fill this need. My personal video player favorite, VLC, has a really
21505 bad plugin which fail on a lot of the test pages. A lot of the MIME
21506 types I would expect to work with any free software player (like
21507 video/ogg), just do not work. And simple formats like the
21508 audio/x-mplegurl format (m3u playlists), just isn't supported by the
21509 totem and vlc plugins. I hope the situation will improve soon. No
21510 wonder sites use the proprietary Adobe flash to play video.</p>
21511
21512 <p>For Lenny, we seem to end up with the mplayer plugin. It seem to
21513 be the only one fitting our needs. :/</p>
21514
21515 </div>
21516 <div class="tags">
21517
21518
21519 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>, <a href="http://people.skolelinux.org/pere/blog/tags/web">web</a>.
21520
21521
21522 </div>
21523 </div>
21524 <div class="padding"></div>
21525
21526 <p style="text-align: right;"><a href="english.rss"><img src="http://people.skolelinux.org/pere/blog/xml.gif" alt="RSS Feed" width="36" height="14" /></a></p>
21527 <div id="sidebar">
21528
21529
21530
21531 <h2>Archive</h2>
21532 <ul>
21533
21534 <li>2014
21535 <ul>
21536
21537 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/01/">January (2)</a></li>
21538
21539 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/02/">February (3)</a></li>
21540
21541 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/03/">March (8)</a></li>
21542
21543 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/04/">April (7)</a></li>
21544
21545 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/05/">May (1)</a></li>
21546
21547 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/06/">June (2)</a></li>
21548
21549 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/07/">July (2)</a></li>
21550
21551 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/08/">August (2)</a></li>
21552
21553 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/09/">September (5)</a></li>
21554
21555 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/10/">October (6)</a></li>
21556
21557 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/11/">November (3)</a></li>
21558
21559 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/12/">December (2)</a></li>
21560
21561 </ul></li>
21562
21563 <li>2013
21564 <ul>
21565
21566 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/01/">January (11)</a></li>
21567
21568 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/02/">February (9)</a></li>
21569
21570 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/03/">March (9)</a></li>
21571
21572 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/04/">April (6)</a></li>
21573
21574 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/05/">May (9)</a></li>
21575
21576 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/06/">June (10)</a></li>
21577
21578 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/07/">July (7)</a></li>
21579
21580 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/08/">August (3)</a></li>
21581
21582 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/09/">September (5)</a></li>
21583
21584 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/10/">October (7)</a></li>
21585
21586 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/11/">November (9)</a></li>
21587
21588 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/12/">December (3)</a></li>
21589
21590 </ul></li>
21591
21592 <li>2012
21593 <ul>
21594
21595 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
21596
21597 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
21598
21599 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
21600
21601 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
21602
21603 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
21604
21605 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
21606
21607 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
21608
21609 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
21610
21611 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
21612
21613 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
21614
21615 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
21616
21617 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/12/">December (7)</a></li>
21618
21619 </ul></li>
21620
21621 <li>2011
21622 <ul>
21623
21624 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
21625
21626 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
21627
21628 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
21629
21630 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
21631
21632 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
21633
21634 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
21635
21636 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
21637
21638 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
21639
21640 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
21641
21642 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
21643
21644 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
21645
21646 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
21647
21648 </ul></li>
21649
21650 <li>2010
21651 <ul>
21652
21653 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
21654
21655 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
21656
21657 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
21658
21659 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
21660
21661 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
21662
21663 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
21664
21665 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
21666
21667 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
21668
21669 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
21670
21671 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
21672
21673 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
21674
21675 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
21676
21677 </ul></li>
21678
21679 <li>2009
21680 <ul>
21681
21682 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
21683
21684 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
21685
21686 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
21687
21688 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
21689
21690 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
21691
21692 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
21693
21694 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
21695
21696 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
21697
21698 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
21699
21700 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
21701
21702 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
21703
21704 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
21705
21706 </ul></li>
21707
21708 <li>2008
21709 <ul>
21710
21711 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
21712
21713 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
21714
21715 </ul></li>
21716
21717 </ul>
21718
21719
21720
21721 <h2>Tags</h2>
21722 <ul>
21723
21724 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (13)</a></li>
21725
21726 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
21727
21728 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
21729
21730 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
21731
21732 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (8)</a></li>
21733
21734 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (15)</a></li>
21735
21736 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
21737
21738 <li><a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
21739
21740 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (109)</a></li>
21741
21742 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (151)</a></li>
21743
21744 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (10)</a></li>
21745
21746 <li><a href="http://people.skolelinux.org/pere/blog/tags/dld">dld (15)</a></li>
21747
21748 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (12)</a></li>
21749
21750 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
21751
21752 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (263)</a></li>
21753
21754 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (21)</a></li>
21755
21756 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (12)</a></li>
21757
21758 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (14)</a></li>
21759
21760 <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (9)</a></li>
21761
21762 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (11)</a></li>
21763
21764 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (41)</a></li>
21765
21766 <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (10)</a></li>
21767
21768 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (19)</a></li>
21769
21770 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (9)</a></li>
21771
21772 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (8)</a></li>
21773
21774 <li><a href="http://people.skolelinux.org/pere/blog/tags/lsdvd">lsdvd (2)</a></li>
21775
21776 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
21777
21778 <li><a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (8)</a></li>
21779
21780 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (32)</a></li>
21781
21782 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (251)</a></li>
21783
21784 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (164)</a></li>
21785
21786 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (11)</a></li>
21787
21788 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
21789
21790 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (50)</a></li>
21791
21792 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (76)</a></li>
21793
21794 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (1)</a></li>
21795
21796 <li><a href="http://people.skolelinux.org/pere/blog/tags/reactos">reactos (1)</a></li>
21797
21798 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
21799
21800 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (3)</a></li>
21801
21802 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (9)</a></li>
21803
21804 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
21805
21806 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter (4)</a></li>
21807
21808 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
21809
21810 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (41)</a></li>
21811
21812 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
21813
21814 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (4)</a></li>
21815
21816 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (46)</a></li>
21817
21818 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (3)</a></li>
21819
21820 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (9)</a></li>
21821
21822 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (27)</a></li>
21823
21824 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (2)</a></li>
21825
21826 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (8)</a></li>
21827
21828 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (46)</a></li>
21829
21830 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
21831
21832 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (34)</a></li>
21833
21834 </ul>
21835
21836
21837 </div>
21838 <p style="text-align: right">
21839 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
21840 </p>
21841
21842 </body>
21843 </html>