]> pere.pagekite.me Git - homepage.git/blob - blog/tags/english/index.html
fb36ac7936cc2ff2b6e6d25d97a353f608e9ab07
[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/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>
26 </div>
27 <div class="date">
28 8th October 2013
29 </div>
30 <div class="body">
31 <p>The other day I was pleased and surprised to discover that Marcelo
32 Salvador had published a
33 <ahref="https://www.youtube.com/watch?v=w-GgpdqgLFc">video on
34 Youtube</a> showing how to install the standalone Debian Edu /
35 Skolelinux profile. This is the profile intended for use at home or
36 on laptops that should not be integrated into the provided network
37 services (no central home directory, no Kerberos / LDAP directory etc,
38 in other word a single user machine). The result is 11 minutes long,
39 and show some user applications (seem to be rather randomly picked).
40 Missed a few of my favorites like celestia, planets and chromium
41 showing the <ahref="http://www.zygotebody.com/no_webgl.html">Zygote
42 Body 3D model of the human body</a>, but I guess he did not know about
43 those or find other programs more interesting. :) And the video do not
44 show the advantages I believe is one of the most valuable featuers in
45 Debian Edu, its central school server making it possible to run
46 hundreds of computers without hard drives by installing one central
47 LTSP server.</p>
48
49 <p>Anyway, check out the video, embedded below and linked to above:</p>
50
51 <iframe width="420" height="315" src="http://www.youtube.com/embed/w-GgpdqgLFc" frameborder="0" allowfullscreen></iframe>
52
53 <p>Are there other nice videos demonstrating Skolelinux? Please let
54 me know. :)</p>
55
56 </div>
57 <div class="tags">
58
59
60 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>.
61
62
63 </div>
64 </div>
65 <div class="padding"></div>
66
67 <div class="entry">
68 <div class="title">
69 <a href="http://people.skolelinux.org/pere/blog/Finally__Debian_Edu_Wheezy_is_released_today_.html">Finally, Debian Edu Wheezy is released today!</a>
70 </div>
71 <div class="date">
72 29th September 2013
73 </div>
74 <div class="body">
75 <p>A few hours ago, the announcement for the first stable release of
76 Debian Edu Wheezy went out from the Debian publicity team. The
77 complete announcement text can be found at
78 <a href="http://www.debian.org/News/2013/20130928">the Debian News
79 section</a>, translated to several languages. Please check it out.</p>
80
81 <p>There is one minor known problem that we will fix very soon. One
82 can not install a amd64 Thin Client Server using PXE, as the /var/
83 partition is too small. A workaround is to extend the partition (use
84 lvresize + resize2fs in tty 2 while installing).</p>
85
86 </div>
87 <div class="tags">
88
89
90 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>.
91
92
93 </div>
94 </div>
95 <div class="padding"></div>
96
97 <div class="entry">
98 <div class="title">
99 <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>
100 </div>
101 <div class="date">
102 27th September 2013
103 </div>
104 <div class="body">
105 <p>The <a href="http://www.freedomboxfoundation.org/">Freedombox
106 project</a> have been going on for a while, and have presented the
107 vision, ideas and solution several places. Here is a little
108 collection of videos of talks and presentation of the project.</p>
109
110 <ul>
111
112 <li><a href="http://www.youtube.com/watch?v=ukvUz5taxvA">FreedomBox -
113 2,5 minute marketing film</a> (Youtube)</li>
114
115 <li><a href="http://www.youtube.com/watch?v=SzW25QTVWsE">Eben Moglen
116 discusses the Freedombox on CBS news 2011</a> (Youtube)</li>
117
118 <li><a href="http://www.youtube.com/watch?v=Ae8SZbxfE0g">Eben Moglen -
119 Freedom in the Cloud - Software Freedom, Privacy and and Security for
120 Web 2.0 and Cloud computing at ISOC-NY Public Meeting 2010</a>
121 (Youtube)</li>
122
123 <li><a href="http://www.youtube.com/watch?v=vNaIji_3xBE">Fosdem 2011
124 Keynote by Eben Moglen presenting the Freedombox</a> (Youtube)</li>
125
126 <li><a href="http://www.youtube.com/watch?v=9bDDUyJSQ9s">Presentation of
127 the Freedombox by James Vasile at Elevate in Gratz 2011</a> (Youtube)</li>
128
129 <li><a href="http://www.youtube.com/watch?v=zQTmnk27g9s"> Freedombox -
130 Discovery, Identity, and Trust by Nick Daly at Freedombox Hackfest New
131 York City in 2012</a> (Youtube)</li>
132
133 <li><a href="http://www.youtube.com/watch?v=tkbSB4Ba7Ck">Introduction
134 to the Freedombox at Freedombox Hackfest New York City in 2012</a>
135 (Youtube)</li>
136
137 <li><a href="http://www.youtube.com/watch?v=z-P2Jaeg0aQ">Freedom, Out
138 of the Box! by Bdale Garbee at linux.conf.au Ballarat, 2012</a> (Youtube) </li>
139
140 <li><a href="https://archive.fosdem.org/2013/schedule/event/freedombox/">Freedombox
141 1.0 by Eben Moglen and Bdale Garbee at Fosdem 2013</a> (FOSDEM) </li>
142
143 <li><a href="http://www.youtube.com/watch?v=e1LpYX2zVYg">What is the
144 FreedomBox today by Bdale Garbee at Debconf13 in Vaumarcus
145 2013</a> (Youtube)</li>
146
147 </ul>
148
149 <p>A larger list is available from
150 <a href="https://wiki.debian.org/FreedomBox/TalksAndPresentations">the
151 Freedombox Wiki</a>.</p>
152
153 <p>On other news, I am happy to report that Freedombox based on Debian
154 Jessie is coming along quite well, and soon both Owncloud and using
155 Tor should be available for testers of the Freedombox solution. :) In
156 a few weeks I hope everything needed to test it is included in Debian.
157 The withsqlite package is already in Debian, and the plinth package is
158 pending in NEW. The third and vital part of that puzzle is the
159 metapackage/setup framework, which is still pending an upload. Join
160 us on <a href="irc://irc.debian.org:6667/%23freedombox">IRC
161 (#freedombox on irc.debian.org)</a> and
162 <a href="http://lists.alioth.debian.org/mailman/listinfo/freedombox-discuss">the
163 mailing list</a> if you want to help make this vision come true.</p>
164
165 </div>
166 <div class="tags">
167
168
169 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>.
170
171
172 </div>
173 </div>
174 <div class="padding"></div>
175
176 <div class="entry">
177 <div class="title">
178 <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>
179 </div>
180 <div class="date">
181 16th September 2013
182 </div>
183 <div class="body">
184 <p>The third wheezy based beta release of Debian Edu was wrapped up
185 today. This is the release announcement from Holger Levsen:</p>
186
187 <blockquote>
188 <p>Hi,</p>
189
190 <p>it is my pleasure to announce the third beta release (beta 2 for
191 short) of <a href="http://www.skolelinux.org/">Debian Edu /
192 Skolelinux</a> based on Debian Wheezy!</p>
193
194 <p>Please test these images extensivly, if no new problems are found
195 we plan to do this final Debian Edu Wheezy release this coming
196 weekend. We are not aware of any major problems or blockers in beta2,
197 if you find something, please notify us immediately!</p>
198
199 <p>(More about the remaining steps for the Edu Wheezy release in
200 another mail to the edu list tonight or tomorrow...)</p>
201
202 <p>Noteworthy changes and software updates for Debian Edu 7.1+edu0~b2
203 compared to beta1:</p>
204
205 <ul>
206
207 <li>The KDE proxy setup has been adjusted to use the provided wpad.dat. This
208 also gets Chromium to use this proxy.</li>
209 <li>Install kdepim-groupware with KDE desktops to make sure korganizer
210 understand ical/dav sources.</li>
211 <li>Increased default maximum size of /var/spool/squid and /skole/backup on the
212 main server.</li>
213 <li>A source DVD image containing all source packages is now available as well.</li>
214 <li>Updates for chromium (29.0.1547.57-1~deb7u1), imagemagick
215 (6.7.7.10-5+deb7u2), php5 (5.4.4-14+deb7u4), libmodplug
216 (0.8.8.4-3+deb7u1+git20130828), tiff (4.0.2-6+deb7u2), linux-image
217 (3.2.0-4-486_3.2.46-1+deb7u1).</li>
218
219 </ul>
220
221 <p>Where to get it:</p>
222
223 <p>To download the multiarch netinstall CD release you can use</p>
224
225 <ul>
226 <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>
227 <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>
228 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b2-CD.iso .</li>
229 </ul>
230
231 <p>The SHA1SUM of this image is: 3a1c89f4666df80eebcd46c5bf5fedb866f9472f</p>
232
233 <p>To download the multiarch USB stick ISO release you can use
234 <ul>
235 <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>
236 <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>
237 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b2-USB.iso .</li>
238 </ul>
239
240 <p>The SHA1SUM of this image is: 702d1718548f401c74bfa6df9f032cc3ee16597e</p>
241
242 <p>The Source DVD image has the filename
243 debian-edu-7.1+edu0~b2-source-DVD.iso and the SHA1SUM
244 089eed8b3f962db47aae1f6a9685e9bb2fa30ca5 and is available the same way
245 as the other isos.</p>
246
247 <p>How to report bugs</p>
248
249 <p>For information how to report bugs please see
250 <br><a href="http://wiki.debian.org/DebianEdu/HowTo/ReportBugs">http://wiki.debian.org/DebianEdu/HowTo/ReportBugs</a></p>
251
252
253 <p>About Debian Edu and Skolelinux</p>
254
255 <p>Debian Edu, also known as Skolelinux, is a Linux distribution based
256 on Debian providing an out-of-the box environment of a completely
257 configured school network. Immediately after installation a school
258 server running all services needed for a school network is set up just
259 waiting for users and machines being added via GOsa², a comfortable
260 Web-UI. A netbooting environment is prepared using PXE, so after
261 initial installation of the main server from CD or USB stick all other
262 machines can be installed via the network. The provided school server
263 provides LDAP database and Kerberos authentication service,
264 centralized home directories, DHCP server, web proxy and many other
265 services. The desktop contains more than 60 educational software
266 packages and more are available from the Debian archive, and schools
267 can choose between KDE, Gnome, LXDE and Xfce desktop environment.</p>
268
269 <p>This is the seventh test release based on Debian Wheezy. Basically
270 this is an updated and slightly improved version compared to the
271 Squeeze release.</p>
272
273 <p>Notes for upgrades from Alpha Prereleases</p>
274
275 <p>Alpha based installations should reinstall or downgrade the
276 versions of gosa and libpam-mklocaluser to the ones used in this beta
277 release. Both alpha and beta0 based installations should reinstall or
278 deal with gosa.conf manually; there are two options: (1) Keep
279 gosa.conf and edit this file as outlined on the mailing list. (2)
280 Accept the new version of gosa.conf and replace both contained admin
281 password placeholders with the password hashes found in the old one
282 (backup copy!). In both cases all users need to change their password
283 to make sure a password is set for CIFS access to their home
284 directory.</p>
285
286
287 <p>cheers,
288 <br> Holger</p>
289 </blockquote>
290
291 </div>
292 <div class="tags">
293
294
295 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>.
296
297
298 </div>
299 </div>
300 <div class="padding"></div>
301
302 <div class="entry">
303 <div class="title">
304 <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>
305 </div>
306 <div class="date">
307 10th September 2013
308 </div>
309 <div class="body">
310 <p>I was introduced to the
311 <a href="http://www.freedomboxfoundation.org/">Freedombox project</a>
312 in 2010, when Eben Moglen presented his vision about serving the need
313 of non-technical people to keep their personal information private and
314 within the legal protection of their own homes. The idea is to give
315 people back the power over their network and machines, and return
316 Internet back to its intended peer-to-peer architecture. Instead of
317 depending on a central service, the Freedombox will give everyone
318 control over their own basic infrastructure.</p>
319
320 <p>I've intended to join the effort since then, but other tasks have
321 taken priority. But this summers nasty news about the misuse of trust
322 and privilege exercised by the "western" intelligence gathering
323 communities increased my eagerness to contribute to a point where I
324 actually started working on the project a while back.</p>
325
326 <p>The <a href="https://alioth.debian.org/projects/freedombox/">initial
327 Debian initiative</a> based on the vision from Eben Moglen, is to
328 create a simple and cheap Debian based appliance that anyone can hook
329 up in their home and get access to secure and private services and
330 communication. The initial deployment platform have been the
331 <a href="http://www.globalscaletechnologies.com/t-dreamplugdetails.aspx">Dreamplug</a>,
332 which is a piece of hardware I do not own. So to be able to test what
333 the current Freedombox setup look like, I had to come up with a way to install
334 it on some hardware I do have access to. I have rewritten the
335 <a href="https://github.com/NickDaly/freedom-maker">freedom-maker</a>
336 image build framework to use .deb packages instead of only copying
337 setup into the boot images, and thanks to this rewrite I am able to
338 set up any machine supported by Debian Wheezy as a Freedombox, using
339 the previously mentioned deb (and a few support debs for packages
340 missing in Debian).</p>
341
342 <p>The current Freedombox setup consist of a set of bootstrapping
343 scripts
344 (<a href="https://github.com/petterreinholdtsen/freedombox-setup">freedombox-setup</a>),
345 and a administrative web interface
346 (<a href="https://github.com/NickDaly/Plinth">plinth</a> + exmachina +
347 withsqlite), as well as a privacy enhancing proxy based on
348 <a href="http://packages.qa.debian.org/privoxy">privoxy</a>
349 (freedombox-privoxy). There is also a web/javascript based XMPP
350 client (<a href="http://packages.qa.debian.org/jwchat">jwchat</a>)
351 trying (unsuccessfully so far) to talk to the XMPP server
352 (<a href="http://packages.qa.debian.org/ejabberd">ejabberd</a>). The
353 web interface is pluggable, and the goal is to use it to enable OpenID
354 services, mesh network connectivity, use of TOR, etc, etc. Not much of
355 this is really working yet, see
356 <a href="https://github.com/NickDaly/freedombox-todos/blob/master/TODO">the
357 project TODO</a> for links to GIT repositories. Most of the code is
358 on github at the moment. The HTTP proxy is operational out of the
359 box, and the admin web interface can be used to add/remove plinth
360 users. I've not been able to do anything else with it so far, but
361 know there are several branches spread around github and other places
362 with lots of half baked features.</p>
363
364 <p>Anyway, if you want to have a look at the current state, the
365 following recipes should work to give you a test machine to poke
366 at.</p>
367
368 <p><strong>Debian Wheezy amd64</strong></p>
369
370 <ol>
371
372 <li>Fetch normal Debian Wheezy installation ISO.</li>
373 <li>Boot from it, either as CD or USB stick.</li>
374 <li><p>Press [tab] on the boot prompt and add this as a boot argument
375 to the Debian installer:<p>
376 <pre>url=<a href="http://www.reinholdtsen.name/freedombox/preseed-wheezy.dat">http://www.reinholdtsen.name/freedombox/preseed-wheezy.dat</a></pre></li>
377
378 <li>Answer the few language/region/password questions and pick disk to
379 install on.</li>
380
381 <li>When the installation is finished and the machine have rebooted a
382 few times, your Freedombox is ready for testing.</li>
383
384 </ol>
385
386 <p><strong>Raspberry Pi Raspbian</strong></p>
387
388 <ol>
389
390 <li>Fetch a Raspbian SD card image, create SD card.</li>
391 <li>Boot from SD card, extend file system to fill the card completely.</li>
392 <li><p>Log in and add this to /etc/sources.list:</p>
393 <pre>
394 deb <a href="http://www.reinholdtsen.name/freedombox/">http://www.reinholdtsen.name/freedombox</a> wheezy main
395 </pre></li>
396 <li><p>Run this as root:</p>
397 <pre>
398 wget -O - http://www.reinholdtsen.name/freedombox/BE1A583D.asc | \
399 apt-key add -
400 apt-get update
401 apt-get install freedombox-setup
402 /usr/lib/freedombox/setup
403 </pre></li>
404 <li>Reboot into your freshly created Freedombox.</li>
405
406 </ol>
407
408 <p>You can test it on other architectures too, but because the
409 freedombox-privoxy package is binary, it will only work as intended on
410 the architectures where I have had time to build the binary and put it
411 in my APT repository. But do not let this stop you. It is only a
412 short "<tt>apt-get source -b freedombox-privoxy</tt>" away. :)</p>
413
414 <p>Note that by default Freedombox is a DHCP server on the
415 192.168.1.0/24 subnet, so if this is your subnet be careful and turn
416 off the DHCP server by running "<tt>update-rc.d isc-dhcp-server
417 disable</tt>" as root.</p>
418
419 <p>Please let me know if this works for you, or if you have any
420 problems. We gather on the IRC channel
421 <a href="irc://irc.debian.org:6667/%23freedombox">#freedombox</a> on
422 irc.debian.org and the
423 <a href="http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/freedombox-discuss">project
424 mailing list</a>.</p>
425
426 <p>Once you get your freedombox operational, you can visit
427 <tt>http://your-host-name:8001/</tt> to see the state of the plint
428 welcome screen (dead end - do not be surprised if you are unable to
429 get past it), and next visit <tt>http://your-host-name:8001/help/</tt>
430 to look at the rest of plinth. The default user is 'admin' and the
431 default password is 'secret'.</p>
432
433 </div>
434 <div class="tags">
435
436
437 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>.
438
439
440 </div>
441 </div>
442 <div class="padding"></div>
443
444 <div class="entry">
445 <div class="title">
446 <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>
447 </div>
448 <div class="date">
449 22nd August 2013
450 </div>
451 <div class="body">
452 <p>The second wheezy based beta release of Debian Edu was wrapped up
453 today, slightly delayed because of some bugs in the initial Windows
454 integration fixes . This is the release announcement:</p>
455
456 <p><strong>New features for Debian Edu 7.1+edu0~b1 released 2013-08-22</strong></p>
457
458 <p>These are the release notes for Debian Edu / Skolelinux
459 7.1+edu0~b1, based on Debian with codename "Wheezy".</p>
460
461 <p><strong>About Debian Edu and Skolelinux</strong></p>
462
463 <p><a href="http://www.skolelinux.org/">Debian Edu, also known as
464 Skolelinux</a>, is a Linux distribution based on Debian providing an
465 out-of-the box environment of a completely configured school
466 network. Immediately after installation a school server running all
467 services needed for a school network is set up just waiting for users
468 and machines being added via GOsa², a comfortable Web-UI. A netbooting
469 environment is prepared using PXE, so after initial installation of
470 the main server from CD or USB stick all other machines can be
471 installed via the network. The provided school server provides LDAP
472 database and Kerberos authentication service, centralized home
473 directories, DHCP server, web proxy and many other services. The
474 desktop contains
475 <a href="http://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html">more
476 than 60 educational software packages</a> and more are available from
477 the Debian archive, and schools can choose between KDE, Gnome, LXDE
478 and Xfce desktop environment.</p>
479
480 <p>This is the sixth test release based on Debian Wheezy. Basically this
481 is an updated and slightly improved version compared to the Squeeze
482 release.</p>
483
484 <p>ALERT: Alpha based installations should reinstall or downgrade the
485 versions of gosa and libpam-mklocaluser to the ones used in this beta
486 release. Both alpha and beta0 based installations should reinstall or
487 deal with gosa.conf manually; there are two options: (1) Keep
488 gosa.conf and edit this file as outlined
489 <a href="http://lists.debian.org/debian-edu/2013/08/msg00127.html">on
490 the mailing list</a>. (2) Accept the new version of gosa.conf and
491 replace both contained admin password placeholders with the password
492 hashes found in the old one (backup copy!). In both cases every user
493 need to change their their password to make sure a password is set for
494 CIFS access to their home directory.</p>
495
496 <p><strong>Software updates</strong></p>
497
498 <ul>
499
500 <li>Added ssh askpass packages to default installation, to ensure ssh
501 work also without a attached tty.</li>
502 <li>Add the command-not-found package to the default installation to
503 make it easier to figure out where to find missing command line
504 tools. Please note, that the command 'update-command-not-found'
505 has to be run as root to actually make it useful (internet access
506 required).</li>
507
508 </ul>
509
510 <p><strong>Other changes</strong></p>
511
512 <ul>
513
514 <li>Adjusted the USB stick ISO image build to include every tool
515 needed for desktop=xfce installations.</li>
516 <li>Adjust thin-client-server task to work when installing from USB
517 stick ISO image.</li>
518 <li>Made new grub artwork (changed png from indexed to RGB format).</li>
519 <li>Minor cleanup in the CUPS setup.</li>
520 <li>Make sure that bootstrapping of the Samba domain really happens
521 during installation of the main server and adjust SID handling to
522 cope with this.</li>
523 <li>Make Samba passwords changeable (again) via GOsa².</li>
524 <li>Fix generation of LM and NT password hashes via GOsa² to avoid
525 empty password hashes.</li>
526 <li>Adapted Samba machine domain joining to latest change in the
527 smbldap-tools Perl package, fixing bugs blocking Windows machines
528 from joining the Samba domain.</li>
529
530 </ul>
531
532 <p><strong>Known issues</strong></p>
533
534 <ul>
535
536 <li>KDE fails to understand the wpad.dat file provided, causing it to
537 not use the http proxy as it should.</li>
538 <li>Chromium also fails to use the proxy when using the KDE desktop
539 (using the KDE configuration).</li>
540
541 </ul>
542
543 <p><strong>Where to get it</strong></p>
544
545 <p>To download the multiarch netinstall CD release you can use</p>
546
547 <ul>
548
549 <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>
550
551 <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>
552
553 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-CD.iso .</li>
554
555 </ul>
556
557 <p>The MD5SUM of this image is: 1e357f80b55e703523f2254adde6d78b
558 <br>The SHA1SUM of this image is: 7157f9be5fd27c7694d713c6ecfed61c3edda3b2</p>
559
560 <p>To download the multiarch USB stick ISO release you can use</p>
561
562 <ul>
563
564 <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>
565 <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>
566 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-USB.iso .</li>
567
568 </ul>
569
570 <p>The MD5SUM of this image is: 7a8408ead59cf7e3cef25afb6e91590b
571 <br>The SHA1SUM of this image is: f1817c031f02790d5edb3bfa0dcf8451088ad119</p>
572
573
574 <p><strong>How to report bugs</strong></p>
575
576 <p><a href="http://wiki.debian.org/DebianEdu/HowTo/ReportBugs">http://wiki.debian.org/DebianEdu/HowTo/ReportBugs</a>
577
578 </div>
579 <div class="tags">
580
581
582 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>.
583
584
585 </div>
586 </div>
587 <div class="padding"></div>
588
589 <div class="entry">
590 <div class="title">
591 <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>
592 </div>
593 <div class="date">
594 18th August 2013
595 </div>
596 <div class="body">
597 <p>Earlier, I reported about
598 <a href="http://people.skolelinux.org/pere/blog/How_to_fix_a_Thinkpad_X230_with_a_broken_180_GB_SSD_disk.html">my
599 problems using an Intel SSD 520 Series 180 GB disk</a>. Friday I was
600 told by IBM that the original disk should be thrown away. And as
601 there no longer was a problem if I bricked the firmware, I decided
602 today to try to install Intel firmware to replace the Lenovo firmware
603 currently on the disk.</p>
604
605 <p>I searched the Intel site for firmware, and found
606 <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>
607 (aka Intel SATA Solid-State Drive Firmware Update Tool) which
608 according to the site should contain the latest firmware for SSD
609 disks. I inserted the broken disk in one of my spare laptops and
610 booted the ISO from a USB stick. The disk was recognized, but the
611 program claimed the newest firmware already were installed and refused
612 to insert any Intel firmware. So no change, and the disk is still
613 unable to handle write load. :( I guess the only way to get them
614 working would be if Lenovo releases new firmware. No idea how likely
615 that is. Anyway, just blogging about this test for completeness. I
616 got a working Samsung disk, and see no point in spending more time on
617 the broken disks.</p>
618
619 </div>
620 <div class="tags">
621
622
623 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>.
624
625
626 </div>
627 </div>
628 <div class="padding"></div>
629
630 <div class="entry">
631 <div class="title">
632 <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>
633 </div>
634 <div class="date">
635 2nd August 2013
636 </div>
637 <div class="body">
638 <p>It has been a while since my last update. Since last summer, I
639 have worked on a Norwegian
640 <a href="http://www.docbook.org/">docbook</a> version of the 2004 book
641 <a href="http://free-culture.cc/">Free Culture</a> by Lawrence Lessig,
642 to get a Norwegian text explaining the problems with the copyright
643 law. Yesterday, I finally broken the 90% mark, when counting the
644 number of strings to translate. Due to real life constraints, I have
645 not had time to work on it since March, but when the summer broke out,
646 I found time to work on it again. Still lots of work left, but the
647 first draft is nearing completion. I created a graph to show the
648 progress of the translation:</p>
649
650 <p><img width="80%" align="center" src="https://github.com/petterreinholdtsen/free-culture-lessig/raw/master/progress.png"></p>
651
652 <p>When the first draft is done, the translated text need to be
653 proof read, and the remaining formatting problems with images and SVG
654 drawings need to be fixed. There are probably also some index entries
655 missing that need to be added. This can be done by comparing the
656 index entries listed in the SiSU version of the book, or comparing the
657 English docbook version with the paper version. Last, the colophon
658 page with ISBN numbers etc need to be wrapped up before the release is
659 done. I should also figure out how to get correct Norwegian sorting
660 of the index pages. All docbook tools I have tried so far (xmlto,
661 docbook-xsl, dblatex) get the order of symbols and the special
662 Norwegian letters ÆØÅ wrong.</p>
663
664 <p>There is still need for translators and people with docbook
665 knowledge, to be able to get a good looking book (I still struggle
666 with dblatex, xmlto and docbook-xsl) as well as to do the draft
667 translation and proof reading. And I would like the figures to be
668 redrawn as SVGs to make it easy to translate them. Any SVG master
669 around? There are also some legal terms that are unfamiliar to me.
670 If you want to help, please get in touch with me, and check out the
671 project files currently available from
672 <a href="https://github.com/petterreinholdtsen/free-culture-lessig">github</a>.</p>
673
674 <p>If you are curious what the translated book currently look like,
675 the updated
676 <a href="https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.pdf?raw=true">PDF</a>
677 and
678 <a href="https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.epub?raw=true">EPUB</a>
679 are published on github. The HTML version is published as well, but
680 github hand it out with MIME type text/plain, confusing browsers, so I
681 saw no point in linking to that version.</p>
682
683 </div>
684 <div class="tags">
685
686
687 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>.
688
689
690 </div>
691 </div>
692 <div class="padding"></div>
693
694 <div class="entry">
695 <div class="title">
696 <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>
697 </div>
698 <div class="date">
699 27th July 2013
700 </div>
701 <div class="body">
702 <p>The first wheezy based beta release of Debian Edu was wrapped up
703 today. This is the release announcement:</p>
704
705 <p><strong>New features for Debian Edu 7.1+edu0~b0 released
706 2013-07-27</strong></p>
707
708 <p>These are the release notes for for Debian Edu / Skolelinux
709 7.1+edu0~b0, based on Debian with codename "Wheezy".</p>
710
711 <p><strong>About Debian Edu and Skolelinux</strong></p>
712
713 <p><a href="http://www.skolelinux.org/">Debian Edu, also known as
714 Skolelinux</a>, is a Linux distribution based on Debian providing an
715 out-of-the box environment of a completely configured school
716 network. Immediately after installation a school server running all
717 services needed for a school network is set up just waiting for users
718 and machines being added via GOsa², a comfortable Web-UI. A netbooting
719 environment is prepared using PXE, so after initial installation of
720 the main server from CD, DVD or USB stick all other machines can be
721 installed via the network. The provided school server provides LDAP
722 database and Kerberos authentication service, centralized home
723 directories, DHCP server, web proxy and many other services. The
724 desktop contains
725 <a href="http://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html">more
726 than 60 educational software packages</a> and more are available from
727 the Debian archive, and schools can choose between KDE, Gnome, LXDE
728 and Xfce desktop environment.</p>
729
730 <p>This is the fifth test release based on Debian Wheezy. Basically
731 this is an updated and slightly improved version compared to the
732 Squeeze release.</p>
733
734 <p>ALERT: Alpha based installations should reinstall or downgrade the
735 versions of gosa and libpam-mklocaluser to the ones used in this beta
736 release.</p>
737
738 <p><strong>Software updates</strong></p>
739
740 <ul>
741
742 <li>Switched roaming workstation profiles from wicd to network-manager
743 for network configuration, as wicd didn't work any more.</li>
744 <li>Changed version numbers of patched gosa and libpam-mklocaluser
745 packages to make sure our locally patched versions will be replaced
746 by the official packages when they are released from Debian. Those
747 installing alpha version need to reinstall or manually downgrade gosa
748 and libpam-mklocaluser.</li>
749 <li>Added bluetooth tools to the default desktop (bluedevil, blueman).</li>
750 <li>Added tools for sharing the desktop on KDE (krdc, krfb).</li>
751 <li>Added valgrind to the default installation for easier debugging of
752 crash bugs.</li>
753
754 </ul>
755
756 <p><strong>Other changes</strong></p>
757
758 <ul>
759
760 <li>Fixed artwork package to work with gnome, no longer break
761 desktop=gnome installations.</li>
762 <li>Adjusted installer to now work when forced to use a proxy with the
763 netinst CD.</li>
764 <li>Fixed code detecting and setting/loading hardware specific
765 setup/firmware to work more robust out of the box.</li>
766 <li>Adjusted Kerberos setup to detect realm and server settings at
767 install time instead of dynamically at run time. This avoid a crash
768 with krb5-auth-dialog on diskless workstations without a DNS name.</li>
769 <li>Worked around misfeature in network-manager not calling the dhclient
770 exit hooks, causing automatic proxy configuration and automatic host
771 name setting at run time to work again.</li>
772 <li>Fixed feature setting the default Iceweasel start page from URL
773 fetched from LDAP, to allow schools to set the global default by
774 updating the dc=skole,dc=skolelinux,dc=no LDAP object.</li>
775 <li>Changed default host name on all networked machines to be unique
776 (generated from MAC or reverse DNS) after boot.</li>
777 <li>Adjusted partition sizes to make sure they are big enough.</li>
778
779 </ul>
780
781 <p><strong>Known issues</strong></p>
782
783 <ul>
784
785 <li>Grub is missing the new artwork.</li>
786 <li>KDE fail to understand the wpad.dat file provided, causing it to
787 not use the http proxy as it should.</li>
788 <li>Chromium also fail to use the proxy.</li>
789
790 </ul>
791
792 <p><strong>Where to get it</strong></p>
793
794 <p>To download the multiarch netinstall CD release you can use</p>
795
796 <ul>
797
798 <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>
799
800 <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>
801
802 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-CD.iso .</li>
803
804 </ul>
805
806 <p>The MD5SUM of this image is: 55d5de9765b6dccd5d9ec33cf1a07109
807 <br>The SHA1SUM of this image is: 996a1d9517740e4d627d100de2d12b23dd545a3f</p>
808
809 <p>To download the multiarch USB stick ISO release you can use</p>
810
811 <ul>
812
813 <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>
814 <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>
815 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-USB.iso .</li>
816
817 </ul>
818
819 <p>The MD5SUM of this image is: d8f0818c51a78d357de794066f289f69
820 <br>The SHA1SUM of this image is: 49185ca354e8d0543240423746924f76a6cee733</p>
821
822
823 <p><strong>How to report bugs</strong></p>
824
825 <p><a href="http://wiki.debian.org/DebianEdu/HowTo/ReportBugs">http://wiki.debian.org/DebianEdu/HowTo/ReportBugs</a>
826
827 </div>
828 <div class="tags">
829
830
831 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>.
832
833
834 </div>
835 </div>
836 <div class="padding"></div>
837
838 <div class="entry">
839 <div class="title">
840 <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>
841 </div>
842 <div class="date">
843 17th July 2013
844 </div>
845 <div class="body">
846 <p>Today I switched to
847 <a href="http://people.skolelinux.org/pere/blog/The_Thinkpad_is_dead__long_live_the_Thinkpad_X230_.html">my
848 new laptop</a>. I've previously written about the problems I had with
849 my new Thinkpad X230, which was delivered with an
850 <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
851 GB Intel SSD disk with Lenovo firmware</a> that did not handle
852 sustained writes. My hardware supplier have been very forthcoming in
853 trying to find a solution, and after first trying with another
854 identical 180 GB disks they decided to send me a 256 GB Samsung SSD
855 disk instead to fix it once and for all. The Samsung disk survived
856 the installation of Debian with encrypted disks (filling the disk with
857 random data during installation killed the first two), and I thus
858 decided to trust it with my data. I have installed it as a Debian Edu
859 Wheezy roaming workstation hooked up with my Debian Edu Squeeze main
860 server at home using Kerberos and LDAP, and will use it as my work
861 station from now on.</p>
862
863 <p>As this is a solid state disk with no moving parts, I believe the
864 Debian Wheezy default installation need to be tuned a bit to increase
865 performance and increase life time of the disk. The Linux kernel and
866 user space applications do not yet adjust automatically to such
867 environment. To make it easier for my self, I created a draft Debian
868 package <tt>ssd-setup</tt> to handle this tuning. The
869 <a href="http://anonscm.debian.org/gitweb/?p=collab-maint/ssd-setup.git">source
870 for the ssd-setup package</a> is available from collab-maint, and it
871 is set up to adjust the setup of the machine by just installing the
872 package. If there is any non-SSD disk in the machine, the package
873 will refuse to install, as I did not try to write any logic to sort
874 file systems in SSD and non-SSD file systems.</p>
875
876 <p>I consider the package a draft, as I am a bit unsure how to best
877 set up Debian Wheezy with an SSD. It is adjusted to my use case,
878 where I set up the machine with one large encrypted partition (in
879 addition to /boot), put LVM on top of this and set up partitions on
880 top of this again. See the README file in the package source for the
881 references I used to pick the settings. At the moment these
882 parameters are tuned:</p>
883
884 <ul>
885
886 <li>Set up cryptsetup to pass TRIM commands to the physical disk
887 (adding discard to /etc/crypttab)</li>
888
889 <li>Set up LVM to pass on TRIM commands to the underlying device (in
890 this case a cryptsetup partition) by changing issue_discards from
891 0 to 1 in /etc/lvm/lvm.conf.</li>
892
893 <li>Set relatime as a file system option for ext3 and ext4 file
894 systems.</li>
895
896 <li>Tell swap to use TRIM commands by adding 'discard' to
897 /etc/fstab.</li>
898
899 <li>Change I/O scheduler from cfq to deadline using a udev rule.</li>
900
901 <li>Run fstrim on every ext3 and ext4 file system every night (from
902 cron.daily).</li>
903
904 <li>Adjust sysctl values vm.swappiness to 1 and vm.vfs_cache_pressure
905 to 50 to reduce the kernel eagerness to swap out processes.</li>
906
907 </ul>
908
909 <p>During installation, I cancelled the part where the installer fill
910 the disk with random data, as this would kill the SSD performance for
911 little gain. My goal with the encrypted file system is to ensure
912 those stealing my laptop end up with a brick and not a working
913 computer. I have no hope in keeping the really resourceful people
914 from getting the data on the disk (see
915 <a href="http://xkcd.com/538/">XKCD #538</a> for an explanation why).
916 Thus I concluded that adding the discard option to crypttab is the
917 right thing to do.</p>
918
919 <p>I considered using the noop I/O scheduler, as several recommended
920 it for SSD, but others recommended deadline and a benchmark I found
921 indicated that deadline might be better for interactive use.</p>
922
923 <p>I also considered using the 'discard' file system option for ext3
924 and ext4, but read that it would give a performance hit ever time a
925 file is removed, and thought it best to that that slowdown once a day
926 instead of during my work.</p>
927
928 <p>My package do not set up tmpfs on /var/run, /var/lock and /tmp, as
929 this is already done by Debian Edu.</p>
930
931 <p>I have not yet started on the user space tuning. I expect
932 iceweasel need some tuning, and perhaps other applications too, but
933 have not yet had time to investigate those parts.</p>
934
935 <p>The package should work on Ubuntu too, but I have not yet tested it
936 there.</p>
937
938 <p>As for the answer to the question in the title of this blog post,
939 as far as I know, the only solution I know about is to replace the
940 disk. It might be possible to flash it with Intel firmware instead of
941 the Lenovo firmware. But I have not tried and did not want to do so
942 without approval from Lenovo as I wanted to keep the warranty on the
943 disk until a solution was found and they wanted the broken disks
944 back.</p>
945
946 </div>
947 <div class="tags">
948
949
950 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>.
951
952
953 </div>
954 </div>
955 <div class="padding"></div>
956
957 <div class="entry">
958 <div class="title">
959 <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>
960 </div>
961 <div class="date">
962 10th July 2013
963 </div>
964 <div class="body">
965 <p>A few days ago, I wrote about
966 <a href="http://people.skolelinux.org/pere/blog/The_Thinkpad_is_dead__long_live_the_Thinkpad_X230_.html">the
967 problems I experienced with my new X230 and its SSD disk</a>, which
968 was dying during installation because it is unable to cope with
969 sustained write. My supplier is in contact with
970 <a href="http://www.lenovo.com/">Lenovo</a>, and they wanted to send a
971 replacement disk to try to fix the problem. They decided to send an
972 identical model, so my hopes for a permanent fix was slim.</p>
973
974 <p>Anyway, today I got the replacement disk and tried to install
975 Debian Edu Wheezy with encrypted disk on it. The new disk have the
976 same firmware version as the original. This time my hope raised
977 slightly as the installation progressed, as the original disk used to
978 die after 4-7% of the disk was written to, while this time it kept
979 going past 10%, 20%, 40% and even past 50%. But around 60%, the disk
980 died again and I was back on square one. I still do not have a new
981 laptop with a disk I can trust. I can not live with a disk that might
982 lock up when I download a new
983 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> ISO or
984 other large files. I look forward to hearing from my supplier with
985 the next proposal from Lenovo.</p>
986
987 <p>The original disk is marked Intel SSD 520 Series 180 GB,
988 11S0C38722Z1ZNME35X1TR, ISN: CVCV321407HB180EGN, SA: G57560302, FW:
989 LF1i, 29MAY2013, PBA: G39779-300, LBA 351,651,888, LI P/N: 0C38722,
990 Pb-free 2LI, LC P/N: 16-200366, WWN: 55CD2E40002756C4, Model:
991 SSDSC2BW180A3L 2.5" 6Gb/s SATA SSD 180G 5V 1A, ASM P/N 0C38732, FRU
992 P/N 45N8295, P0C38732.</p>
993
994 <p>The replacement disk is marked Intel SSD 520 Series 180 GB,
995 11S0C38722Z1ZNDE34N0L0, ISN: CVCV315306RK180EGN, SA: G57560-302, FW:
996 LF1i, 22APR2013, PBA: G39779-300, LBA 351,651,888, LI P/N: 0C38722,
997 Pb-free 2LI, LC P/N: 16-200366, WWN: 55CD2E40000AB69E, Model:
998 SSDSC2BW180A3L 2.5" 6Gb/s SATA SSD 180G 5V 1A, ASM P/N 0C38732, FRU
999 P/N 45N8295, P0C38732.</p>
1000
1001 <p>The only difference is in the first number (serial number?), ISN,
1002 SA, date and WNPP values. Mentioning all the details here in case
1003 someone is able to use the information to find a way to identify the
1004 failing disk among working ones (if any such working disk actually
1005 exist).</p>
1006
1007 </div>
1008 <div class="tags">
1009
1010
1011 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>.
1012
1013
1014 </div>
1015 </div>
1016 <div class="padding"></div>
1017
1018 <div class="entry">
1019 <div class="title">
1020 <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>
1021 </div>
1022 <div class="date">
1023 9th July 2013
1024 </div>
1025 <div class="body">
1026 <p>The upcoming Saturday, 2013-07-13, we are organising a combined
1027 Debian Edu developer gathering and Debian and Ubuntu bug squashing
1028 party in Oslo. It is organised by <a href="http://www.nuug.no/">the
1029 member assosiation NUUG</a> and
1030 <a href="http://www.skolelinux.org/">the Debian Edu / Skolelinux
1031 project</a> together with <a href="http://bitraf.no/">the hack space
1032 Bitraf</a>.</p>
1033
1034 <p>It starts 10:00 and continue until late evening. Everyone is
1035 welcome, and there is no fee to participate. There is on the other
1036 hand limited space, and only room for 30 people. Please put your name
1037 on <a href="http://wiki.debian.org/BSP/2013/07/13/no/Oslo">the event
1038 wiki page</a> if you plan to join us.</p>
1039
1040 </div>
1041 <div class="tags">
1042
1043
1044 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>.
1045
1046
1047 </div>
1048 </div>
1049 <div class="padding"></div>
1050
1051 <div class="entry">
1052 <div class="title">
1053 <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>
1054 </div>
1055 <div class="date">
1056 5th July 2013
1057 </div>
1058 <div class="body">
1059 <p>Half a year ago, I reported that I had to find a
1060 <a href="http://people.skolelinux.org/pere/blog/Thank_you_Thinkpad_X41__for_your_long_and_trustworthy_service.html">replacement
1061 for my trusty old Thinkpad X41</a>. Unfortunately I did not have much
1062 time to spend on it, and it took a while to find a model I believe
1063 will do the job, but two days ago the replacement finally arrived. I
1064 ended up picking a
1065 <a href="http://www.linlap.com/lenovo_thinkpad_x230">Thinkpad X230</a>
1066 with SSD disk (NZDAJMN). I first test installed Debian Edu Wheezy as
1067 a roaming workstation, and it seemed to work flawlessly. But my
1068 second installation with encrypted disk was not as successful. More
1069 on that below.</p>
1070
1071 <p>I had a hard time trying to track down a good laptop, as my most
1072 important requirements (robust and with a good keyboard) are never
1073 listed in the feature list. But I did get good help from the search
1074 feature at <a href="http://www.prisjakt.no/">Prisjakt</a>, which
1075 allowed me to limit the list of interesting laptops based on my other
1076 requirements. A bit surprising that SSD disk are not disks according
1077 to that search interface, so I had to drop specifying the number of
1078 disks from my search parameters. I also asked around among friends to
1079 get their impression on keyboards and robustness.</p>
1080
1081 <p>So the new laptop arrived, and it is quite a lot wider than the
1082 X41. I am not quite convinced about the keyboard, as it is
1083 significantly wider than my old keyboard, and I have to stretch my
1084 hand a lot more to reach the edges. But the key response is fairly
1085 good and the individual key shape is fairly easy to handle, so I hope
1086 I will get used to it. My old X40 was starting to fail, and I really
1087 needed a new laptop now. :)</p>
1088
1089 <p>Turning off the touch pad was simple. All it took was a quick
1090 visit to the BIOS during boot it disable it.</p>
1091
1092 <p>But there is a fatal problem with the laptop. The 180 GB SSD disk
1093 lock up during load. And this happen when installing Debian Wheezy
1094 with encrypted disk, while the disk is being filled with random data.
1095 I also tested to install Ubuntu Raring, and it happen there too if I
1096 reenable the code to fill the disk with random data (it is disabled by
1097 default in Ubuntu). And the bug with is already known. It was
1098 reported to Debian as <a href="http://bugs.debian.org/691427">BTS
1099 report #691427 2012-10-25</a> (journal commit I/O error on brand-new
1100 Thinkpad T430s ext4 on lvm on SSD). It is also reported to the Linux
1101 kernel developers as
1102 <a href="https://bugzilla.kernel.org/show_bug.cgi?id=51861">Kernel bugzilla
1103 report #51861 2012-12-20</a> (Intel SSD 520 stops working under load
1104 (SSDSC2BW180A3L in Lenovo ThinkPad T430s)). It is also reported on the
1105 Lenovo forums, both for
1106 <a href="http://forums.lenovo.com/t5/T400-T500-and-newer-T-series/T430s-Intel-SSD-520-180GB-issue/m-p/1070549">T430
1107 2012-11-10</a> and for
1108 <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
1109 03-20-2013</a>. The problem do not only affect installation. The
1110 reports state that the disk lock up during use if many writes are done
1111 on the disk, so it is much no use to work around the installation
1112 problem and end up with a computer that can lock up at any moment.
1113 There is even a
1114 <a href="https://git.efficios.com/?p=test-ssd.git">small C program
1115 available</a> that will lock up the hard drive after running a few
1116 minutes by writing to a file.</p>
1117
1118 <p>I've contacted my supplier and asked how to handle this, and after
1119 contacting PCHELP Norway (request 01D1FDP) which handle support
1120 requests for Lenovo, his first suggestion was to upgrade the disk
1121 firmware. Unfortunately there is no newer firmware available from
1122 Lenovo, as my disk already have the most recent one (version LF1i). I
1123 hope to hear more from him today and hope the problem can be
1124 fixed. :)</p>
1125
1126 </div>
1127 <div class="tags">
1128
1129
1130 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>.
1131
1132
1133 </div>
1134 </div>
1135 <div class="padding"></div>
1136
1137 <div class="entry">
1138 <div class="title">
1139 <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>
1140 </div>
1141 <div class="date">
1142 4th July 2013
1143 </div>
1144 <div class="body">
1145 <p>Half a year ago, I reported that I had to find a replacement for my
1146 trusty old Thinkpad X41. Unfortunately I did not have much time to
1147 spend on it, but today the replacement finally arrived. I ended up
1148 picking a <a href="http://www.linlap.com/lenovo_thinkpad_x230">Thinkpad
1149 X230</a> with SSD disk (NZDAJMN). I first test installed Debian Edu
1150 Wheezy as a roaming workstation, and it worked flawlessly. As I write
1151 this, it is installing what I hope will be a more final installation,
1152 with a encrypted hard drive to ensure any dope head stealing it end up
1153 with an expencive door stop.</p>
1154
1155 <p>I had a hard time trying to track down a good laptop, as my most
1156 important requirements (robust and with a good keyboard) are never
1157 listed in the feature list. But I did get good help from the search
1158 feature at <ahref="http://www.prisjakt.no/">Prisjakt</a>, which
1159 allowed me to limit the list of interesting laptops based on my other
1160 requirements. A bit surprising that SSD disk are not disks, so I had
1161 to drop number of disks from my search parameters.</p>
1162
1163 <p>I am not quite convinced about the keyboard, as it is significantly
1164 wider than my old keyboard, and I have to stretch my hand a lot more
1165 to reach the edges. But the key response is fairly good and the
1166 individual key shape is fairly easy to handle, so I hope I will get
1167 used to it. My old X40 was starting to fail, and I really needed a
1168 new laptop now. :)</p>
1169
1170 <p>I look forward to figuring out how to turn off the touch pad.</p>
1171
1172 </div>
1173 <div class="tags">
1174
1175
1176 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>.
1177
1178
1179 </div>
1180 </div>
1181 <div class="padding"></div>
1182
1183 <div class="entry">
1184 <div class="title">
1185 <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>
1186 </div>
1187 <div class="date">
1188 3rd July 2013
1189 </div>
1190 <div class="body">
1191 <p>The fourth wheezy based alpha release of Debian Edu was wrapped up
1192 today. This is the release announcement:</p>
1193
1194 <p><strong>New features for Debian Edu 7.1+edu0~alpha3 released
1195 2013-07-03</strong></p>
1196
1197 <p>These are the release notes for for Debian Edu / Skolelinux
1198 7.1+edu0~alpha3, based on Debian with codename "Wheezy".</p>
1199
1200 <p><strong>About Debian Edu and Skolelinux</strong></p>
1201
1202 <p><a href="http://www.skolelinux.org/">Debian Edu, also known as
1203 Skolelinux</a>, is a Linux distribution based on Debian providing an
1204 out-of-the box environment of a completely configured school
1205 network. Immediately after installation a school server running all
1206 services needed for a school network is set up just waiting for users
1207 and machines being added via GOsa², a comfortable Web-UI. A netbooting
1208 environment is prepared using PXE, so after initial installation of
1209 the main server from CD, DVD or USB stick all other machines can be
1210 installed via the network. The provided school server provides LDAP
1211 database and Kerberos authentication service, centralized home
1212 directories, DHCP server, web proxy and many other services. The
1213 desktop contains
1214 <a href="http://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html">more
1215 than 60 educational software packages</a> and more are available from
1216 the Debian archive, and schools can choose between KDE, Gnome, LXDE
1217 and Xfce desktop environment.</p>
1218
1219 <p>This is the fourth test release based on Debian Wheezy. Basically
1220 this is an updated and slightly improved version compared to the
1221 Squeeze release.</p>
1222
1223 <p><strong>Software updates</strong></p>
1224 <ul>
1225 <li>Dropped ispell dictionaries from our default installation.</li>
1226 <li>Dropped menu-xdg from the KDE desktop option, to drop the Debian
1227 submenu. It was not included with Gnome, LXDE or Xfce, so this
1228 brings KDE in line with the others.</li>
1229 <li>Dropped xdrawchem, xjig and xsok from our default installation as
1230 they don't have a desktop menu entry and thus won't show up in the
1231 menu now that menu-xdg was removed.</li>
1232 <li>Removed the killer system to kill left behind processes on
1233 multi-user machines, as it was no longer able to understand when a
1234 X display was in use and killed the processes of the active users
1235 too.</li>
1236 <li>Dropped the golearn (from goplay) package as the debtags in wheezy
1237 are too few to make the package useful.</li>
1238 </ul>
1239 <p><strong>Other changes</strong></p>
1240 <ul>
1241 <li>Updated artwork matching http://wiki.debian.org/DebianArt/Themes/Joy
1242 <li>Multi-arch i386/amd64 USB stick ISO available.</li>
1243 <li>Got rid of ispell/wordlist related debconf questions that showed
1244 up for some language options.</li>
1245 <li>Switched to using http.debian.net as APT source by default.</li>
1246 <li>Fixed proxy configuration on Main Server installations.</li>
1247 <li>Changed LTSP setup to ask dpkg to use force-unsafe-io the same way
1248 d-i is doing it.</li>
1249 <li>Made sure root and user passwords were not left behind in the
1250 debconf database after installation on Main Server installations.</li>
1251 <li>Made Roaming Workstation dynamic setup more robust and added draft
1252 script setup-ad-client to hook a Roaming Workstation up to a
1253 Active Directory server instead of a Debian Edu Main Server.</li>
1254 <li>Update system to install needed firmware packages during
1255 installation, to work properly in Wheezy.</li>
1256 <li>Update system to handle hardware quirks (debian-edu-hwsetup).</li>
1257 <li>Corrected PXE installation setup to properly pass selected desktop
1258 and keymap settings to PXE installation clients.</li>
1259 <li>LTSP diskless workstations use sshfs by default, allowing them to
1260 work without adding them to DNS and NIS netgroups for NFS access.</li>
1261 </ul>
1262 <p><strong>Known issues</strong></p>
1263 <ul>
1264 <li>No mass import of user account data in GOsa (ldif or csv)
1265 available yet (698840).</li>
1266 <li>Artwork not enabled for all desktops.</li>
1267 </ul>
1268 <p><strong>Where to get it</strong></p>
1269
1270 <p>To download the multiarch netinstall CD release you can use</p>
1271 <ul>
1272 <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>
1273 <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>
1274 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~a3-CD.iso .</li>
1275 </ul>
1276
1277 <p>The MD5SUM of this image is: 2b161a99d2a848c376d8d04e3854e30c
1278 <br>The SHA1SUM of this image is: 498922e9c508c0a7ee9dbe1dfe5bf830d779c3c8</p>
1279
1280 <p>To download the multiarch USB stick ISO release you can use</p>
1281 <ul>
1282 <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>
1283 <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>
1284 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~a3-USB.iso .</li>
1285 </ul>
1286
1287 <p>The MD5SUM of this image is: 25e808e403a4c15dbef1d13c37d572ac
1288 <br>The SHA1SUM of this image is: 15ecfc93eb6b4f453b7eb0bc04b6a279262d9721</p>
1289
1290 <p><strong>How to report bugs</strong></p>
1291
1292 <p><a href="http://wiki.debian.org/DebianEdu/HowTo/ReportBugs">http://wiki.debian.org/DebianEdu/HowTo/ReportBugs</a></p>
1293
1294 </div>
1295 <div class="tags">
1296
1297
1298 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>.
1299
1300
1301 </div>
1302 </div>
1303 <div class="padding"></div>
1304
1305 <div class="entry">
1306 <div class="title">
1307 <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>
1308 </div>
1309 <div class="date">
1310 25th June 2013
1311 </div>
1312 <div class="body">
1313 <p>It annoys me when the computer fail to do automatically what it is
1314 perfectly capable of, and I have to do it manually to get things
1315 working. One such task is to find out what firmware packages are
1316 needed to get the hardware on my computer working. Most often this
1317 affect the wifi card, but some times it even affect the RAID
1318 controller or the ethernet card. Today I pushed version 0.4 of the
1319 <a href="http://packages.qa.debian.org/isenkram">Isenkram package</a>
1320 including a new script isenkram-autoinstall-firmware handling the
1321 process of asking all the loaded kernel modules what firmware files
1322 they want, find debian packages providing these files and install the
1323 debian packages. Here is a test run on my laptop:</p>
1324
1325 <p><pre>
1326 # isenkram-autoinstall-firmware
1327 info: kernel drivers requested extra firmware: ipw2200-bss.fw ipw2200-ibss.fw ipw2200-sniffer.fw
1328 info: fetching http://http.debian.net/debian/dists/squeeze/Contents-i386.gz
1329 info: locating packages with the requested firmware files
1330 info: Updating APT sources after adding non-free APT source
1331 info: trying to install firmware-ipw2x00
1332 firmware-ipw2x00
1333 firmware-ipw2x00
1334 Preconfiguring packages ...
1335 Selecting previously deselected package firmware-ipw2x00.
1336 (Reading database ... 259727 files and directories currently installed.)
1337 Unpacking firmware-ipw2x00 (from .../firmware-ipw2x00_0.28+squeeze1_all.deb) ...
1338 Setting up firmware-ipw2x00 (0.28+squeeze1) ...
1339 #
1340 </pre></p>
1341
1342 <p>When all the requested firmware is present, a simple message is
1343 printed instead:</p>
1344
1345 <p><pre>
1346 # isenkram-autoinstall-firmware
1347 info: did not find any firmware files requested by loaded kernel modules. exiting
1348 #
1349 </pre></p>
1350
1351 <p>It could use some polish, but it is already working well and saving
1352 me some time when setting up new machines. :)</p>
1353
1354 <p>So, how does it work? It look at the set of currently loaded
1355 kernel modules, and look up each one of them using modinfo, to find
1356 the firmware files listed in the module meta-information. Next, it
1357 download the Contents file from a nearby APT mirror, and search for
1358 the firmware files in this file to locate the package with the
1359 requested firmware file. If the package is in the non-free section, a
1360 non-free APT source is added and the package is installed using
1361 <tt>apt-get install</tt>. The end result is a slightly better working
1362 machine.</p>
1363
1364 <p>I hope someone find time to implement a more polished version of
1365 this script as part of the hw-detect debian-installer module, to
1366 finally fix <a href="http://bugs.debian.org/655507">BTS report
1367 #655507</a>. There really is no need to insert USB sticks with
1368 firmware during a PXE install when the packages already are available
1369 from the nearby Debian mirror.</p>
1370
1371 </div>
1372 <div class="tags">
1373
1374
1375 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>.
1376
1377
1378 </div>
1379 </div>
1380 <div class="padding"></div>
1381
1382 <div class="entry">
1383 <div class="title">
1384 <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>
1385 </div>
1386 <div class="date">
1387 22nd June 2013
1388 </div>
1389 <div class="body">
1390 <p>In the <a href="http://www.skolelinux.org/">Debian Edu /
1391 Skolelinux</a> project, we include a post-installation test suite,
1392 which check that services are running, working, and return the
1393 expected results. It runs automatically just after the first boot on
1394 test installations (using test ISOs), but not on production
1395 installations (using non-test ISOs). It test that the LDAP service is
1396 operating, Kerberos is responding, DNS is replying, file systems are
1397 online resizable, etc, etc. And it check that the PXE service is
1398 configured, which is the topic of this post.</p>
1399
1400 <p>The last week I've fixed the DVD and USB stick ISOs for our Debian
1401 Edu Wheezy release. These ISOs are supposed to be able to install a
1402 complete system without any Internet connection, but for that to
1403 happen all the needed packages need to be on them. Thanks to our test
1404 suite, I discovered that we had forgotten to adjust our PXE setup to
1405 cope with the new names and paths used by the netboot d-i packages.
1406 When Internet connectivity was available, the installer fall back to
1407 using wget to fetch d-i boot images, but when offline it require
1408 working packages to get it working. And the packages changed name
1409 from debian-installer-6.0-netboot-$arch to
1410 debian-installer-7.0-netboot-$arch, we no longer pulled in the
1411 packages during installation. Without our test suite, I suspect we
1412 would never have discovered this before release. Now it is fixed
1413 right after we got the ISOs operational.</p>
1414
1415 <p>Another by-product of the test suite is that we can ask system
1416 administrators with problems getting Debian Edu to work, to run the
1417 test suite using <tt>/usr/sbin/debian-edu-test-install</tt> and see if
1418 any errors are detected. This usually pinpoint the subsystem causing
1419 the problem.</p>
1420
1421 <p>If you want to help us help kids learn how to share and create,
1422 please join us on
1423 <a href="irc://irc.debian.org/%23debian-edu">#debian-edu on
1424 irc.debian.org</a> and the
1425 <a href="http://lists.debian.org/debian-edu/">debian-edu@</a> mailing
1426 list.</p>
1427
1428 </div>
1429 <div class="tags">
1430
1431
1432 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>.
1433
1434
1435 </div>
1436 </div>
1437 <div class="padding"></div>
1438
1439 <div class="entry">
1440 <div class="title">
1441 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Victor_Ni_u.html">Debian Edu interview: Victor Nițu</a>
1442 </div>
1443 <div class="date">
1444 17th June 2013
1445 </div>
1446 <div class="body">
1447 <p>The <a href="http://www.skolelinux.org/">Debian Edu and
1448 Skolelinux</a> distribution have users and contributors all around the
1449 globe. And a while back, an enterprising young man showed up on
1450 <a href="irc://irc.debian.org/%23debian-edu">our IRC channel
1451 #debian-edu</a> and started asking questions about how Debian Edu
1452 worked. We answered as good as we could, and even convinced him to
1453 help us with translations. And today I managed to get an interview
1454 with him, to learn more about him.</p>
1455
1456 <p><strong>Who are you, and how do you spend your days?</strong></p>
1457
1458 <p>I'm a 25 year old free software enthusiast, living in Romania,
1459 which is also my country of origin. Back in 2009, at a New Year's Eve
1460 party, I had a very nice <strike>beer</strike> discussion with a
1461 friend, when we realized we have no organised Debian community in our
1462 country. A few days later, we put together the infrastructure for such
1463 community and even gathered a nice Debian-ish crowd. Since then, I
1464 began my quest as a free software hacker and activist and I am
1465 constantly trying to cover as much ground as possible on that
1466 field.</p>
1467
1468 <p>A few years ago I founded a small web development company, which
1469 provided me the flexible schedule I needed so much for my
1470 activities. For the last 13 months, I have been the Technical Director
1471 of <a href="http://ceata.org/">Fundația Ceata</a>, which is a free
1472 software activist organisation endorsed by the FSF and the FSFE, and
1473 the only one we have in our country.</p>
1474
1475 <p><strong>How did you get in contact with the Skolelinux / Debian Edu
1476 project?</strong></p>
1477
1478 <p>The idea of participating in the Debian Edu project was a surprise
1479 even to me, since I never used it before I began getting involved in
1480 it. This year I had a great opportunity to deliver a talk on
1481 educational software, and I knew immediately where to look. It was a
1482 love at first sight, since I was previously involved with some of the
1483 technologies the project incorporates, and I rapidly found a lot of
1484 ways to contribute.</p>
1485
1486 <p>My first contributions consisted in translating the installer and
1487 configuration dialogs, then I found some bugs to squash (I still
1488 haven't fixed them yet though), and I even got my eyes on some other
1489 areas where I can prove myself helpful. Since the appetite for free
1490 software in my country is pretty low, I'll be happy to be the first
1491 one around here advocating for the project's adoption in educational
1492 environments, and maybe even get my hands dirty in creating a flavour
1493 for our own needs. I am not used to make very advanced plannings, so
1494 from now on, time will tell what I'll be doing next, but I think I
1495 have a pretty consistent starting point.</p>
1496
1497 <p><strong>What do you see as the advantages of Skolelinux/Debian
1498 Edu?</strong></p>
1499
1500 <p>Not a long time ago, I was in the position of configuring and
1501 maintaining a LDAP server on some Debian derivative, and I must say it
1502 took me a while. A long time ago, I was maintaining a bigger
1503 Samba-powered infrastructure, and I must say I spent quite a lot of
1504 time on it. I have similar stories about many of the services included
1505 with Skolelinux, and the main advantage I see about it is the
1506 out-of-the box availability of them, making it quite competitive when
1507 it comes to managing a school's network, for example.</p>
1508
1509 <p>Of course, there is more to say about Skolelinux than the
1510 availability of the software included, its flexibility in various
1511 scenarios is something I can't wait to experiment "into the wild" (I
1512 only played with virtual machines so far). And I am sure there is a
1513 lot more I haven't discovered yet about it, being so new within the
1514 project.</p>
1515
1516 <p><strong>What do you see as the disadvantages of Skolelinux / Debian
1517 Edu?</strong></p>
1518
1519 <p>As usual, when it comes to Debian Blends, I see as the biggest
1520 disadvantage the lack of a numerous team dedicated to the
1521 project. Every day I see the same names in the changelogs, and I have
1522 a constantly fear of the bus factor in this story. I'd like to see
1523 Debian Edu advertised more as an entry point into the Debian
1524 ecosystem, especially amongst newcomers and students. IMHO there are a
1525 lot low-hanging fruits in terms of bug squashing, and enough
1526 opportunities to get the feeling of the Debian Project's dynamics. Not
1527 to mention it's a very fun blend to work on!</p>
1528
1529 <p>Derived from the previous statement, is the delay in catching up
1530 with the main Debian release and documentation. This is common though
1531 to all blends and derivatives, but it's an issue we can all work
1532 on.</p>
1533
1534 <p><strong>Which free software do you use daily?</strong></p>
1535
1536 <p>I can hardly imagine myself spending a day without Vim, since my
1537 daily routine covers writing code and hacking configuration files. I
1538 am a fan of the Awesome window manager (but I also like the
1539 Enlightenment project a lot!),
1540 <a href="http://www.claws-mail.org/‎">Claws Mail</a> due to its ease of
1541 use and very configurable behaviour. Recently I fell in love with
1542 <a href="https://launchpad.net/redshift">Redshift</a>, which helps me
1543 get through the night without headaches. Of course, there is much more
1544 stuff in this bag, but I'll need a blog on my own for doing this!</p>
1545
1546 <p><strong>Which strategy do you believe is the right one to use to
1547 get schools to use free software?</strong></p>
1548
1549 <p>Well, on this field, I cannot do much more than experiment right
1550 now. So, being far from having a recipe for success, I can only assume
1551 that:</p>
1552
1553 <ul>
1554
1555 <li>schools would like to get rid of proprietary software</li>
1556
1557 <li>students will love the openness of the system, and will want to
1558 experiment with it - maybe we need to harvest the native curiosity
1559 of teenagers more?</li>
1560
1561 <li>there is no "right one" when it comes to strategies, but it would
1562 be useful to have some success stories published somewhere, so
1563 other can get some inspiration from them (I know I'd promote
1564 them!)</li>
1565
1566 <li>more active promotion - talks, conferences, even small school
1567 lectures can do magical things if they encounter at least one
1568 person interested. Who knows who that person might be? ;-)</li>
1569
1570 </ul>
1571
1572 <p>I also see some problems in getting Skolelinux into schools; for
1573 example, in our country we have a great deal of corruption issues, so
1574 it might be hard(er) to fight against proprietary solutions. Also,
1575 people who relied on commercial software for all their lives, would be
1576 very hard to convert against their will.</p>
1577
1578 </div>
1579 <div class="tags">
1580
1581
1582 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>.
1583
1584
1585 </div>
1586 </div>
1587 <div class="padding"></div>
1588
1589 <div class="entry">
1590 <div class="title">
1591 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Jonathan_Carter.html">Debian Edu interview: Jonathan Carter</a>
1592 </div>
1593 <div class="date">
1594 12th June 2013
1595 </div>
1596 <div class="body">
1597 <p>There is a certain cross-over between the
1598 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux
1599 project</a> and <a href="http://www.edubuntu.org/">the Edubuntu
1600 project</a>, and for example the LTSP packages in Debian are a joint
1601 effort between the projects. One person with a foot in both camps is
1602 Jonathan Carter, which I am now happy to present to you.</p>
1603
1604 <p><strong>Who are you, and how do you spend your days?</strong></p>
1605
1606 <p>I'm a South-African free software geek who lives in Cape Town. My
1607 days vary quite a bit since I'm involved in too many things. As I'm
1608 getting older I'm learning how to focus a bit more :)</p>
1609
1610 <p>I'm also an Edubuntu contributor and I love when there are
1611 opportunities for the Edubuntu and Debian Edu projects to benefit from
1612 each other.</p>
1613
1614 <p><strong>How did you get in contact with the Skolelinux / Debian Edu
1615 project?</strong></p>
1616
1617 <p>I've been somewhat familiar with the project before, but I think my
1618 first direct exposure to the project was when I met Petter
1619 [Reinholdtsen] and Knut [Yrvin] at the Edubuntu summit in 2005 in
1620 London. They provided great feedback that helped the bootstrapping of
1621 Edubuntu. Back then Edubuntu (and even Ubuntu) was still very new and
1622 it was great getting input from people who have been around longer. I
1623 was also still very excitable and said yes to everything and to this
1624 day I have a big todo list backlog that I'm catching up with. I think
1625 over the years the relationship between Edubuntu and Debian-Edu has
1626 been gradually improving, although I think there's a lot that we could
1627 still improve on in terms of working together on packages. I'm sure
1628 we'll get there one day.</p>
1629
1630 <p><strong>What do you see as the advantages of Skolelinux / Debian
1631 Edu?</strong></p>
1632
1633 <p>Debian itself already has so many advantages. I could go on about
1634 it for pages, but in essence I love that it's a very honest project
1635 that puts its users first with no hidden agendas and also produces
1636 very high quality work.</p>
1637
1638 <p>I think the advantage of Debian Edu is that it makes many common
1639 set-up tasks simpler so that administrators can get up and running
1640 with a lot less effort and frustration. At the same time I think it
1641 helps to standardise installations in schools so that it's easier for
1642 community members and commercial suppliers to support.</p>
1643
1644 <p><strong>What do you see as the disadvantages of Skolelinux / Debian
1645 Edu?</strong></p>
1646
1647 <p>I had to re-type this one a few times because I'm trying to
1648 separate "disadvantages" from "areas that need improvement" (which is
1649 what I originally rambled on about)</p>
1650
1651 <p>The biggest disadvantage I can think of is lack of manpower. The
1652 project could do so much more if there were more good contributors. I
1653 think some of the problems are external too. Free software and free
1654 content in education is a no-brainer but it takes some time to catch
1655 on. When you've been working with the same proprietary eco-system for
1656 years and have gotten used to it, it can be hard to adjust to some
1657 concepts in the free software world. It would be nice if there were
1658 more Debian Edu consultants across the world. I'd love to be one
1659 myself but I'm already so over-committed that it's just not possible
1660 currently.</p>
1661
1662 <p>I think the best short-term solution to that large-scale problem is
1663 for schools to be pro-active and share their experiences and grow
1664 their skills in-house. I'm often saddened to see how much money
1665 educational institutions spend on 3rd party solutions that they don't
1666 have access to after the service has ended and they could've gotten so
1667 much more value otherwise by being more self-sustainable and
1668 autonomous.</p>
1669
1670 <p><strong>Which free software do you use daily?</strong></p>
1671
1672 <p>My main laptop dual-boots between Debian and Windows 7. I was
1673 Windows free for years but started dual-booting again last year for
1674 some games which help me focus and relax (Starcraft II in
1675 particular). Gaming support on Linux is improving in leaps and bounds
1676 so I suppose I'll soon be able to regain that disk space :)</p>
1677
1678 <p>Besides that I rely on Icedove, Chromium, Terminator, Byobu, irssi,
1679 git, Tomboy, KVM, VLC and LibreOffice. Recently I've been torn on
1680 which desktop environment I like and I'm taking some refuge in Xfce
1681 while I figure that out. I like tools that keep things simple. I enjoy
1682 Python and shell scripting. I went to an Arduino workshop recently and
1683 it was awesome seeing how easy and simple the IDE software was to get
1684 up and running in Debian compared to the users running Windows and OS
1685 X.</p>
1686
1687 <p>I also use mc which some people frown upon slightly. I got used to
1688 using Norton Commander in the early 90's and it stuck (I think the
1689 people who sneer at it is just jealous that they don't know how to use
1690 it :p)
1691
1692 <p><strong>Which strategy do you believe is the right one to use to
1693 get schools to use free software?</strong></p>
1694
1695 <p>I think trying to force it is unproductive. I also think that in
1696 many cases it's appropriate for schools to use non-free systems and I
1697 don't think that there's any particular moral or ethical problem with
1698 that.</p>
1699
1700 <p>I do think though that free software can already solve so so many
1701 problems in educational institutions and it's just a shame not taking
1702 advantage of that.</p>
1703
1704 <p>I also think that some curricula need serious review. For example,
1705 some areas of the world rely heavily on very specific versions of MS
1706 Office, teaching students to parrot menu items instead of learning the
1707 general concepts. I think that's very unproductive because firstly, MS
1708 Office's interface changes drastically every few years and on top of
1709 that it also locks in a generation to a product that might not be the
1710 best solution for them.</p>
1711
1712 <p>To answer your question, I believe that the right strategy is to
1713 educate and inform, giving someone the information they require to
1714 make a decision that would work for them.</p>
1715
1716 </div>
1717 <div class="tags">
1718
1719
1720 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>.
1721
1722
1723 </div>
1724 </div>
1725 <div class="padding"></div>
1726
1727 <div class="entry">
1728 <div class="title">
1729 <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>
1730 </div>
1731 <div class="date">
1732 11th June 2013
1733 </div>
1734 <div class="body">
1735 <p>When installing RedHat, Fedora, Debian and Ubuntu on some machines,
1736 the screen just turn black when Linux boot, either during installation
1737 or on first boot from the hard disk. I've seen it once in a while the
1738 last few years, but only recently understood the cause. I've seen it
1739 on HP laptops, and on my latest acquaintance the Packard Bell laptop.
1740 The reason seem to be in the wiring of some laptops. The system to
1741 control the screen background light is inverted, so when Linux try to
1742 turn the brightness fully on, it end up turning it off instead. I do
1743 not know which Linux drivers are affected, but this post is about the
1744 i915 driver used by the
1745 <a href="http://www.linlap.com/packard_bell_easynote_lv">Packard Bell
1746 EasyNote LV</a>, Thinkpad X40 and many other laptops.</p>
1747
1748 <p>The problem can be worked around two ways. Either by adding
1749 i915.invert_brightness=1 as a kernel option, or by adding a file in
1750 /etc/modprobe.d/ to tell modprobe to add the invert_brightness=1
1751 option when it load the i915 kernel module. On Debian and Ubuntu, it
1752 can be done by running these commands as root:</p>
1753
1754 <pre>
1755 echo options i915 invert_brightness=1 | tee /etc/modprobe.d/i915.conf
1756 update-initramfs -u -k all
1757 </pre>
1758
1759 <p>Since March 2012 there is
1760 <a href="http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=4dca20efb1a9c2efefc28ad2867e5d6c3f5e1955">a
1761 mechanism in the Linux kernel</a> to tell the i915 driver which
1762 hardware have this problem, and get the driver to invert the
1763 brightness setting automatically. To use it, one need to add a row in
1764 <a href="http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/i915/intel_display.c">the
1765 intel_quirks array</a> in the driver source
1766 <tt>drivers/gpu/drm/i915/intel_display.c</tt> (look for "<tt>static
1767 struct intel_quirk intel_quirks</tt>"), specifying the PCI device
1768 number (vendor number 8086 is assumed) and subdevice vendor and device
1769 number.</p>
1770
1771 <p>My Packard Bell EasyNote LV got this output from <tt>lspci
1772 -vvnn</tt> for the video card in question:</p>
1773
1774 <p><pre>
1775 00:02.0 VGA compatible controller [0300]: Intel Corporation \
1776 3rd Gen Core processor Graphics Controller [8086:0156] \
1777 (rev 09) (prog-if 00 [VGA controller])
1778 Subsystem: Acer Incorporated [ALI] Device [1025:0688]
1779 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- \
1780 ParErr- Stepping- SE RR- FastB2B- DisINTx+
1781 Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- \
1782 <TAbort- <MAbort->SERR- <PERR- INTx-
1783 Latency: 0
1784 Interrupt: pin A routed to IRQ 42
1785 Region 0: Memory at c2000000 (64-bit, non-prefetchable) [size=4M]
1786 Region 2: Memory at b0000000 (64-bit, prefetchable) [size=256M]
1787 Region 4: I/O ports at 4000 [size=64]
1788 Expansion ROM at <unassigned> [disabled]
1789 Capabilities: <access denied>
1790 Kernel driver in use: i915
1791 </pre></p>
1792
1793 <p>The resulting intel_quirks entry would then look like this:</p>
1794
1795 <p><pre>
1796 struct intel_quirk intel_quirks[] = {
1797 ...
1798 /* Packard Bell EasyNote LV11HC needs invert brightness quirk */
1799 { 0x0156, 0x1025, 0x0688, quirk_invert_brightness },
1800 ...
1801 }
1802 </pre></p>
1803
1804 <p>According to the kernel module instructions (as seen using
1805 <tt>modinfo i915</tt>), information about hardware needing the
1806 invert_brightness flag should be sent to the
1807 <a href="http://lists.freedesktop.org/mailman/listinfo/dri-devel">dri-devel
1808 (at) lists.freedesktop.org</a> mailing list to reach the kernel
1809 developers. But my email about the laptop sent 2013-06-03 have not
1810 yet shown up in
1811 <a href="http://lists.freedesktop.org/archives/dri-devel/2013-June/thread.html">the
1812 web archive for the mailing list</a>, so I suspect they do not accept
1813 emails from non-subscribers. Because of this, I sent my patch also to
1814 the Debian bug tracking system instead as
1815 <a href="http://bugs.debian.org/710938">BTS report #710938</a>, to make
1816 sure the patch is not lost.</p>
1817
1818 <p>Unfortunately, it is not enough to fix the kernel to get Laptops
1819 with this problem working properly with Linux. If you use Gnome, your
1820 worries should be over at this point. But if you use KDE, there is
1821 something in KDE ignoring the invert_brightness setting and turning on
1822 the screen during login. I've reported it to Debian as
1823 <a href="http://bugs.debian.org/711237">BTS report #711237</a>, and
1824 have no idea yet how to figure out exactly what subsystem is doing
1825 this. Perhaps you can help? Perhaps you know what the Gnome
1826 developers did to handle this, and this can give a clue to the KDE
1827 developers? Or you know where in KDE the screen brightness is changed
1828 during login? If so, please update the BTS report (or get in touch if
1829 you do not know how to update BTS).</p>
1830
1831 <p>Update 2013-07-19: The correct fix for this machine seem to be
1832 acpi_backlight=vendor, to disable ACPI backlight support completely,
1833 as the ACPI information on the machine is trash and it is better to
1834 leave it to the intel video driver to control the screen
1835 backlight.</p>
1836
1837 </div>
1838 <div class="tags">
1839
1840
1841 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>.
1842
1843
1844 </div>
1845 </div>
1846 <div class="padding"></div>
1847
1848 <div class="entry">
1849 <div class="title">
1850 <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>
1851 </div>
1852 <div class="date">
1853 10th June 2013
1854 </div>
1855 <div class="body">
1856 <p>The third wheezy based alpha release of Debian Edu was wrapped up
1857 today. This is the release announcement:</p>
1858
1859 <p><strong>New features for Debian Edu 7.0.0 alpha2 released
1860 2013-06-10</strong></p>
1861
1862 <p>This is the release notes for for Debian Edu / Skolelinux 7.0.0 edu
1863 alpha2, based on Debian with codename "Wheezy".</p>
1864
1865 <p><strong>About Debian Edu and Skolelinux</strong></p>
1866
1867 <p><a href="http://www.skolelinux.org/">Debian Edu, also known as
1868 Skolelinux</a>, is a Linux distribution based on Debian providing an
1869 out-of-the box environment of a completely configured school
1870 network. Immediately after installation a school server running all
1871 services needed for a school network is set up just waiting for users
1872 and machines being added via GOsa², a comfortable Web-UI. A netbooting
1873 environment is prepared using PXE, so after initial installation of
1874 the main server from CD, DVD or USB stick all other machines can be
1875 installed via the network. The provided school server provides LDAP
1876 database and Kerberos authentication service, centralized home
1877 directories, DHCP server, web proxy and many other services. The
1878 desktop contains
1879 <a href="http://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html">more
1880 than 60 educational software packages</a> and more are available from
1881 the Debian archive, and schools can choose between KDE, Gnome, LXDE
1882 and Xfce desktop environment.</p>
1883
1884 <p>This is the third test release based on Debian Wheezy. Basically
1885 this is an updated and slightly improved version compared to the
1886 Squeeze release.</p>
1887
1888 <p><strong>Software updates</strong></p>
1889
1890 <ul>
1891
1892 <li>Iceweasel was updated from 10 to 17. (DSA 2699-1)
1893 <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).
1894 <li>Switched xrdp on thin client servers to use tightvncserver instead of xvnc4.
1895 <li>Now install software oscilloscope xoscope by default.
1896 <li>Now install music tools gtick, lingot and pianobooster by default.
1897
1898 </ul>
1899
1900 <p><strong>Other changes</strong></p>
1901
1902 <ul>
1903
1904 <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.
1905 <li>Updated translation of the installation.
1906 <li>New Romanian translation.
1907 <li>Fix security problem causing root and first user password to no longer show up in /var/cache/debconf/templates.dat.
1908 <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).
1909 <li>Made roaming workstation setup more robust in non-Debian Edu environments.
1910 <li>New script debian-edu-bless to transform a Debian installation to a Debian Edu profile.
1911 <li>Adjust Iceweasel setup to improve performance when $HOME is on NFS.
1912 <li>More testsuite tests.
1913 <li>Make automatic proxy configuration more robust.
1914 <li>Adjust GOsa² GUI configuration.
1915
1916 <li>Update thin client and diskless workstation setup to work with
1917 LTSP in Wheezy.</li>
1918
1919 <li>Diskless workstations now run out of the box -- no need to set
1920 them up with GOsa².</li>
1921
1922 <li>Update IMAP server setup. </li>
1923
1924 <li>Fix login into Skolelinux Backup Tool (Closed in
1925 slbackup-php/0.4.4-1: #700257: slbackup-php: Fails to submit correctly
1926 entered password). </li>
1927
1928 </ul>
1929
1930 <p><strong>Known issues</strong></p>
1931
1932 <ul>
1933
1934 <li>DVD binary and source images are not yet ready.</li>
1935
1936 <li>No mass import of user account data in GOsa (ldif or csv)
1937 available yet (Open in gosa/2.7.4-4: #698840: gosa-plugin-ldapmanager:
1938 missing import feature).</li>
1939
1940 <li>Missing artwork for the KDE desktop (and probably a few others). </li>
1941
1942 <li>KDE Debian submenu lacks icons (Closed: #502192: menu-xdg: invents
1943 own icon names instead of using existing). This will remain
1944 unfixed.</li>
1945
1946 </ul>
1947
1948 <p><strong>Where to get it</strong></p>
1949
1950 <p>To download the multiarch netinstall CD release you can use</p>
1951
1952 <ul>
1953
1954 <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>
1955
1956 <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>
1957
1958 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.0+edu0~a2-CD.iso .</li>
1959
1960 </ul>
1961
1962 <p>The MD5SUM of this image is: 27bbcace407743382f3c42c08dbe8178
1963 <br>The SHA1SUM of this image is: e35f7d7908566cd3075375b3721fa10ee420d419</p>
1964
1965 <p><strong>How to report bugs</strong></p>
1966
1967 <p><a href="http://wiki.debian.org/DebianEdu/HowTo/ReportBugs">http://wiki.debian.org/DebianEdu/HowTo/ReportBugs</a>
1968
1969 </div>
1970 <div class="tags">
1971
1972
1973 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>.
1974
1975
1976 </div>
1977 </div>
1978 <div class="padding"></div>
1979
1980 <div class="entry">
1981 <div class="title">
1982 <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>
1983 </div>
1984 <div class="date">
1985 5th June 2013
1986 </div>
1987 <div class="body">
1988 <p>Here is a call for help from the Debian Edu / Skolelinux project.
1989 We have two problems blocking the release of the Wheezy version we
1990 hope to get released soon. The two problems require some with PHP
1991 skills, and we seem to lack anyone with both time and PHP skills in
1992 the project:
1993
1994 <ol>
1995
1996 <li>It is impossible to log into the slbackup web interface
1997 (slbackup-php) using the root user and password. This is
1998 <a href="http://bugs.debian.org/700257">BTS report #700257</a>.
1999 This used to work, but stopped working some time since Squeeze.
2000 Perhaps some obsolete PHP feature was used?</li>
2001
2002 <li>It is not possible to "mass import" user lists in Gosa, neither
2003 using ldif nor using CSV files. The feature was disabled after a
2004 major rewrite of Gosa, and need to be ported to the new system.
2005 This is <a href="http://bugs.debian.org/698840">BTS report
2006 #698840</a>.</li>
2007
2008 </ol>
2009
2010 <p>If you can help us, please join us on IRC
2011 (<a href="irc://irc.debian.org/%23debian-edu">#debian-edu on
2012 irc.debian.org</a>) and provide patches via the BTS.</p>
2013
2014 </div>
2015 <div class="tags">
2016
2017
2018 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>.
2019
2020
2021 </div>
2022 </div>
2023 <div class="padding"></div>
2024
2025 <div class="entry">
2026 <div class="title">
2027 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__C_dric_Boutillier.html">Debian Edu interview: Cédric Boutillier</a>
2028 </div>
2029 <div class="date">
2030 4th June 2013
2031 </div>
2032 <div class="body">
2033 <p>It has been a while since my last English
2034 <a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>
2035 interview last November. But the developers and translators are still
2036 pulling along to get the Wheezy based release out the door, and this
2037 time I managed to get an interview from one of the French translators
2038 in the project, Cédric Boutillier.</p>
2039
2040 <p><strong>Who are you, and how do you spend your days?</strong></p>
2041
2042 <p>I am 34 year old. I live near Paris, France. I am an assistant
2043 professor in probability theory. I spend my daytime teaching
2044 mathematics at the university and doing fundamental research in
2045 probability in connexion with combinatorics and statistical physics.</p>
2046
2047 <p>I have been involved in the Debian project for a couple of years
2048 and became Debian Developer a few months ago. I am working on Ruby
2049 packaging, publicity and translation.</p>
2050
2051 <p><strong>How did you get in contact with the Skolelinux / Debian Edu
2052 project?</strong></p>
2053
2054 <p>I came to the Debian Edu project after a call for translation of
2055 <a href="http://wiki.debian.org/DebianEdu/Documentation/Manuals">the
2056 Debian Edu manual</a> for the release of Debian Edu Squeeze. Since
2057 then, I have been working on updating the French translation of the
2058 manual.
2059
2060 <p>I had the opportunity to make an installation of Debian Edu in a
2061 virtual machine when I was preparing localised version of some screen
2062 shots for the manual. I was amazed to see it worked out of the box and
2063 how comprehensive the list of software installed by default was.</p>
2064
2065 <p>What amazed me was the complete network infrastructure directly
2066 ready to use, which can and the nice administration interface provided
2067 by <a href="https://oss.gonicus.de/labs/gosa/">GOsa²</a>. What pleased
2068 me also was the fact that among the software installed by default,
2069 there were many "traditional" educative software to learn languages,
2070 to count, to program... but also software to develop creativity and
2071 artistic skills with music (<a href="http://ardour.org/">Ardour</a>,
2072 <a href="http://audacity.sourceforge.net/">Audacity</a>) and
2073 movies/animation (I was especially thinking of
2074 <a href="http://linuxstopmotion.sourceforge.net/">Stopmotion</a>).</p>
2075
2076 <p>I am following the development of Debian Edu and am hanging out on
2077 <a href="irc://irc.debian.org/%23debian-edu">#debian-edu</a>.
2078 Unfortunately, I don't much time to get more involved in this
2079 beautiful project.</p>
2080
2081 <p><strong>What do you see as the advantages of Skolelinux / Debian
2082 Edu?</strong></p>
2083
2084 <p>For me, the main advantages of Skolelinux/Debian Edu are its
2085 community of experts and its precise documentation, as well as the
2086 fact that it provides a solution ready to use.</p>
2087
2088 <p>I would add also the fact that it is based on the rock solid Debian
2089 distribution, which ensures stability and provides a huge collection
2090 of educational free software.</p>
2091
2092 <p><strong>What do you see as the disadvantages of Skolelinux / Debian
2093 Edu?</strong></p>
2094
2095 <p>Maybe the lack of manpower to do lobbying on the
2096 project. Sometimes, people who need to take decisions concerning IT do
2097 not have all the elements to evaluate properly free software
2098 solutions. The fact that support by a company may be difficult to find
2099 is probably a problem if the school does not have IT personnel.</p>
2100
2101 <p>One can find support from a company by looking at
2102 <a href="http://wiki.debian.org/DebianEdu/Help/ProfessionalHelp">the
2103 wiki dokumentation</a>, where some countries already have a number of
2104 companies providing support for Debian Edu, like Germany or
2105 Norway. This list is easy to find readily from the manual. However,
2106 for other countries, like France, the list is empty. I guess that
2107 consultants proposing support for Debian would be able to provide some
2108 support for Debian Edu as well.</p>
2109
2110 <p><strong>Which free software do you use daily?</strong></p>
2111
2112 <p>I am using the KDE Plasma Desktop. But the pieces of software I use
2113 most runs in a terminal: Mutt and OfflineIMAP for emails, latex for
2114 scientific documents, mpd for music. VIM is my editor of choice. I am
2115 also using the mathematical software
2116 <a href="http://www.scilab.org/en/scilab/about‎">Scilab</a> and
2117 <a href="http://www.sagemath.org/index.html‎">Sage</a> (built from
2118 source as not completely packaged for Debian, yet).
2119
2120 <p><strong>Do you have any suggestions for teachers interested in
2121 using the free software in Debian to teach mathematics and
2122 statistics?</strong></p>
2123
2124 <p>I do not have any "nice" recommendations for statistics. At our
2125 university, we use both <a href="http://www.r-project.org/‎">R</a> and
2126 Scilab to teach statistics and probabilistic simulations. For
2127 geometry, there are nice programs:</p>
2128
2129 <ul>
2130
2131 <li><a href="http://www.drgeo.eu/">drgeo</a> and
2132 <a href="http://edu.kde.org/applications/all/kig‎">kig</a> to do
2133 constructions in planar geometry
2134
2135 <li><a href="http://www.geom.uiuc.edu/software/download/kali.html">kali</a>
2136 to discover symmetry groups (the so-called wallpapers and frieze
2137 groups), although the interface looks a bit old.</li>
2138
2139 </ul>
2140
2141 <p>I like also
2142 <a href="http://edu.kde.org/applications/all/cantor">cantor</a>, which
2143 provides a uniform interface to SciLab, Sage,
2144 <a href="http://directory.fsf.org/wiki/Octave‎">Octave</a>, etc...</p>
2145
2146 <p><strong>Which strategy do you believe is the right one to use to
2147 get schools to use free software?</strong></p>
2148
2149 <p>My suggestions would be to</p>
2150
2151 <ul>
2152
2153 <li>advertise the reduction of costs when free software is used.</li>
2154
2155 <li>communicate about the quality of free software projects, using
2156 well known examples like Firefox, ThunderBird and
2157 OpenOffice.org/LibreOffice.</li>
2158
2159 <li>advertise the living and strong community around the project.</li>
2160
2161 <li>show that it is not more difficult to use than any other
2162 system.</li>
2163
2164 </ul>
2165
2166 </div>
2167 <div class="tags">
2168
2169
2170 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>.
2171
2172
2173 </div>
2174 </div>
2175 <div class="padding"></div>
2176
2177 <div class="entry">
2178 <div class="title">
2179 <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>
2180 </div>
2181 <div class="date">
2182 1st June 2013
2183 </div>
2184 <div class="body">
2185 <p>Included in <a href="http://www.skolelinux.org/">Debian Edu /
2186 Skolelinux</a>, there are quite a lot of educational software.
2187 Created to help teachers teach, and pupils learn. We have tried to
2188 tag them all using debtags use::learning and role::program, and using
2189 the debtags I was happy to be able to create a collage of the
2190 educational software packages installed by default, sorted by the
2191 debtag field. Here it is. Click on a image to learn more about the
2192 program.</p>
2193
2194 <!-- 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 -->
2195
2196 <p><strong>field::arts</strong></p>
2197 <p>
2198 <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>
2199 <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>
2200 <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>
2201 <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>
2202 <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>
2203 <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>
2204 <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>
2205 <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>
2206 <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>
2207 <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>
2208 <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>
2209 <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>
2210 <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>
2211 <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>
2212 </p>
2213
2214 <p><strong>field::astronomy</strong></p>
2215 <p>
2216 <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>
2217 <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>
2218 <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>
2219 <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>
2220 <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>
2221 <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>
2222 </p>
2223
2224 <p><strong>field::biology:structural</strong></p>
2225 <p>
2226 <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>
2227 </p>
2228
2229 <p><strong>field::chemistry</strong></p>
2230 <p>
2231 <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>
2232 <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>
2233 <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>
2234 <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>
2235 <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>
2236 <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>
2237 <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>
2238 <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>
2239 <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>
2240 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=viewmol'>[viewmol]</a>
2241 <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>
2242 </p>
2243
2244 <p><strong>field::electronics</strong></p>
2245 <p>
2246 <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>
2247 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=gpsim'>[gpsim]</a>
2248 </p>
2249
2250 <p><strong>field::geography</strong></p>
2251 <p>
2252 <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>
2253 <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>
2254 <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>
2255 </p>
2256
2257 <p><strong>field::linguistics</strong></p>
2258 <p>
2259 <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>
2260 <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>
2261 <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>
2262 <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>
2263 <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>
2264 </p>
2265
2266 <p><strong>field::mathematics</strong></p>
2267 <p>
2268 <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>
2269 <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>
2270 <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>
2271 <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>
2272 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=geomview'>[geomview]</a>
2273 <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>
2274 <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>
2275 <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>
2276 <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>
2277 <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>
2278 <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>
2279 <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>
2280 <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>
2281 <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>
2282 <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>
2283 <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>
2284 <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>
2285 </p>
2286
2287 <p><strong>field::physics</strong></p>
2288 <p>
2289 <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>
2290 <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>
2291 </p>
2292
2293 <p><strong>field::TODO</strong></p>
2294 <p>
2295 <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>
2296 <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>
2297 <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>
2298 <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>
2299 <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>
2300 <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>
2301 <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>
2302 <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>
2303 <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>
2304 <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>
2305 </p>
2306
2307 <p>In total, 61 applications. 3 of them lacked screen shots on
2308 <a href="http://screenshot.debian.net">screenshot.debian.net</a>. If
2309 you know of some packages we should install by default, please let us
2310 know on <a href="irc://irc.debian.org/%23debian-edu">IRC, #debian-edu
2311 on irc.debian.org</a>, or our
2312 <a href="http://lists.debian.org/debian-edu/">mailing list
2313 debian-edu@</a>.</p>
2314
2315 </div>
2316 <div class="tags">
2317
2318
2319 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>.
2320
2321
2322 </div>
2323 </div>
2324 <div class="padding"></div>
2325
2326 <div class="entry">
2327 <div class="title">
2328 <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>
2329 </div>
2330 <div class="date">
2331 27th May 2013
2332 </div>
2333 <div class="body">
2334 <p>Two days ago, I asked
2335 <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
2336 I could install Linux on a Packard Bell EasyNote LV computer
2337 preinstalled with Windows 8</a>. I found a solution, but am horrified
2338 with the obstacles put in the way of Linux users on a laptop with UEFI
2339 and Windows 8.</p>
2340
2341 <p>I never found out if the cause of my problems were the use of UEFI
2342 secure booting or fast boot. I suspect fast boot was the problem,
2343 causing the firmware to boot directly from HD without considering any
2344 key presses and alternative devices, but do not know UEFI settings
2345 enough to tell.</p>
2346
2347 <p>There is no way to install Linux on the machine in question without
2348 opening the box and disconnecting the hard drive! This is as far as I
2349 can tell, the only way to get access to the firmware setup menu
2350 without accepting the Windows 8 license agreement. I am told (and
2351 found description on how to) that it is possible to configure the
2352 firmware setup once booted into Windows 8. But as I believe the terms
2353 of that agreement are completely unacceptable, accepting the license
2354 was never an alternative. I do not enter agreements I do not intend
2355 to follow.</p>
2356
2357 <p>I feared I had to return the laptops and ask for a refund, and
2358 waste many hours on this, but luckily there was a way to get it to
2359 work. But I would not recommend it to anyone planning to run Linux on
2360 it, and I have become sceptical to Windows 8 certified laptops. Is
2361 this the way Linux will be forced out of the market place, by making
2362 it close to impossible for "normal" users to install Linux without
2363 accepting the Microsoft Windows license terms? Or at least not
2364 without risking to loose the warranty?</p>
2365
2366 <p>I've updated the
2367 <a href="http://www.linlap.com/packard_bell_easynote_lv">Linux Laptop
2368 wiki page for Packard Bell EasyNote LV</a>, to ensure the next person
2369 do not have to struggle as much as I did to get Linux into the
2370 machine.</p>
2371
2372 <p>Thanks to Bob Rosbag, Florian Weimer, Philipp Kern, Ben Hutching,
2373 Michael Tokarev and others for feedback and ideas.</p>
2374
2375 </div>
2376 <div class="tags">
2377
2378
2379 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>.
2380
2381
2382 </div>
2383 </div>
2384 <div class="padding"></div>
2385
2386 <div class="entry">
2387 <div class="title">
2388 <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>
2389 </div>
2390 <div class="date">
2391 25th May 2013
2392 </div>
2393 <div class="body">
2394 <p>I've run into quite a problem the last few days. I bought three
2395 new laptops for my parents and a few others. I bought Packard Bell
2396 Easynote LV to run Kubuntu on and use as their home computer. But I
2397 am completely unable to figure out how to install Linux on it. The
2398 computer is preinstalled with Windows 8, and I suspect it uses UEFI
2399 instead of a BIOS to boot.</p>
2400
2401 <p>The problem is that I am unable to get it to PXE boot, and unable
2402 to get it to boot the Linux installer from my USB stick. I have yet
2403 to try the DVD install, and still hope it will work. when I turn on
2404 the computer, there is no information on what buttons to press to get
2405 the normal boot menu. I expect to get some boot menu to select PXE or
2406 USB stick booting. When booting, it first ask for the language to
2407 use, then for some regional settings, and finally if I will accept the
2408 Windows 8 terms of use. As these terms are completely unacceptable to
2409 me, I have no other choice but to turn off the computer and try again
2410 to get it to boot the Linux installer.</p>
2411
2412 <p>I have gathered my findings so far on a Linlap page about the
2413 <a href="http://www.linlap.com/packard_bell_easynote_lv">Packard Bell
2414 EasyNote LV</a> model. If you have any idea how to get Linux
2415 installed on this machine, please get in touch or update that wiki
2416 page. If I can't find a way to install Linux, I will have to return
2417 the laptop to the seller and find another machine for my parents.</p>
2418
2419 <p>I wonder, is this the way Linux will be forced out of the market
2420 using UEFI and "secure boot" by making it impossible to install Linux
2421 on new Laptops?</p>
2422
2423 </div>
2424 <div class="tags">
2425
2426
2427 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>.
2428
2429
2430 </div>
2431 </div>
2432 <div class="padding"></div>
2433
2434 <div class="entry">
2435 <div class="title">
2436 <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>
2437 </div>
2438 <div class="date">
2439 17th May 2013
2440 </div>
2441 <div class="body">
2442 <p><a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> is
2443 an operating system based on Debian intended for use in schools. It
2444 contain a turn-key solution for the computer network provided to
2445 pupils in the primary schools. It provide both the central server,
2446 network boot servers and desktop environments with heaps of
2447 educational software. The project was founded almost 12 years ago,
2448 2001-07-02. If you want to support the project, which is in need for
2449 cash to fund developer gatherings and other project related activity,
2450 <a href="http://www.linuxiskolen.no/slxdebianlabs/donations.html">please
2451 donate some money</a>.
2452
2453 <p>A topic that come up again and again on the Debian Edu mailing
2454 lists and elsewhere, is the question on how to transform a Debian or
2455 Ubuntu installation into a Debian Edu installation. It isn't very
2456 hard, and last week I wrote a script to replicate the steps done by
2457 the Debian Edu installer.</p>
2458
2459 <p>The script,
2460 <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/>
2461 in the debian-edu-config package, will go through these six steps and
2462 transform an existing Debian Wheezy or Ubuntu (untested) installation
2463 into a Debian Edu Workstation:</p>
2464
2465 <ol>
2466
2467 <li>Add skolelinux related APT sources.</li>
2468 <li>Create /etc/debian-edu/config with the wanted configuration.</li>
2469 <li>Install debian-edu-install to load preseeding values and pull in
2470 our configuration.</li>
2471 <li>Preseed debconf database with profile setup in
2472 /etc/debian-edu/config, and run tasksel to install packages
2473 according to the profile specified in the config above,
2474 overriding some of the Debian automation machinery.</li>
2475 <li>Run debian-edu-cfengine-D installation to configure everything
2476 that could not be done using preseeding.</li>
2477 <li>Ask for a reboot to enable all the configuration changes.</li>
2478
2479 </ol>
2480
2481 <p>There are some steps in the Debian Edu installation that can not be
2482 replicated like this. Disk partitioning and LVM setup, for example.
2483 So this script just assume there is enough disk space to install all
2484 the needed packages.</p>
2485
2486 <p>The script was created to help a Debian Edu student working on
2487 setting up <a href="http://www.raspberrypi.org">Raspberry Pi</a> as a
2488 Debian Edu client, and using it he can take the existing
2489 <a href="http://www.raspbian.org/FrontPage‎">Raspbian</a> installation and
2490 transform it into a fully functioning Debian Edu Workstation (or
2491 Roaming Workstation, or whatever :).</p>
2492
2493 <p>The default setting in the script is to create a KDE Workstation.
2494 If a LXDE based Roaming workstation is wanted instead, modify the
2495 PROFILE and DESKTOP values at the top to look like this instead:</p>
2496
2497 <p><pre>
2498 PROFILE="Roaming-Workstation"
2499 DESKTOP="lxde"
2500 </pre></p>
2501
2502 <p>The script could even become useful to set up Debian Edu servers in
2503 the cloud, by starting with a virtual Debian installation at some
2504 virtual hosting service and setting up all the services on first
2505 boot.</p>
2506
2507 </div>
2508 <div class="tags">
2509
2510
2511 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>.
2512
2513
2514 </div>
2515 </div>
2516 <div class="padding"></div>
2517
2518 <div class="entry">
2519 <div class="title">
2520 <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>
2521 </div>
2522 <div class="date">
2523 14th May 2013
2524 </div>
2525 <div class="body">
2526 <p>The <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux
2527 project</a> is making great progress and made its second Wheezy based
2528 release today. This is the release announcement:</p>
2529
2530 <p><strong>New features for Debian Edu 7.0.0 alpha1 released
2531 2013-05-14</strong></p>
2532
2533 <p>This is the release notes for for Debian Edu / Skolelinux 7.0.0 edu
2534 alpha1, based on <a href="http://www.debian.org">Debian</a> with
2535 codename "Wheezy".</p>
2536
2537 <p><strong>About Debian Edu and Skolelinux</strong></p>
2538
2539 <p>Debian Edu, also known as Skolelinux, is a Linux distribution based
2540 on Debian providing an out-of-the box environment of a completely
2541 configured school network. Immediatly after installation a school
2542 server running all services needed for a school network is set up just
2543 waiting for users and machines being added via GOsa², a comfortable
2544 Web-UI. A netbooting environment is prepared using PXE, so after
2545 initial installation of the main server from CD, DVD or USB stick all
2546 other machines can be installed via the network.</p>
2547
2548 <p>This is the first test release based on Wheezy (which currently is
2549 not released yet). Basically this is an updated and slightly improved
2550 version compared to the Squeeze release.</p>
2551
2552 <p><strong>Software updates</strong></p>
2553 <ul>
2554 <li>Install freemind (0.9.0) by default, and stop installing vym by
2555 default.</li>
2556 <li>Install chromium (26.0.1410.43) by default.</li>
2557 <li>Install goplay (0.5-1.1) to make golearn available by default.</li>
2558 <li>Updated support for Japanese input methods, now based on
2559 ibus-anthy.</li>
2560 </ul>
2561
2562 <p><strong>Other changes</strong></p>
2563 <ul>
2564
2565 <li>Switched default file system from ext3 to ext4 for speed and
2566 reliability improvements.</li>
2567 <li>Got rid of unwanted winbind daemon and PAM setup activated because
2568 of <a href="http://bugs.debian.org/706434">706434</a>.</li>
2569 <li>Extended and improved the testsuite tests to detect more possible
2570 problems.</li>
2571 <li>Corrected proxy handling to not set http_proxy to a bogus
2572 direct:// URL.</li>
2573 <li>Corrected proxy setup for diskless workstations.</li>
2574 <li>Corrected PXE setup to use our updated udebs during installation.</li>
2575 <li>Made installation handling of low entropy level more robust.</li>
2576 <li>Create larger partitions for Roaming workstations and Thin client
2577 servers, to make room for all the software installed.</li>
2578 <li>Fix bug in Roaming workstation PAM setup, making it impossible to
2579 log in (<a href="http://bugs.debian.org/706753">706753</a>).</li>
2580 </ul>
2581
2582 <p><strong>Known issues</strong></p>
2583 <ul>
2584
2585 <li>IP resolution for the local hostname give useless IPv6 address
2586 (<a href="http://bugs.debian.org/705900">705900</a>). Only install
2587 libnss-myhostname on roaming workstations until it is fixed.</li>
2588 <li>DVD images are not yet ready.</li>
2589 <li>No mass import of user account data in GOsa (ldif or csv)
2590 available yet (<a href="http://bugs.debian.org/698840">698840</a>).</li>
2591 <li>Missing artwork for the KDE desktop (and probably a few others).</li>
2592 <li>KDE Debian submenu lacks icons.</li>
2593 <li>LXDE menu lacks entry for changing GOsa password
2594 (website). Installing gosa-desktop will be an option.</li>
2595 <li>Backup configuration via web interface is impossible due to
2596 password submission problem
2597 (<a href="http://bugs.debian.org/700257">700257</a>).</li>
2598
2599 </ul>
2600
2601 <p><strong>Where to get it</strong></p>
2602
2603 <p>To download the multiarch netinstall CD release you can use</p>
2604 <ul>
2605
2606 <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>
2607 <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>
2608 <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>
2609
2610 </ul>
2611
2612 <p>The MD5SUM of this image is: 685ed76c1aa8e44b12d3fde21faf450b</p>
2613
2614 <p>The SHA1SUM of this image is: 6c874de157024da13e115bab29c068080a11ec4c</p>
2615
2616 <p><strong>How to report bugs</strong></p>
2617
2618 <p><a href="http://wiki.debian.org/DebianEdu/HowTo/ReportBugs">http://wiki.debian.org/DebianEdu/HowTo/ReportBugs</a></p>
2619
2620 </div>
2621 <div class="tags">
2622
2623
2624 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>.
2625
2626
2627 </div>
2628 </div>
2629 <div class="padding"></div>
2630
2631 <div class="entry">
2632 <div class="title">
2633 <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>
2634 </div>
2635 <div class="date">
2636 11th May 2013
2637 </div>
2638 <div class="body">
2639 <P>In January,
2640 <a href="http://people.skolelinux.org/pere/blog/New_IRC_channel_for_LEGO_designers_using_Debian.html">I
2641 announced a</a> new <a href="irc://irc.debian.org/%23debian-lego">IRC
2642 channel #debian-lego</a>, for those of us in the Debian and Linux
2643 community interested in <a href="http://www.lego.com/">LEGO</a>, the
2644 marvellous construction system from Denmark. We also created
2645 <a href="http://wiki.debian.org/LegoDesigners">a wiki page</a> to have
2646 a place to take notes and write down our plans and hopes. And several
2647 people showed up to help. I was very happy to see the effect of my
2648 call. Since the small start, we have a debtags tag
2649 <a href="http://debtags.debian.net/search/bytag?wl=hardware::hobby:lego">hardware::hobby:lego</a>
2650 tag for LEGO related packages, and now count 10 packages related to
2651 LEGO and <a href="http://mindstorms.lego.com/">Mindstorms</a>:</p>
2652
2653 <p><table>
2654 <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>
2655 <tr><td><a href="http://packages.qa.debian.org/leocad">leocad</a></td><td>virtual brick CAD software</td></tr>
2656 <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>
2657 <tr><td><a href="http://packages.qa.debian.org/lnpd">lnpd</a></td><td>daemon for LNP communication with BrickOS</td></tr>
2658 <tr><td><a href="http://packages.qa.debian.org/nbc">nbc</a></td><td>compiler for LEGO Mindstorms NXT bricks</td></tr>
2659 <tr><td><a href="http://packages.qa.debian.org/nqc">nqc</a></td><td>Not Quite C compiler for LEGO Mindstorms RCX</td></tr>
2660 <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>
2661 <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>
2662 <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>
2663 <tr><td><a href="http://packages.qa.debian.org/t2n">t2n</a></td><td>simple command-line tool for Lego NXT</td></tr>
2664 </table></p>
2665
2666 <p>Some of these are available in Wheezy, and all but one are
2667 currently available in Jessie/testing. leocad is so far only
2668 available in experimental.</p>
2669
2670 <p>If you care about LEGO in Debian, please join us on IRC and help
2671 adding the rest of the great free software tools available on Linux
2672 for LEGO designers.</p>
2673
2674 </div>
2675 <div class="tags">
2676
2677
2678 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>.
2679
2680
2681 </div>
2682 </div>
2683 <div class="padding"></div>
2684
2685 <div class="entry">
2686 <div class="title">
2687 <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>
2688 </div>
2689 <div class="date">
2690 5th May 2013
2691 </div>
2692 <div class="body">
2693 <p>When I woke up this morning, I was very happy to see that the
2694 <a href="http://www.debian.org/News/2013/20130504">release announcement
2695 for Debian Wheezy</a> was waiting in my mail box. This is a great
2696 Debian release, and I expect to move my machines at home over to it fairly
2697 soon.</p>
2698
2699 <p>The new debian release contain heaps of new stuff, and one program
2700 in particular make me very happy to see included. The
2701 <a href="http://scratch.mit.edu/">Scratch</a> program, made famous by
2702 the <a href="http://www.code.org/">Teach kids code</a> movement, is
2703 included for the first time. Alongside similar programs like
2704 <a href="http://edu.kde.org/kturtle/">kturtle</a> and
2705 <a href="http://wiki.sugarlabs.org/go/Activities/Turtle_Art">turtleart</a>,
2706 it allow for visual programming where syntax errors can not happen,
2707 and a friendly programming environment for learning to control the
2708 computer. Scratch will also be included in the next release of Debian
2709 Edu.</a>
2710
2711 <p>And now that Wheezy is wrapped up, we can wrap up the next Debian
2712 Edu/Skolelinux release too. The
2713 <a href="http://lists.debian.org/debian-edu/2013/04/msg00132.html">first
2714 alpha release</a> went out last week, and the next should soon
2715 follow.<p>
2716
2717 </div>
2718 <div class="tags">
2719
2720
2721 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>.
2722
2723
2724 </div>
2725 </div>
2726 <div class="padding"></div>
2727
2728 <div class="entry">
2729 <div class="title">
2730 <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>
2731 </div>
2732 <div class="date">
2733 26th April 2013
2734 </div>
2735 <div class="body">
2736 <p>The Debian Edu / Skolelinux project is still going strong and made
2737 its first Wheezy based release today. This is the release
2738 announcement:</p>
2739
2740 <p><strong>New features for Debian Edu ~7.0.0 alpha0 released
2741 2013-04-26</strong></p>
2742
2743 <p>This is the release notes for for Debian Edu / Skolelinux ~7.0.0
2744 edu alpha0, based on Debian with codename "Wheezy".</p>
2745
2746 <p><strong>About Debian Edu and Skolelinux</strong></p>
2747
2748 <p><a href="http://www.skolelinux.org/">Debian Edu, also known as
2749 Skolelinux</a>, is a Linux distribution based on Debian providing an
2750 out-of-the box environment of a completely configured school
2751 network. Immediatly after installation a school server running all
2752 services needed for a school network is set up just waiting for users
2753 and machines being added via GOsa², a comfortable Web-UI. A netbooting
2754 environment is prepared using PXE, so after initial installation of
2755 the main server from CD, DVD or USB stick all other machines can be
2756 installed via the network.</p>
2757
2758 <p>This is the first test release based on Wheezy (which currently is
2759 not released yet). Basically this is an updated and slightly improved
2760 version compared to the Squeeze release.</p>
2761
2762 <p><strong>Software updates</strong></p>
2763
2764 <ul>
2765 <li>Everything which is new in Debian Wheezy, eg:
2766 <ul>
2767 <li>Linux kernel 3.2.x</li>
2768 <li>Desktop environments KDE "Plasma" 4.8.4, GNOME 3.4, and LXDE 4
2769 (KDE is installed by default; to choose GNOME or LXDE: see
2770 manual.)</li>
2771 <li>Web browser Iceweasel 10 ESR</li>
2772 <li>LibreOffice 3.5.4</li>
2773 <li>LTSP 5.4.2</li>
2774 <li>GOsa 2.7.4</li>
2775 <li>CUPS print system 1.5.3</li>
2776 <li>Educational toolbox GCompris 12.01</li>
2777 <li>Music creator Rosegarden 12.04</li>
2778 <li>Image editor Gimp 2.8.2</li>
2779 <li>Virtual universe Celestia 1.6.1</li>
2780 <li>Virtual stargazer Stellarium 0.11.3</li>
2781 <li>Scratch visual programming environment 1.4.0.6</li>
2782 <li>New version of debian-installer from Debian Wheezy, see
2783 <a href="http://www.debian.org/releases/wheezy/installmanual">installation
2784 manual</a> for more details.</li>
2785 <li>Debian Wheezy includes about 37000 packages available for
2786 installation.</li>
2787 <li>More information about Debian Wheezy 7.0 is provided in the
2788 <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>
2789 </ul></li>
2790 </ul>
2791
2792 <p><strong>Documentation</strong></p>
2793 <ul>
2794 <li>The (<a href="http://wiki.debian.org/DebianEdu/Documentation/Wheezy">English</a>) Debian Edu Wheezy Manual is fully translated to
2795 German, French, Italian and Danish. Partly translated versions exist
2796 for Norwegian Bokmal and Spanish.</li>
2797 </ul>
2798
2799 <p><Strong>LDAP related changes</strong></p>
2800 <ul>
2801 <li>Slight changes to some objects and acls to have more types to
2802 choose from when adding systems in GOsa. Now systems can be of type
2803 server, workstation, printer, terminal or netdevice.</li>
2804 </ul>
2805
2806 <p><strong>Other changes</strong></p>
2807 <ul>
2808 <li>LTSP clients start as diskless workstation / thin client can be
2809 configured via command line argument -- or individually adding an
2810 entry in lts.conf or LDAP.<li>
2811 <li>GOsa gui: Now some options that seemed to be available, but are non
2812 functional, are greyed out (or are not clickable). Some tabs are
2813 completely hidden to the end user, others even to the GOsa admin.</li>
2814 </ul>
2815
2816 <p><strong>Regressions</strong></p>
2817 <ul>
2818 <li>No mass import of user account data in GOsa (ldif or csv) available
2819 yet.</li>
2820 </ul>
2821
2822 <p><strong>No updated artwork</strong></p>
2823
2824 <ul>
2825 <li>Updated artwork which is visible during installation, in the login
2826 screen and as desktop wallpaper is still missing or the same as we
2827 had for our Squeeze based release.</li>
2828 </ul>
2829
2830 <p><strong>Where to get it</strong></p>
2831
2832 To download the multiarch netinstall CD release you can use
2833 <ul>
2834 <li><a href="ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/">ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/</a></li>
2835 <li><a href="http://ftp.skolelinux.org/skolelinux-cd/wheezy/">http://ftp.skolelinux.org/skolelinux-cd/wheezy/</a></li>
2836 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/</li>
2837 </ul>
2838
2839 <p>The MD5SUM of this image is: c5e773ddafdaa4f48c409c682f598b6c</p>
2840
2841 <p>The SHA1SUM of this image is: 25934fabb9b7d20235499a0a51f08ce6c54215f2</p>
2842
2843 <p><strong>How to report bugs</strong></p>
2844
2845 <p><a href="http://wiki.debian.org/DebianEdu/HowTo/ReportBugs">http://wiki.debian.org/DebianEdu/HowTo/ReportBugs</a></p>
2846
2847 </div>
2848 <div class="tags">
2849
2850
2851 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>.
2852
2853
2854 </div>
2855 </div>
2856 <div class="padding"></div>
2857
2858 <div class="entry">
2859 <div class="title">
2860 <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>
2861 </div>
2862 <div class="date">
2863 16th April 2013
2864 </div>
2865 <div class="body">
2866 <p>This years first <a href="http://www.skolelinux.org/">Skolelinux /
2867 Debian Edu</a> developer gathering take place the coming weekend in Trondheim.
2868 Details about the gathering can be found
2869 <a href="http://www.friprogramvareiskolen.no/Gathering/2013-04-19-21-Trondheim">on
2870 the FRiSK wiki</a>. The dates are 19-21th of April 2013, and online
2871 participation for those unable to make it in person is very welcome,
2872 and I plan to participate online myself as I could not leave Oslo this
2873 weekend.</p>
2874
2875 <p>The focus of the gathering is to work on the web pages and project
2876 infrastructure, and to continue the work on the Wheezy based Debian
2877 Edu release.</p>
2878
2879 <p>See you on <a href="irc://irc.debian.org/%23debian-edu">IRC, #debian-edu on irc.debian.org,</a> then?</p>
2880
2881 </div>
2882 <div class="tags">
2883
2884
2885 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>.
2886
2887
2888 </div>
2889 </div>
2890 <div class="padding"></div>
2891
2892 <div class="entry">
2893 <div class="title">
2894 <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>
2895 </div>
2896 <div class="date">
2897 3rd April 2013
2898 </div>
2899 <div class="body">
2900 <p>Today the <a href="http://packages.qa.debian.org/isenkram">Isenkram
2901 package</a> finally made it into the archive, after lingering in NEW
2902 for many months. I uploaded it to the Debian experimental suite
2903 2013-01-27, and today it was accepted into the archive.</p>
2904
2905 <p>Isenkram is a system for suggesting to users what packages to
2906 install to work with a pluggable hardware device. The suggestion pop
2907 up when the device is plugged in. For example if a Lego Mindstorm NXT
2908 is inserted, it will suggest to install the program needed to program
2909 the NXT controller. Give it a go, and report bugs and suggestions to
2910 BTS. :)</p>
2911
2912 </div>
2913 <div class="tags">
2914
2915
2916 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>.
2917
2918
2919 </div>
2920 </div>
2921 <div class="padding"></div>
2922
2923 <div class="entry">
2924 <div class="title">
2925 <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>
2926 </div>
2927 <div class="date">
2928 26th March 2013
2929 </div>
2930 <div class="body">
2931 <p>Would you like to help the environment and save money at the same
2932 time, without much sacrifice? A small step could be to change the
2933 font you use when printing.</p>
2934
2935 <p>Three years ago,
2936 <a href="http://arstechnica.com/business/2010/04/last-year-printer-comparison-website/">Ars
2937 Technica</a> reported how the University of Wisconsin-Green Bay
2938 changed their default front from
2939 <a href="http://en.wikipedia.org/wiki/Arial">Arial</a> to
2940 <a href="http://en.wikipedia.org/wiki/Century_Gothic">Century
2941 Gothic</a> to save money. The Century Gothic font uses 30% less toner
2942 than Arial to print the same text. In other word, you could cut your
2943 toner costs by 30% (or actually, increase your toner supply life time
2944 by more than 30%), by simply changing the default font used in your
2945 prints.</p>
2946
2947 <p>But it is not quite obvious how much one will save by switching.
2948 The University of Wisconsin-Green Bay said it used $100,000 per year
2949 on ink and toner cartridges, according to
2950 <a href="http://www.twincities.com/ci_14833097">a report from
2951 TwinCities.com</a>, and expected to save between $5,000 and $10,000
2952 per year by asking staff and students to use a different font. Not
2953 all PDFs and documents are created internally, and those from external
2954 sources will most likely still use a different font. Also, the
2955 Century Gothic font is slightly wider than Arial, and thus might use
2956 more sheets of paper to print the same text, so the total saving
2957 depend on the documents printed.</p>
2958
2959 <p>But it is definitely something to consider, if you want to reduce
2960 the amount of trash, decrease the amount of toner used in the world,
2961 and save some money in the process.</p>
2962
2963 <p>Update 2013-04-10: If you want to know how much ink/toner could be
2964 saved when switching between fonts, Inkfarm got a
2965 <a href="http://www.inkfarm.com/What-the-Font">service to calculate the
2966 difference between font pairs</a>. They also
2967 <a href="http://www.inkfarm.com/Recommended-Ink-Saving-Fonts---">recommend
2968 which fonts to use</a> to save ink. Check it out. :) While updating
2969 this blog post, I also came across a blog post from InkCloners,
2970 <a href="http://inkcloners.com/blog/ink-cartridges/change-fonts-to-save-ink-costs/">listing
2971 the fonts they recommend</a>, with Centory Gothic at the top.</p>
2972
2973 </div>
2974 <div class="tags">
2975
2976
2977 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
2978
2979
2980 </div>
2981 </div>
2982 <div class="padding"></div>
2983
2984 <div class="entry">
2985 <div class="title">
2986 <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>
2987 </div>
2988 <div class="date">
2989 24th March 2013
2990 </div>
2991 <div class="body">
2992 <p>A few days ago, during a discussion in
2993 <a href="http://www.efn.no/">EFN</a> about interesting books to read
2994 about copyright and the data retention directive, a suggestion to read
2995 the 1968 short story Kodémus by
2996 <a href="http://web2.gyldendal.no/toraage/">Tore Åge Bringsværd</a>
2997 came up. The text was only available in old paper books, and thus not
2998 easily available for current and future generations. Some of the
2999 people participating in the discussion contacted the author, and
3000 reported back 2013-03-19 that the author was OK with releasing the
3001 short story using a <a href="http://www.creativecommons.org/">Creative
3002 Commons</a> license. The text was quickly scanned and OCR-ed, and we
3003 were ready to start on the editing and typesetting.</p>
3004
3005 <p>As I already had some experience formatting text in my project to
3006 provide a Norwegian version of the Free Culture book by Lawrence
3007 Lessig, I chipped in and set up a
3008 <a href="http://www.docbook.org/">DocBook</a> processing framework to
3009 generate PDF, HTML and EPUB version of the short story. The tools to
3010 transform DocBook to different formats are already in my Linux
3011 distribution of choice, <a href="http://www.debian.org/">Debian</a>, so
3012 all I had to do was to use the
3013 <a href="http://dblatex.sourceforge.net/">dblatex</a>,
3014 <a href="http://docbook.sourceforge.net/release/xsl/current/epub/README">dbtoepub</a>
3015 and <a href="https://fedorahosted.org/xmlto/">xmlto</a> tools to do the
3016 conversion. After a few days, we decided to replace dblatex with
3017 xsltproc/fop (aka
3018 <a href="http://wiki.docbook.org/DocBookXslStylesheets">docbook-xsl</a>),
3019 to get the copyright information to show up in the PDF and to get a
3020 nicer &lt;variablelist&gt; typesetting, but that is just a minor
3021 technical detail.</p>
3022
3023 <p>There were a few challenges, of course. We want to typeset the
3024 short story to look like the original, and that require fairly good
3025 control over the layout. The original short story have three
3026 parts/scenes separated by a single horizontally centred star (*), and
3027 the paragraphs do not contain only flowing text, but dialogs and text
3028 that started on a new line in the middle of the paragraph.</p>
3029
3030 <p>I initially solved the first challenge by using a paragraph with a
3031 single star in it, ie &lt;para&gt;*&lt;/para&gt;, but it made sure a
3032 placeholder indicated where the scene shifted. This did not look too
3033 good without the centring. The next approach was to create a new
3034 preprocessor directive &lt;?newscene?&gt;, mapping to "&lt;hr/&gt;"
3035 for HTML and "&lt;fo:block text-align="center"&gt;&lt;fo:leader
3036 leader-pattern="rule" rule-thickness="0.5pt"/&gt;&lt;/fo:block&gt;"
3037 for FO/PDF output (did not try to implement this in dblatex, as we had
3038 switched at this time). The HTML XSL file looked like this:</p>
3039
3040 <p><blockquote><pre>
3041 &lt;?xml version='1.0'?&gt;
3042 &lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'&gt;
3043 &lt;xsl:template match="processing-instruction('newscene')"&gt;
3044 &lt;hr/&gt;
3045 &lt;/xsl:template&gt;
3046 &lt;/xsl:stylesheet&gt;
3047 </pre></blockquote></p>
3048
3049 <p>And the FO/PDF XSL file looked like this:</p>
3050
3051 <p><blockquote><pre>
3052 &lt;?xml version='1.0'?&gt;
3053 &lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'&gt;
3054 &lt;xsl:template match="processing-instruction('newscene')"&gt;
3055 &lt;fo:block text-align="center"&gt;
3056 &lt;fo:leader leader-pattern="rule" rule-thickness="0.5pt"/&gt;
3057 &lt;/fo:block&gt;
3058 &lt;/xsl:template&gt;
3059 &lt;/xsl:stylesheet&gt;
3060 </pre></blockquote></p>
3061
3062 <p>Finally, I came across the &lt;bridgehead&gt; tag, which seem to be
3063 a good fit for the task at hand, and I replaced &lt;?newscene?&gt;
3064 with &lt;bridgehead&gt;*&lt;/bridgehead&gt;. It isn't centred, but we
3065 can fix it with some XSL rule if the current visual layout isn't
3066 enough.</p>
3067
3068 <p>I did not find a good DocBook compliant way to solve the
3069 linebreak/paragraph challenge, so I ended up creating a new processor
3070 directive &lt;?linebreak?&gt;, mapping to &lt;br/&gt; in HTML, and
3071 &lt;fo:block/&gt; in FO/PDF. I suspect there are better ways to do
3072 this, and welcome ideas and patches on github. The HTML XSL file now
3073 look like this:</p>
3074
3075 <p><blockquote><pre>
3076 &lt;?xml version='1.0'?&gt;
3077 &lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'&gt;
3078 &lt;xsl:template match="processing-instruction('linebreak)"&gt;
3079 &lt;br/&gt;
3080 &lt;/xsl:template&gt;
3081 &lt;/xsl:stylesheet&gt;
3082 </pre></blockquote></p>
3083
3084 <p>And the FO/PDF XSL file looked like this:</p>
3085
3086 <p><blockquote><pre>
3087 &lt;?xml version='1.0'?&gt;
3088 &lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'
3089 xmlns:fo="http://www.w3.org/1999/XSL/Format"&gt;
3090 &lt;xsl:template match="processing-instruction('linebreak)"&gt;
3091 &lt;fo:block/&gt;
3092 &lt;/xsl:template&gt;
3093 &lt;/xsl:stylesheet&gt;
3094 </pre></blockquote></p>
3095
3096 <p>One unsolved challenge is our wish to expose different ISBN numbers
3097 per publication format, while keeping all of them in some conditional
3098 structure in the DocBook source. No idea how to do this, so we ended
3099 up listing all the ISBN numbers next to their format in the colophon
3100 page.</p>
3101
3102 <p>If you want to check out the finished result, check out the
3103 <a href="https://github.com/sickel/kodemus">source repository at
3104 github</a>
3105 (<a href="https://github.com/EFN/kodemus">future/new/official
3106 repository</a>). We expect it to be ready and announced in a few
3107 days.</p>
3108
3109 </div>
3110 <div class="tags">
3111
3112
3113 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>.
3114
3115
3116 </div>
3117 </div>
3118 <div class="padding"></div>
3119
3120 <div class="entry">
3121 <div class="title">
3122 <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>
3123 </div>
3124 <div class="date">
3125 17th March 2013
3126 </div>
3127 <div class="body">
3128 <p>Via
3129 <a href="https://twitter.com/pcwizz/status/313044373262716930">twitter</a>
3130 I just discovered that <a href="http://pcwizz.net/">Pcwizz</a> have
3131 done a <a href="http://www.youtube.com/watch?v=wPzTZ61Pcuc">video
3132 review</a> on Youtube of <a href="http://www.skolelinux.org/">Skolelinux
3133 / Debian Edu</a> version 6. He installed the standalone profile and
3134 the video show a walk-through of of the menu content, demonstration of
3135 a few programs and his view of our distribution.</p>
3136
3137 <p>There is also some really nice quotes (transcribed by me, might
3138 have heard wrong). While looking thought the Graphics menu:</p>
3139
3140 <blockquote>
3141 "Basically everything you ever need in a school environment."
3142 </blockquote>
3143
3144 <p>And as a general evaluation of the entire distribution:</p>
3145
3146 <blockquote>
3147 "So, yeah, a bit bloated. It kept all the Debian stuff in there, just
3148 to keep it nice and GNU. So, I do not want to go on about it, but
3149 lets give it 7 out of 10. I am not going to use it. That is because
3150 I am not deploying a school network. There may be some mythical
3151 feature to help you deploy Skolelinux on a school network."
3152 </blockquote>
3153
3154 <p>To bad he did not test the server profile, and discovered the PXE
3155 installation option. It make it possible to install only the main
3156 server from CD, and the rest of the machines via the net, and might be
3157 considered the mythical feature he talk about. :)</p>
3158
3159 <p>While looking through the menus, there is also this funny comment
3160 about the part of the K menu generated from the Debian menu subsystem:
3161
3162 <blockquote>
3163 "[The K menu] have a special Debian section for software that no-one
3164 is going to look at, because it contain lots of junky stuff that you
3165 actually don't need in the education distribution, but have just been
3166 included because it isn't stripped out for some reason."
3167 </blockquote>
3168
3169 <p>I guess it is yet another argument for merging the Debian menu and
3170 Gnome/KDE desktop menu entries into
3171 <a href="http://wiki.debian.org/Proposals/DebianMenuUsingDesktopEntries">one
3172 consistent menu system</a> instead of two incomplete and partly
3173 inconsistent menu systems.</p>
3174
3175 <p>The entire video is available below for those accepting iframe
3176 embedding:</p>
3177
3178 <iframe width="560" height="315" src="http://www.youtube.com/embed/wPzTZ61Pcuc" frameborder="0" allowfullscreen></iframe>
3179
3180 </div>
3181 <div class="tags">
3182
3183
3184 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>.
3185
3186
3187 </div>
3188 </div>
3189 <div class="padding"></div>
3190
3191 <div class="entry">
3192 <div class="title">
3193 <a href="http://people.skolelinux.org/pere/blog/First_Skolelinux___Debian_Edu_Squeeze_update_released.html">First Skolelinux / Debian Edu Squeeze update released</a>
3194 </div>
3195 <div class="date">
3196 8th March 2013
3197 </div>
3198 <div class="body">
3199 <p>Last Sunday, 2013-03-03,, Holger Levsen announced the first update
3200 of <a href="http://www.skolelinux.org/">Skolelinux / Debian Edu</a>
3201 based on Debian Squeeze. This is the first update since
3202 <a href="http://lists.debian.org/debian-edu-announce/2012/03/msg00001.html">the
3203 initial release 2012-03-11</a>. This is the
3204 <a href="http://lists.debian.org/debian-edu-announce/2013/03/msg00000.html">release
3205 announcement email from Holger</a>:</p>
3206
3207 <blockquote><p>Hi,</p>
3208
3209 <p>it's my pleasure to announce the immediate availability of Debian
3210 Edu 6.0.7+r1 ("Debian Edu Squeeze").</p>
3211
3212 <p>Debian Edu 6.0.7+r1 is an incremental update to Debian Edu
3213 6.0.4+r0, containing all the changes between Debian 6.0.4 and 6.0.7 as
3214 well Debian Edu specific bugfixes and enhancements. See below (in this
3215 mail) for the full list of (edu) changes. Please see
3216 <a href="http://www.debian.org/News/2012/20120311">http://www.debian.org/News/2012/20120311</a>
3217 for more information on "Debian Edu Squeeze".</p>
3218
3219 <p>Images are available for download at
3220 <a href="http://ftp.skolelinux.org/skolelinux-cd/">http://ftp.skolelinux.org/skolelinux-cd/</a></p>
3221
3222 <p>md5sums:
3223 <br>1fe79eb4f0f9ae1c58fc318e26cc1e2e debian-edu-6.0.7+r1-CD.iso
3224 <br>a6ddd924a8bd9a1b5ca122e8fe1c34ec debian-edu-6.0.7+r1-DVD.iso
3225 <br>ac6c72cd7925ccec51bfbf58e2a7c69c debian-edu-6.0.7+r1-source-DVD.iso</p>
3226
3227 <p>sha1sums:
3228 <br>a4b58233b672a99c7df8dc24fb6de3327654a5c3 debian-edu-6.0.7+r1-CD.iso
3229 <br>9b524915e0ff2aa793f13d93123e5bd2bab2dbaa debian-edu-6.0.7+r1-DVD.iso
3230 <br>43997614893fc5e9e59ad6ce066b05d07fd836fa debian-edu-6.0.7+r1-source-DVD.iso</p>
3231
3232 <p>These images are suitable for amd64+i386.</p>
3233
3234 <p>Changes for Debian Edu 6.0.7+r1 Codename "Squeeze", released
3235 2013-03-03:</p>
3236
3237 <ul>
3238 <li>sitesummary was updated from 0.1.3 to 0.1.8
3239 <ul>
3240 <li>Make Nagios configuration more robust and efficient</li>
3241 <li>Comply with 3.X kernel</li>
3242 </ul></li>
3243 <li>debian-edu-doc from 1.4~20120310~6.0.4+r0 to 1.4~20130228~6.0.7+r1
3244 <ul>
3245 <li>Minor updates from the wiki</li>
3246 <li>Danish translation now complete</li>
3247 </ul></li>
3248 <li>debian-edu-config from 1.453 to 1.455
3249 <ul>
3250 <li>Fix /etc/hosts for LTSP diskless workstations. Closes: #699880</li>
3251 <li>Make ltsp_local_mount script work for multiple devices.</li>
3252 <li>Correct Kerberos user policy: don't expire password after 2 days.
3253 Closes: #664596</li>
3254 <li>Handle '#' characters in the root or first users password.
3255 Closes: #664976</li>
3256 <li>Fixes for gosa-sync:
3257 <ul>
3258 <li>Don't fail if password contains "</li>
3259 <li>Don't disclose new password string in syslog</li>
3260 </ul></li>
3261 <li>Fixes for gosa-create:
3262 <ul>
3263 <li>Invalidate libnss cache before applying changes</li>
3264 <li>Multiple failures during mass user import into GOsa²</li>
3265 <li>gosa-netgroups plugin: don't erase entries of attribute type
3266 "memberNisNetgroup". Closes: #687256</li>
3267 <li>First user now uses the same Kerberos policy as all other users</li>
3268 </ul></li>
3269 <li>Add Danish web page</li>
3270 </ul>
3271 <li>debian-edu-install from 1.528 to 1.530
3272 <ul>
3273 <li>Improve preseeding support and documentation</li>
3274 </ul></li>
3275 </ul>
3276
3277 <p>End-user documentation in English is available at
3278 <a href="http://wiki.debian.org/DebianEdu/Documentation/Squeeze/">http://wiki.debian.org/DebianEdu/Documentation/Squeeze/</a>
3279 - translations to French, Italian, Danish and German are available in
3280 the debian-edu-doc package. (Other languages could use your help!)</p>
3281
3282 <p>If you want to contribute to Debian Edu, please join our
3283 mailinglist
3284 <a href="http://lists.debian.org/debian-edu/">debian-edu@lists.debian.org</a>!
3285 </p></blockquote>
3286
3287 <p>I am very happy to see the fruits of a year of hard work. :)</p>
3288
3289 </div>
3290 <div class="tags">
3291
3292
3293 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>.
3294
3295
3296 </div>
3297 </div>
3298 <div class="padding"></div>
3299
3300 <div class="entry">
3301 <div class="title">
3302 <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>
3303 </div>
3304 <div class="date">
3305 3rd March 2013
3306 </div>
3307 <div class="body">
3308 <p>Do you want to set up your own TV station, schedule videos and
3309 broadcast them on the air? Using free software? With video on demand
3310 support using
3311 <a href="http://www.digistan.org/open-standard:definition">free and
3312 open standards</a>? Included a web based video stream as well? And
3313 administrate it all in your web browser from anywhere in the world? A
3314 few years now the Norwegian public access TV-channel
3315 <a href="http://www.frikanalen.no/">Frikanalen</a> have been building a
3316 system to do just this. The source code for the solution is licensed
3317 using the GNU LGPL, and
3318 <a href="http://github.com/Frikanalen">available from github</a>.</p>
3319
3320 <p>The idea is simple. You upload a video file over the web, and
3321 attach meta information to the file. You select a time slot in the
3322 program schedule, and when the time come it is played on the air and
3323 in the web stream. It is also made available in a video on demand
3324 solution for anyone to see it also outside its scheduled time. All
3325 you need to run a TV station - using your web browser.</p>
3326
3327 <p>There are several parts to this web based solution. I'll mention
3328 the three most important ones. The first part is the database of
3329 videos and the schedule. This is written in Django and include a REST
3330 API. The current database is SQLite, but the plan is to migrate it to
3331 PostgreSQL. At the moment this system can be tested on
3332 <a href="http://beta.frikanalen.tv/">beta.frikanalen.tv</a>. The
3333 second part is the video playout, taking the schedule information from
3334 the database and providing a video stream to broadcast. This is done
3335 using <a href="http://www.casparcg.com/">CasparCG from SVT</a> and
3336 <a href="http://www.mltframework.org/">Media Lovin' Toolkit</a>. Video
3337 signal distribution is handled using
3338 <a href="http://www.ob-encoder.com/">Open Broadcast Encoder</a>. The
3339 third part is the converter, handling the transformation of uploaded
3340 video files to a format useful for broadcasting, streaming and video
3341 on demand. It is still very much work in progress, so it is not yet
3342 decided what it will end up using. Note that the source of the latter
3343 two parts are not yet pushed to github. The lead author want to clean
3344 them up a bit more first.</p>
3345
3346 <p>The development is coordinated on the
3347 <a href="irc://irc.freenode.net/%23frikanalen">#frikanalen IRC
3348 channel</a> (irc.freenode.net), and discussed on
3349 <a href="http://lists.nuug.no/mailman/listinfo/frikanalen">the
3350 frikanalen mailing list</a>. The lead developer is Benjamin Bruheim
3351 (phed on IRC). Anyone is welcome to participate in the
3352 development.</p>
3353
3354 </div>
3355 <div class="tags">
3356
3357
3358 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>.
3359
3360
3361 </div>
3362 </div>
3363 <div class="padding"></div>
3364
3365 <div class="entry">
3366 <div class="title">
3367 <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>
3368 </div>
3369 <div class="date">
3370 27th February 2013
3371 </div>
3372 <div class="body">
3373 <p>Dr. <a href="http://www.stallman.org/">Richard Stallman</a>,
3374 founder of <a href="http://www.fsf.org/">Free Software Foundation</a>,
3375 is giving <a href="http://www.nuug.no/aktiviteter/20130301-rms/">a
3376 talk in Oslo March 1st 2013 17:00 to 19:00</a>. The event is public
3377 and organised by <a href="">Norwegian Unix Users Group (NUUG)</a>
3378 (where I am the chair of the board) and
3379 <a href="http://www.friprog.no/">The Norwegian Open Source Competence
3380 Center</a>. The title of the talk is «The Free Software Movement and
3381 GNU», with this description:
3382
3383 <p><blockquote>
3384 The Free Software Movement campaigns for computer users' freedom to
3385 cooperate and control their own computing. The Free Software Movement
3386 developed the GNU operating system, typically used together with the
3387 kernel Linux, specifically to make these freedoms possible.
3388 </blockquote></p>
3389
3390 <p>The meeting is open for everyone. Due to space limitations, the
3391 doors opens for NUUG members at 16:15, and everyone else at 16:45. I
3392 am really curious how many will show up. See
3393 <a href="http://www.nuug.no/aktiviteter/20130301-rms/">the event
3394 page</a> for the location details.</p>
3395
3396 </div>
3397 <div class="tags">
3398
3399
3400 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>.
3401
3402
3403 </div>
3404 </div>
3405 <div class="padding"></div>
3406
3407 <div class="entry">
3408 <div class="title">
3409 <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>
3410 </div>
3411 <div class="date">
3412 15th February 2013
3413 </div>
3414 <div class="body">
3415 <p>If you, like me, want an updated a map for your Garmin GPS, there is
3416 now a great source of free maps available from
3417 <a href="http://www.frikart.no/garmin/index.html">Frikart</a>. To
3418 download a map, just click on the country you are interested in, and
3419 download the map type you want. There are 8 different maps available,
3420 using different colours and data selection. Pick one of Roadmap, Topo
3421 Summer, Topo Winter, Roadmap II, Topo Summer II, Topo Winter II,
3422 "Trails - overlay map" and "Cross country - overlay map" (see the web
3423 page for descriptions).</p>
3424
3425 <p>The maps are updated weekly, so if you find something wrong in the
3426 map you can just edit the
3427 <a href="http://www.openstreetmap.org/">OpenStreetmap</a> map source
3428 (anyone can contribute) and fetch a fixed map a week later. :)</p>
3429
3430 </div>
3431 <div class="tags">
3432
3433
3434 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>.
3435
3436
3437 </div>
3438 </div>
3439 <div class="padding"></div>
3440
3441 <div class="entry">
3442 <div class="title">
3443 <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>
3444 </div>
3445 <div class="date">
3446 12th February 2013
3447 </div>
3448 <div class="body">
3449 <p>Here in Norway, electronic invoices are spreading, and the
3450 <a href="http://www.anskaffelser.no/e-handel/faktura">solution promoted
3451 by the Norwegian government</a> require that invoices are sent through
3452 one of the approved facilitators, and it is not possible to send
3453 electronic invoices without an agreement with one of these
3454 facilitators. This seem like a needless limitation to be able to
3455 transfer invoice information between buyers and sellers. My preferred
3456 solution would be to just transfer the invoice information directly
3457 between seller and buyer, for example using SMTP, or some HTTP based
3458 protocol like REST or SOAP. But this might also be overkill, as the
3459 "electronic" information can be transferred using paper invoices too,
3460 using a simple bar code. My bar code encoding of choice would be QR
3461 codes, as this encoding can be read by any smart phone out there. The
3462 content of the code could be anything, but I would go with
3463 <a href="http://en.wikipedia.org/wiki/VCard">the vCard format</a>, as
3464 it too is supported by a lot of computer equipment these days.</p>
3465
3466 <p>The vCard format support extentions, and the invoice specific
3467 information can be included using such extentions. For example an
3468 invoice from SLX Debian Labs (picked because we
3469 <a href="http://www.linuxiskolen.no/slxdebianlabs/donations.html">ask
3470 for donations to the Debian Edu project</a> and thus have bank account
3471 information publicly available) for NOK 1000.00 could have these extra
3472 fields:</p>
3473
3474 <p><pre>
3475 X-INVOICE-NUMBER:1
3476 X-INVOICE-AMOUNT:NOK1000.00
3477 X-INVOICE-KID:123412341234
3478 X-INVOICE-MSG:Donation to Debian Edu
3479 X-BANK-ACCOUNT-NUMBER:16040884339
3480 X-BANK-IBAN-NUMBER:NO8516040884339
3481 X-BANK-SWIFT-NUMBER:DNBANOKKXXX
3482 </pre></p>
3483
3484 <p>The X-BANK-ACCOUNT-NUMBER field was proposed in a stackoverflow
3485 answer regarding
3486 <a href="http://stackoverflow.com/questions/10045664/storing-bank-account-in-vcard-file">how
3487 to put bank account information into a vCard</a>. For payments in
3488 Norway, either X-INVOICE-KID (payment ID) or X-INVOICE-MSG could be
3489 used to pass on information to the seller when paying the invoice.</p>
3490
3491 <p>The complete vCard could look like this:</p>
3492
3493 <p><pre>
3494 BEGIN:VCARD
3495 VERSION:2.1
3496 ORG:SLX Debian Labs Foundation
3497 ADR;WORK:;;Gunnar Schjelderups vei 29D;OSLO;;0485;Norway
3498 URL;WORK:http://www.linuxiskolen.no/slxdebianlabs/
3499 EMAIL;PREF;INTERNET:sdl-styret@rt.nuug.no
3500 REV:20130212T095000Z
3501 X-INVOICE-NUMBER:1
3502 X-INVOICE-AMOUNT:NOK1000.00
3503 X-INVOICE-MSG:Donation to Debian Edu
3504 X-BANK-ACCOUNT-NUMBER:16040884339
3505 X-BANK-IBAN-NUMBER:NO8516040884339
3506 X-BANK-SWIFT-NUMBER:DNBANOKKXXX
3507 END:VCARD
3508 </pre></p>
3509
3510 <p>The resulting QR code created using
3511 <a href="http://fukuchi.org/works/qrencode/">qrencode</a> would look
3512 like this, and should be readable (and thus checkable) by any smart
3513 phone, or for example the <a href="http://zbar.sourceforge.net/">zbar
3514 bar code reader</a> and feed right into the approval and accounting
3515 system.</p>
3516
3517 <p><img src="http://people.skolelinux.org/pere/blog/images/2013-02-12-qr-invoice.png"></p>
3518
3519 <p>The extension fields will most likely not show up in any normal
3520 vCard reader, so those parts would have to go directly into a system
3521 handling invoices. I am a bit unsure how vCards without name parts
3522 are handled, but a simple test indicate that this work just fine.</p>
3523
3524 <p><strong>Update 2013-02-12 11:30</strong>: Added KID to the proposal
3525 based on feedback from Sturle Sunde.</p>
3526
3527 </div>
3528 <div class="tags">
3529
3530
3531 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>.
3532
3533
3534 </div>
3535 </div>
3536 <div class="padding"></div>
3537
3538 <div class="entry">
3539 <div class="title">
3540 <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>
3541 </div>
3542 <div class="date">
3543 10th February 2013
3544 </div>
3545 <div class="body">
3546 <p><img align="left" style="margin-right:25px;" src="http://people.skolelinux.org/pere/blog/images/2013-02-10-morning-light.jpeg"></p>
3547
3548 <p>With kids in the house, one challenge is getting them to sleep
3549 during the night and wake up when it is morning. I mean, when I
3550 believe it is morning, and not two hours earlier. In our household we
3551 have decided that 07:00 is the turning point, but getting the kids to
3552 sleep until 07:00 is a small challenge every day. They have adapted
3553 quite well, and rarely wake up at 05:00 any more, but some times wake
3554 up at times like 05:50, 06:15, 06:30 or 06:45, and it is hard to put
3555 the awake one to bed again without disturbing and waking the rest.
3556 And I understand perfectly well that they fail to sleep until 07:00
3557 some times, as there is no way for them to know if it is before or
3558 after the magic moment without coming and asking us parents.</p>
3559
3560 <p>But yesterday I came up with a method to solve this problem. It
3561 involve home automation. A few years ago I bought a
3562 <a href="http://www.telldus.se/products/tellstick">Tellstick</a> and RF
3563 switches at the local <a href="http://www.clasohlson.com/">Clas
3564 Ohlson</a> shop, allowing me to control lights and other electrical
3565 gadgets using my Linux server. When I moved from the old flat to a
3566 small house, I put away all this equipment as most of the lighting in
3567 the house was not using wall sockets and thus not easy to connect to
3568 the gadgets I had. But recently I bought a
3569 <a href="http://www.telldus.se/products/tellstick_net">Tellstick
3570 Net</a> to be able to read sensor input as well as control power
3571 sockets. I want to control ovens in the basement to avoid the pipes
3572 to freeze, and monitor the humidity to detect flooding. The default
3573 setup for Tellstick Net is to be controlled by the vendor web service,
3574 which to me is a security problem, but it is also possible to build
3575 ones own
3576 <a href="http://developer.telldus.com/blog/2012/03/02/help-us-develop-local-access-using-tellstick-net-build-your-own-firmware">firmware
3577 with local access</A> instead of being controlled by a Swedish
3578 company, thanks to the release of the GPL licensed firmware source
3579 code. I plan to get that running before I let it control anything
3580 important. But while working on this, one idea to make it easier for
3581 the kids came to me yesterday. We can set up a night light controlled
3582 by the computer, and turn it automatically on at 07:00. The kids can
3583 then check the light in the morning to know if they are supposed to
3584 get up or not. They joined me in setting everything up, and I
3585 repeated the concept several times before bed times to make sure they
3586 remembered to check the light before getting up in the morning.</p>
3587
3588 <p>We tested it this morning, and all the kids stayed in bed until
3589 after 07:00, and every one of them commented on the fact that the
3590 "morning light" was turned on and signalled that the morning had
3591 arrived. So this look like a success, and I am excited to see how
3592 this develops the next few days. :) I really hope this can allow us
3593 all to sleep a bit longer in the morning.</p>
3594
3595 <p>A nice advantage of this setup is that we can remote control when
3596 to tell the kids to get up. We do not have to wait until 07:00, and
3597 can also delay it if we want to.</p>
3598
3599 </div>
3600 <div class="tags">
3601
3602
3603 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
3604
3605
3606 </div>
3607 </div>
3608 <div class="padding"></div>
3609
3610 <div class="entry">
3611 <div class="title">
3612 <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>
3613 </div>
3614 <div class="date">
3615 2nd February 2013
3616 </div>
3617 <div class="body">
3618 <p>My
3619 <a href="http://people.skolelinux.org/pere/blog/How_to_backport_bitcoin_qt_version_0_7_2_2_to_Debian_Squeeze.html">last
3620 bitcoin related blog post</a> mentioned that the new
3621 <a href="http://packages.qa.debian.org/bitcoin">bitcoin package</a> for
3622 Debian was waiting in NEW. It was accepted by the Debian ftp-masters
3623 2013-01-19, and have been available in unstable since then. It was
3624 automatically copied to Ubuntu, and is available in their Raring
3625 version too.</p>
3626
3627 <p>But there is a strange problem with the build that block this new
3628 version from being available on the i386 and kfreebsd-i386
3629 architectures. For some strange reason, the autobuilders in Debian
3630 for these architectures fail to run the test suite on these
3631 architectures (<a href="http://bugs.debian.org/672524">BTS #672524</a>).
3632 We are so far unable to reproduce it when building it manually, and
3633 no-one have been able to propose a fix. If you got an idea what is
3634 failing, please let us know via the BTS.</p>
3635
3636 <p>One feature that is annoying me with of the bitcoin client, because
3637 I often run low on disk space, is the fact that the client will exit
3638 if it run short on space (<a href="http://bugs.debian.org/696715">BTS
3639 #696715</a>). So make sure you have enough disk space when you run
3640 it. :)</p>
3641
3642 <p>As usual, if you use bitcoin and want to show your support of my
3643 activities, please send Bitcoin donations to my address
3644 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
3645
3646 </div>
3647 <div class="tags">
3648
3649
3650 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>.
3651
3652
3653 </div>
3654 </div>
3655 <div class="padding"></div>
3656
3657 <div class="entry">
3658 <div class="title">
3659 <a href="http://people.skolelinux.org/pere/blog/Welcome_to_the_world__Isenkram_.html">Welcome to the world, Isenkram!</a>
3660 </div>
3661 <div class="date">
3662 22nd January 2013
3663 </div>
3664 <div class="body">
3665 <p>Yesterday, I
3666 <a href="http://people.skolelinux.org/pere/blog/First_prototype_ready_making_hardware_easier_to_use_in_Debian.html">asked
3667 for testers</a> for my prototype for making Debian better at handling
3668 pluggable hardware devices, which I
3669 <a href="http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html">set
3670 out to create</a> earlier this month. Several valuable testers showed
3671 up, and caused me to really want to to open up the development to more
3672 people. But before I did this, I want to come up with a sensible name
3673 for this project. Today I finally decided on a new name, and I have
3674 renamed the project from hw-support-handler to this new name. In the
3675 process, I moved the source to git and made it available as a
3676 <a href="http://anonscm.debian.org/gitweb/?p=collab-maint/isenkram.git">collab-maint</a>
3677 repository in Debian. The new name? It is <strong>Isenkram</strong>.
3678 To fetch and build the latest version of the source, use</p>
3679
3680 <pre>
3681 git clone http://anonscm.debian.org/git/collab-maint/isenkram.git
3682 cd isenkram && git-buildpackage -us -uc
3683 </pre>
3684
3685 <p>I have not yet adjusted all files to use the new name yet. If you
3686 want to hack on the source or improve the package, please go ahead.
3687 But please talk to me first on IRC or via email before you do major
3688 changes, to make sure we do not step on each others toes. :)</p>
3689
3690 <p>If you wonder what 'isenkram' is, it is a Norwegian word for iron
3691 stuff, typically meaning tools, nails, screws, etc. Typical hardware
3692 stuff, in other words. I've been told it is the Norwegian variant of
3693 the German word eisenkram, for those that are familiar with that
3694 word.</p>
3695
3696 <p><strong>Update 2013-01-26</strong>: Added -us -us to build
3697 instructions, to avoid confusing people with an error from the signing
3698 process.</p>
3699
3700 <p><strong>Update 2013-01-27</strong>: Switch to HTTP URL for the git
3701 clone argument to avoid the need for authentication.</p>
3702
3703 </div>
3704 <div class="tags">
3705
3706
3707 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>.
3708
3709
3710 </div>
3711 </div>
3712 <div class="padding"></div>
3713
3714 <div class="entry">
3715 <div class="title">
3716 <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>
3717 </div>
3718 <div class="date">
3719 21st January 2013
3720 </div>
3721 <div class="body">
3722 <p>Early this month I set out to try to
3723 <a href="http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html">improve
3724 the Debian support for pluggable hardware devices</a>. Now my
3725 prototype is working, and it is ready for a larger audience. To test
3726 it, fetch the
3727 <a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/">source
3728 from the Debian Edu subversion repository</a>, build and install the
3729 package. You might have to log out and in again activate the
3730 autostart script.</p>
3731
3732 <p>The design is simple:</p>
3733
3734 <ul>
3735
3736 <li>Add desktop entry in /usr/share/autostart/ causing a program
3737 hw-support-handlerd to start when the user log in.</li>
3738
3739 <li>This program listen for kernel events about new hardware (directly
3740 from the kernel like udev does), not using HAL dbus events as I
3741 initially did.</li>
3742
3743 <li>When new hardware is inserted, look up the hardware modalias in
3744 the APT database, a database
3745 <a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/modaliases?view=markup">available
3746 via HTTP</a> and a database available as part of the package.</li>
3747
3748 <li>If a package is mapped to the hardware in question, the package
3749 isn't installed yet and this is the first time the hardware was
3750 plugged in, show a desktop notification suggesting to install the
3751 package or packages.</li>
3752
3753 <li>If the user click on the 'install package now' button, ask
3754 aptdaemon via the PackageKit API to install the requrired package.</li>
3755
3756 <li>aptdaemon ask for root password or sudo password, and install the
3757 package while showing progress information in a window.</li>
3758
3759 </ul>
3760
3761 <p>I still need to come up with a better name for the system. Here
3762 are some screen shots showing the prototype in action. First the
3763 notification, then the password request, and finally the request to
3764 approve all the dependencies. Sorry for the Norwegian Bokmål GUI.</p>
3765
3766 <p><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-1-notification.png">
3767 <br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-2-password.png">
3768 <br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-3-dependencies.png">
3769 <br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-4-installing.png">
3770 <br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-5-installing-details.png" width="70%"></p>
3771
3772 <p>The prototype still need to be improved with longer timeouts, but
3773 is already useful. The database of hardware to package mappings also
3774 need more work. It is currently compatible with the Ubuntu way of
3775 storing such information in the package control file, but could be
3776 changed to use other formats instead or in addition to the current
3777 method. I've dropped the use of discover for this mapping, as the
3778 modalias approach is more flexible and easier to use on Linux as long
3779 as the Linux kernel expose its modalias strings directly.</p>
3780
3781 <p><strong>Update 2013-01-21 16:50</strong>: Due to popular demand,
3782 here is the command required to check out and build the source: Use
3783 '<tt>svn checkout
3784 svn://svn.debian.org/debian-edu/trunk/src/hw-support-handler/; cd
3785 hw-support-handler; debuild</tt>'. If you lack debuild, install the
3786 devscripts package.</p>
3787
3788 <p><strong>Update 2013-01-23 12:00</strong>: The project is now
3789 renamed to Isenkram and the source moved from the Debian Edu
3790 subversion repository to a Debian collab-maint git repository. See
3791 <a href="http://people.skolelinux.org/pere/blog/Welcome_to_the_world__Isenkram_.html">build
3792 instructions</a> for details.</p>
3793
3794 </div>
3795 <div class="tags">
3796
3797
3798 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>.
3799
3800
3801 </div>
3802 </div>
3803 <div class="padding"></div>
3804
3805 <div class="entry">
3806 <div class="title">
3807 <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>
3808 </div>
3809 <div class="date">
3810 19th January 2013
3811 </div>
3812 <div class="body">
3813 <p>This Christmas my trusty old laptop died. It died quietly and
3814 suddenly in bed. With a quiet whimper, it went completely quiet and
3815 black. The power button was no longer able to turn it on. It was a
3816 IBM Thinkpad X41, and the best laptop I ever had. Better than both
3817 Thinkpads X30, X31, X40, X60, X61 and X61S. Far better than the
3818 Compaq I had before that. Now I need to find a replacement. To keep
3819 going during Christmas, I moved the one year old SSD disk to my old
3820 X40 where it fitted (only one I had left that could use it), but it is
3821 not a durable solution.
3822
3823 <p>My laptop needs are fairly modest. This is my wishlist from when I
3824 got a new one more than 10 years ago. It still holds true.:)</p>
3825
3826 <ul>
3827
3828 <li>Lightweight (around 1 kg) and small volume (preferably smaller
3829 than A4).</li>
3830 <li>Robust, it will be in my backpack every day.</li>
3831 <li>Three button mouse and a mouse pin instead of touch pad.</li>
3832 <li>Long battery life time. Preferable a week.</li>
3833 <li>Internal WIFI network card.</li>
3834 <li>Internal Twisted Pair network card.</li>
3835 <li>Some USB slots (2-3 is plenty)</li>
3836 <li>Good keyboard - similar to the Thinkpad.</li>
3837 <li>Video resolution at least 1024x768, with size around 12" (A4 paper
3838 size).</li>
3839 <li>Hardware supported by Debian Stable, ie the default kernel and
3840 X.org packages.</li>
3841 <li>Quiet, preferably fan free (or at least not using the fan most of
3842 the time).
3843
3844 </ul>
3845
3846 <p>You will notice that there are no RAM and CPU requirements in the
3847 list. The reason is simply that the specifications on laptops the
3848 last 10-15 years have been sufficient for my needs, and I have to look
3849 at other features to choose my laptop. But are there still made as
3850 robust laptops as my X41? The Thinkpad X60/X61 proved to be less
3851 robust, and Thinkpads seem to be heading in the wrong direction since
3852 Lenovo took over. But I've been told that X220 and X1 Carbon might
3853 still be useful.</p>
3854
3855 <p>Perhaps I should rethink my needs, and look for a pad with an
3856 external keyboard? I'll have to check the
3857 <a href="http://www.linux-laptop.net/">Linux Laptops site</a> for
3858 well-supported laptops, or perhaps just buy one preinstalled from one
3859 of the vendors listed on the <a href="http://linuxpreloaded.com/">Linux
3860 Pre-loaded site</a>.</p>
3861
3862 </div>
3863 <div class="tags">
3864
3865
3866 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>.
3867
3868
3869 </div>
3870 </div>
3871 <div class="padding"></div>
3872
3873 <div class="entry">
3874 <div class="title">
3875 <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>
3876 </div>
3877 <div class="date">
3878 18th January 2013
3879 </div>
3880 <div class="body">
3881 <p>Some times I try to figure out which Iceweasel browser plugin to
3882 install to get support for a given MIME type. Thanks to
3883 <a href="https://wiki.ubuntu.com/MozillaTeam/Plugins">specifications
3884 done by Ubuntu</a> and Mozilla, it is possible to do this in Debian.
3885 Unfortunately, not very many packages provide the needed meta
3886 information, Anyway, here is a small script to look up all browser
3887 plugin packages announcing ther MIME support using this specification:</p>
3888
3889 <pre>
3890 #!/usr/bin/python
3891 import sys
3892 import apt
3893 def pkgs_handling_mimetype(mimetype):
3894 cache = apt.Cache()
3895 cache.open(None)
3896 thepkgs = []
3897 for pkg in cache:
3898 version = pkg.candidate
3899 if version is None:
3900 version = pkg.installed
3901 if version is None:
3902 continue
3903 record = version.record
3904 if not record.has_key('Npp-MimeType'):
3905 continue
3906 mime_types = record['Npp-MimeType'].split(',')
3907 for t in mime_types:
3908 t = t.rstrip().strip()
3909 if t == mimetype:
3910 thepkgs.append(pkg.name)
3911 return thepkgs
3912 mimetype = "audio/ogg"
3913 if 1 < len(sys.argv):
3914 mimetype = sys.argv[1]
3915 print "Browser plugin packages supporting %s:" % mimetype
3916 for pkg in pkgs_handling_mimetype(mimetype):
3917 print " %s" %pkg
3918 </pre>
3919
3920 <p>It can be used like this to look up a given MIME type:</p>
3921
3922 <pre>
3923 % ./apt-find-browserplug-for-mimetype
3924 Browser plugin packages supporting audio/ogg:
3925 gecko-mediaplayer
3926 % ./apt-find-browserplug-for-mimetype application/x-shockwave-flash
3927 Browser plugin packages supporting application/x-shockwave-flash:
3928 browser-plugin-gnash
3929 %
3930 </pre>
3931
3932 <p>In Ubuntu this mechanism is combined with support in the browser
3933 itself to query for plugins and propose to install the needed
3934 packages. It would be great if Debian supported such feature too. Is
3935 anyone working on adding it?</p>
3936
3937 <p><strong>Update 2013-01-18 14:20</strong>: The Debian BTS
3938 request for icweasel support for this feature is
3939 <a href="http://bugs.debian.org/484010">#484010</a> from 2008 (and
3940 <a href="http://bugs.debian.org/698426">#698426</a> from today). Lack
3941 of manpower and wish for a different design is the reason thus feature
3942 is not yet in iceweasel from Debian.</p>
3943
3944 </div>
3945 <div class="tags">
3946
3947
3948 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>.
3949
3950
3951 </div>
3952 </div>
3953 <div class="padding"></div>
3954
3955 <div class="entry">
3956 <div class="title">
3957 <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>
3958 </div>
3959 <div class="date">
3960 16th January 2013
3961 </div>
3962 <div class="body">
3963 <p>The <a href="http://wiki.debian.org/AppStreamDebianProposal">DEP-11
3964 proposal to add AppStream information to the Debian archive</a>, is a
3965 proposal to make it possible for a Desktop application to propose to
3966 the user some package to install to gain support for a given MIME
3967 type, font, library etc. that is currently missing. With such
3968 mechanism in place, it would be possible for the desktop to
3969 automatically propose and install leocad if some LDraw file is
3970 downloaded by the browser.</p>
3971
3972 <p>To get some idea about the current content of the archive, I decided
3973 to write a simple program to extract all .desktop files from the
3974 Debian archive and look up the claimed MIME support there. The result
3975 can be found on the
3976 <a href="http://ftp.skolelinux.org/pub/AppStreamTest">Skolelinux FTP
3977 site</a>. Using the collected information, it become possible to
3978 answer the question in the title. Here are the 20 most supported MIME
3979 types in Debian stable (Squeeze), testing (Wheezy) and unstable (Sid).
3980 The complete list is available from the link above.</p>
3981
3982 <p><strong>Debian Stable:</strong></p>
3983
3984 <pre>
3985 count MIME type
3986 ----- -----------------------
3987 32 text/plain
3988 30 audio/mpeg
3989 29 image/png
3990 28 image/jpeg
3991 27 application/ogg
3992 26 audio/x-mp3
3993 25 image/tiff
3994 25 image/gif
3995 22 image/bmp
3996 22 audio/x-wav
3997 20 audio/x-flac
3998 19 audio/x-mpegurl
3999 18 video/x-ms-asf
4000 18 audio/x-musepack
4001 18 audio/x-mpeg
4002 18 application/x-ogg
4003 17 video/mpeg
4004 17 audio/x-scpls
4005 17 audio/ogg
4006 16 video/x-ms-wmv
4007 </pre>
4008
4009 <p><strong>Debian Testing:</strong></p>
4010
4011 <pre>
4012 count MIME type
4013 ----- -----------------------
4014 33 text/plain
4015 32 image/png
4016 32 image/jpeg
4017 29 audio/mpeg
4018 27 image/gif
4019 26 image/tiff
4020 26 application/ogg
4021 25 audio/x-mp3
4022 22 image/bmp
4023 21 audio/x-wav
4024 19 audio/x-mpegurl
4025 19 audio/x-mpeg
4026 18 video/mpeg
4027 18 audio/x-scpls
4028 18 audio/x-flac
4029 18 application/x-ogg
4030 17 video/x-ms-asf
4031 17 text/html
4032 17 audio/x-musepack
4033 16 image/x-xbitmap
4034 </pre>
4035
4036 <p><strong>Debian Unstable:</strong></p>
4037
4038 <pre>
4039 count MIME type
4040 ----- -----------------------
4041 31 text/plain
4042 31 image/png
4043 31 image/jpeg
4044 29 audio/mpeg
4045 28 application/ogg
4046 27 image/gif
4047 26 image/tiff
4048 26 audio/x-mp3
4049 23 audio/x-wav
4050 22 image/bmp
4051 21 audio/x-flac
4052 20 audio/x-mpegurl
4053 19 audio/x-mpeg
4054 18 video/x-ms-asf
4055 18 video/mpeg
4056 18 audio/x-scpls
4057 18 application/x-ogg
4058 17 audio/x-musepack
4059 16 video/x-ms-wmv
4060 16 video/x-msvideo
4061 </pre>
4062
4063 <p>I am told that PackageKit can provide an API to access the kind of
4064 information mentioned in DEP-11. I have not yet had time to look at
4065 it, but hope the PackageKit people in Debian are on top of these
4066 issues.</p>
4067
4068 <p><strong>Update 2013-01-16 13:35</strong>: Updated numbers after
4069 discovering a typo in my script.</p>
4070
4071 </div>
4072 <div class="tags">
4073
4074
4075 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>.
4076
4077
4078 </div>
4079 </div>
4080 <div class="padding"></div>
4081
4082 <div class="entry">
4083 <div class="title">
4084 <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>
4085 </div>
4086 <div class="date">
4087 15th January 2013
4088 </div>
4089 <div class="body">
4090 <p>Yesterday, I wrote about the
4091 <a href="http://people.skolelinux.org/pere/blog/Modalias_strings___a_practical_way_to_map__stuff__to_hardware.html">modalias
4092 values provided by the Linux kernel</a> following my hope for
4093 <a href="http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html">better
4094 dongle support in Debian</a>. Using this knowledge, I have tested how
4095 modalias values attached to package names can be used to map packages
4096 to hardware. This allow the system to look up and suggest relevant
4097 packages when I plug in some new hardware into my machine, and replace
4098 discover and discover-data as the database used to map hardware to
4099 packages.</p>
4100
4101 <p>I create a modaliases file with entries like the following,
4102 containing package name, kernel module name (if relevant, otherwise
4103 the package name) and globs matching the relevant hardware
4104 modalias.</p>
4105
4106 <p><blockquote>
4107 Package: package-name
4108 <br>Modaliases: module(modaliasglob, modaliasglob, modaliasglob)</p>
4109 </blockquote></p>
4110
4111 <p>It is fairly trivial to write code to find the relevant packages
4112 for a given modalias value using this file.</p>
4113
4114 <p>An entry like this would suggest the video and picture application
4115 cheese for many USB web cameras (interface bus class 0E01):</p>
4116
4117 <p><blockquote>
4118 Package: cheese
4119 <br>Modaliases: cheese(usb:v*p*d*dc*dsc*dp*ic0Eisc01ip*)</p>
4120 </blockquote></p>
4121
4122 <p>An entry like this would suggest the pcmciautils package when a
4123 CardBus bridge (bus class 0607) PCI device is present:</p>
4124
4125 <p><blockquote>
4126 Package: pcmciautils
4127 <br>Modaliases: pcmciautils(pci:v*d*sv*sd*bc06sc07i*)
4128 </blockquote></p>
4129
4130 <p>An entry like this would suggest the package colorhug-client when
4131 plugging in a ColorHug with USB IDs 04D8:F8DA:</p>
4132
4133 <p><blockquote>
4134 Package: colorhug-client
4135 <br>Modaliases: colorhug-client(usb:v04D8pF8DAd*)</p>
4136 </blockquote></p>
4137
4138 <p>I believe the format is compatible with the format of the Packages
4139 file in the Debian archive. Ubuntu already uses their Packages file
4140 to store their mappings from packages to hardware.</p>
4141
4142 <p>By adding a XB-Modaliases: header in debian/control, any .deb can
4143 announce the hardware it support in a way my prototype understand.
4144 This allow those publishing packages in an APT source outside the
4145 Debian archive as well as those backporting packages to make sure the
4146 hardware mapping are included in the package meta information. I've
4147 tested such header in the pymissile package, and its modalias mapping
4148 is working as it should with my prototype. It even made it to Ubuntu
4149 Raring.</p>
4150
4151 <p>To test if it was possible to look up supported hardware using only
4152 the shell tools available in the Debian installer, I wrote a shell
4153 implementation of the lookup code. The idea is to create files for
4154 each modalias and let the shell do the matching. Please check out and
4155 try the
4156 <a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/hw-support-lookup?view=co">hw-support-lookup</a>
4157 shell script. It run without any extra dependencies and fetch the
4158 hardware mappings from the Debian archive and the subversion
4159 repository where I currently work on my prototype.</p>
4160
4161 <p>When I use it on a machine with a yubikey inserted, it suggest to
4162 install yubikey-personalization:</p>
4163
4164 <p><blockquote>
4165 % ./hw-support-lookup
4166 <br>yubikey-personalization
4167 <br>%
4168 </blockquote></p>
4169
4170 <p>When I run it on my Thinkpad X40 with a PCMCIA/CardBus slot, it
4171 propose to install the pcmciautils package:</p>
4172
4173 <p><blockquote>
4174 % ./hw-support-lookup
4175 <br>pcmciautils
4176 <br>%
4177 </blockquote></p>
4178
4179 <p>If you know of any hardware-package mapping that should be added to
4180 <a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/modaliases?view=co">my
4181 database</a>, please tell me about it.</p>
4182
4183 <p>It could be possible to generate several of the mappings between
4184 packages and hardware. One source would be to look at packages with
4185 kernel modules, ie packages with *.ko files in /lib/modules/, and
4186 extract their modalias information. Another would be to look at
4187 packages with udev rules, ie packages with files in
4188 /lib/udev/rules.d/, and extract their vendor/model information to
4189 generate a modalias matching rule. I have not tested any of these to
4190 see if it work.</p>
4191
4192 <p>If you want to help implementing a system to let us propose what
4193 packages to install when new hardware is plugged into a Debian
4194 machine, please send me an email or talk to me on
4195 <a href="irc://irc.debian.org/%23debian-devel">#debian-devel</a>.</p>
4196
4197 </div>
4198 <div class="tags">
4199
4200
4201 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>.
4202
4203
4204 </div>
4205 </div>
4206 <div class="padding"></div>
4207
4208 <div class="entry">
4209 <div class="title">
4210 <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>
4211 </div>
4212 <div class="date">
4213 14th January 2013
4214 </div>
4215 <div class="body">
4216 <p>While looking into how to look up Debian packages based on hardware
4217 information, to find the packages that support a given piece of
4218 hardware, I refreshed my memory regarding modalias values, and decided
4219 to document the details. Here are my findings so far, also available
4220 in
4221 <a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/">the
4222 Debian Edu subversion repository</a>:
4223
4224 <p><strong>Modalias decoded</strong></p>
4225
4226 <p>This document try to explain what the different types of modalias
4227 values stands for. It is in part based on information from
4228 &lt;URL: <a href="https://wiki.archlinux.org/index.php/Modalias">https://wiki.archlinux.org/index.php/Modalias</a> &gt;,
4229 &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;,
4230 &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
4231 &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;.
4232
4233 <p>The modalias entries for a given Linux machine can be found using
4234 this shell script:</p>
4235
4236 <pre>
4237 find /sys -name modalias -print0 | xargs -0 cat | sort -u
4238 </pre>
4239
4240 <p>The supported modalias globs for a given kernel module can be found
4241 using modinfo:</p>
4242
4243 <pre>
4244 % /sbin/modinfo psmouse | grep alias:
4245 alias: serio:ty05pr*id*ex*
4246 alias: serio:ty01pr*id*ex*
4247 %
4248 </pre>
4249
4250 <p><strong>PCI subtype</strong></p>
4251
4252 <p>A typical PCI entry can look like this. This is an Intel Host
4253 Bridge memory controller:</p>
4254
4255 <p><blockquote>
4256 pci:v00008086d00002770sv00001028sd000001ADbc06sc00i00
4257 </blockquote></p>
4258
4259 <p>This represent these values:</p>
4260
4261 <pre>
4262 v 00008086 (vendor)
4263 d 00002770 (device)
4264 sv 00001028 (subvendor)
4265 sd 000001AD (subdevice)
4266 bc 06 (bus class)
4267 sc 00 (bus subclass)
4268 i 00 (interface)
4269 </pre>
4270
4271 <p>The vendor/device values are the same values outputted from 'lspci
4272 -n' as 8086:2770. The bus class/subclass is also shown by lspci as
4273 0600. The 0600 class is a host bridge. Other useful bus values are
4274 0300 (VGA compatible card) and 0200 (Ethernet controller).</p>
4275
4276 <p>Not sure how to figure out the interface value, nor what it
4277 means.</p>
4278
4279 <p><strong>USB subtype</strong></p>
4280
4281 <p>Some typical USB entries can look like this. This is an internal
4282 USB hub in a laptop:</p>
4283
4284 <p><blockquote>
4285 usb:v1D6Bp0001d0206dc09dsc00dp00ic09isc00ip00
4286 </blockquote></p>
4287
4288 <p>Here is the values included in this alias:</p>
4289
4290 <pre>
4291 v 1D6B (device vendor)
4292 p 0001 (device product)
4293 d 0206 (bcddevice)
4294 dc 09 (device class)
4295 dsc 00 (device subclass)
4296 dp 00 (device protocol)
4297 ic 09 (interface class)
4298 isc 00 (interface subclass)
4299 ip 00 (interface protocol)
4300 </pre>
4301
4302 <p>The 0900 device class/subclass means hub. Some times the relevant
4303 class is in the interface class section. For a simple USB web camera,
4304 these alias entries show up:</p>
4305
4306 <p><blockquote>
4307 usb:v0AC8p3420d5000dcEFdsc02dp01ic01isc01ip00
4308 <br>usb:v0AC8p3420d5000dcEFdsc02dp01ic01isc02ip00
4309 <br>usb:v0AC8p3420d5000dcEFdsc02dp01ic0Eisc01ip00
4310 <br>usb:v0AC8p3420d5000dcEFdsc02dp01ic0Eisc02ip00
4311 </blockquote></p>
4312
4313 <p>Interface class 0E01 is video control, 0E02 is video streaming (aka
4314 camera), 0101 is audio control device and 0102 is audio streaming (aka
4315 microphone). Thus this is a camera with microphone included.</p>
4316
4317 <p><strong>ACPI subtype</strong></p>
4318
4319 <p>The ACPI type is used for several non-PCI/USB stuff. This is an IR
4320 receiver in a Thinkpad X40:</p>
4321
4322 <p><blockquote>
4323 acpi:IBM0071:PNP0511:
4324 </blockquote></p>
4325
4326 <p>The values between the colons are IDs.</p>
4327
4328 <p><strong>DMI subtype</strong></p>
4329
4330 <p>The DMI table contain lots of information about the computer case
4331 and model. This is an entry for a IBM Thinkpad X40, fetched from
4332 /sys/devices/virtual/dmi/id/modalias:</p>
4333
4334 <p><blockquote>
4335 dmi:bvnIBM:bvr1UETB6WW(1.66):bd06/15/2005:svnIBM:pn2371H4G:pvrThinkPadX40:rvnIBM:rn2371H4G:rvrNotAvailable:cvnIBM:ct10:cvrNotAvailable:
4336 </blockquote></p>
4337
4338 <p>The values present are</p>
4339
4340 <pre>
4341 bvn IBM (BIOS vendor)
4342 bvr 1UETB6WW(1.66) (BIOS version)
4343 bd 06/15/2005 (BIOS date)
4344 svn IBM (system vendor)
4345 pn 2371H4G (product name)
4346 pvr ThinkPadX40 (product version)
4347 rvn IBM (board vendor)
4348 rn 2371H4G (board name)
4349 rvr NotAvailable (board version)
4350 cvn IBM (chassis vendor)
4351 ct 10 (chassis type)
4352 cvr NotAvailable (chassis version)
4353 </pre>
4354
4355 <p>The chassis type 10 is Notebook. Other interesting values can be
4356 found in the dmidecode source:</p>
4357
4358 <pre>
4359 3 Desktop
4360 4 Low Profile Desktop
4361 5 Pizza Box
4362 6 Mini Tower
4363 7 Tower
4364 8 Portable
4365 9 Laptop
4366 10 Notebook
4367 11 Hand Held
4368 12 Docking Station
4369 13 All In One
4370 14 Sub Notebook
4371 15 Space-saving
4372 16 Lunch Box
4373 17 Main Server Chassis
4374 18 Expansion Chassis
4375 19 Sub Chassis
4376 20 Bus Expansion Chassis
4377 21 Peripheral Chassis
4378 22 RAID Chassis
4379 23 Rack Mount Chassis
4380 24 Sealed-case PC
4381 25 Multi-system
4382 26 CompactPCI
4383 27 AdvancedTCA
4384 28 Blade
4385 29 Blade Enclosing
4386 </pre>
4387
4388 <p>The chassis type values are not always accurately set in the DMI
4389 table. For example my home server is a tower, but the DMI modalias
4390 claim it is a desktop.</p>
4391
4392 <p><strong>SerIO subtype</strong></p>
4393
4394 <p>This type is used for PS/2 mouse plugs. One example is from my
4395 test machine:</p>
4396
4397 <p><blockquote>
4398 serio:ty01pr00id00ex00
4399 </blockquote></p>
4400
4401 <p>The values present are</p>
4402
4403 <pre>
4404 ty 01 (type)
4405 pr 00 (prototype)
4406 id 00 (id)
4407 ex 00 (extra)
4408 </pre>
4409
4410 <p>This type is supported by the psmouse driver. I am not sure what
4411 the valid values are.</p>
4412
4413 <p><strong>Other subtypes</strong></p>
4414
4415 <p>There are heaps of other modalias subtypes according to
4416 file2alias.c. There is the rest of the list from that source: amba,
4417 ap, bcma, ccw, css, eisa, hid, i2c, ieee1394, input, ipack, isapnp,
4418 mdio, of, parisc, pcmcia, platform, scsi, sdio, spi, ssb, vio, virtio,
4419 vmbus, x86cpu and zorro. I did not spend time documenting all of
4420 these, as they do not seem relevant for my intended use with mapping
4421 hardware to packages when new stuff is inserted during run time.</p>
4422
4423 <p><strong>Looking up kernel modules using modalias values</strong></p>
4424
4425 <p>To check which kernel modules provide support for a given modalias,
4426 one can use the following shell script:</p>
4427
4428 <pre>
4429 for id in $(find /sys -name modalias -print0 | xargs -0 cat | sort -u); do \
4430 echo "$id" ; \
4431 /sbin/modprobe --show-depends "$id"|sed 's/^/ /' ; \
4432 done
4433 </pre>
4434
4435 <p>The output can look like this (only the first few entries as the
4436 list is very long on my test machine):</p>
4437
4438 <pre>
4439 acpi:ACPI0003:
4440 insmod /lib/modules/2.6.32-5-686/kernel/drivers/acpi/ac.ko
4441 acpi:device:
4442 FATAL: Module acpi:device: not found.
4443 acpi:IBM0068:
4444 insmod /lib/modules/2.6.32-5-686/kernel/drivers/char/nvram.ko
4445 insmod /lib/modules/2.6.32-5-686/kernel/drivers/leds/led-class.ko
4446 insmod /lib/modules/2.6.32-5-686/kernel/net/rfkill/rfkill.ko
4447 insmod /lib/modules/2.6.32-5-686/kernel/drivers/platform/x86/thinkpad_acpi.ko
4448 acpi:IBM0071:PNP0511:
4449 insmod /lib/modules/2.6.32-5-686/kernel/lib/crc-ccitt.ko
4450 insmod /lib/modules/2.6.32-5-686/kernel/net/irda/irda.ko
4451 insmod /lib/modules/2.6.32-5-686/kernel/drivers/net/irda/nsc-ircc.ko
4452 [...]
4453 </pre>
4454
4455 <p>If you want to help implementing a system to let us propose what
4456 packages to install when new hardware is plugged into a Debian
4457 machine, please send me an email or talk to me on
4458 <a href="irc://irc.debian.org/%23debian-devel">#debian-devel</a>.</p>
4459
4460 <p><strong>Update 2013-01-15:</strong> Rewrite "cat $(find ...)" to
4461 "find ... -print0 | xargs -0 cat" to make sure it handle directories
4462 in /sys/ with space in them.</p>
4463
4464 </div>
4465 <div class="tags">
4466
4467
4468 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>.
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/Moved_the_pymissile_Debian_packaging_to_collab_maint.html">Moved the pymissile Debian packaging to collab-maint</a>
4478 </div>
4479 <div class="date">
4480 10th January 2013
4481 </div>
4482 <div class="body">
4483 <p>As part of my investigation on how to improve the support in Debian
4484 for hardware dongles, I dug up my old Mark and Spencer USB Rocket
4485 Launcher and updated the Debian package
4486 <a href="http://packages.qa.debian.org/pymissile">pymissile</a> to make
4487 sure udev will fix the device permissions when it is plugged in. I
4488 also added a "Modaliases" header to test it in the Debian archive and
4489 hopefully make the package be proposed by jockey in Ubuntu when a user
4490 plug in his rocket launcher. In the process I moved the source to a
4491 git repository under collab-maint, to make it easier for any DD to
4492 contribute. <a href="http://code.google.com/p/pymissile/">Upstream</a>
4493 is not very active, but the software still work for me even after five
4494 years of relative silence. The new git repository is not listed in
4495 the uploaded package yet, because I want to test the other changes a
4496 bit more before I upload the new version. If you want to check out
4497 the new version with a .desktop file included, visit the
4498 <a href="http://anonscm.debian.org/gitweb/?p=collab-maint/pymissile.git">gitweb
4499 view</a> or use "<tt>git clone
4500 git://anonscm.debian.org/collab-maint/pymissile.git</tt>".</p>
4501
4502 </div>
4503 <div class="tags">
4504
4505
4506 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>.
4507
4508
4509 </div>
4510 </div>
4511 <div class="padding"></div>
4512
4513 <div class="entry">
4514 <div class="title">
4515 <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>
4516 </div>
4517 <div class="date">
4518 9th January 2013
4519 </div>
4520 <div class="body">
4521 <p>One thing that annoys me with Debian and Linux distributions in
4522 general, is that there is a great package management system with the
4523 ability to automatically install software packages by downloading them
4524 from the distribution mirrors, but no way to get it to automatically
4525 install the packages I need to use the hardware I plug into my
4526 machine. Even if the package to use it is easily available from the
4527 Linux distribution. When I plug in a LEGO Mindstorms NXT, it could
4528 suggest to automatically install the python-nxt, nbc and t2n packages
4529 I need to talk to it. When I plug in a Yubikey, it could propose the
4530 yubikey-personalization package. The information required to do this
4531 is available, but no-one have pulled all the pieces together.</p>
4532
4533 <p>Some years ago, I proposed to
4534 <a href="http://lists.debian.org/debian-devel/2010/05/msg01206.html">use
4535 the discover subsystem to implement this</a>. The idea is fairly
4536 simple:
4537
4538 <ul>
4539
4540 <li>Add a desktop entry in /usr/share/autostart/ pointing to a program
4541 starting when a user log in.</li>
4542
4543 <li>Set this program up to listen for kernel events emitted when new
4544 hardware is inserted into the computer.</li>
4545
4546 <li>When new hardware is inserted, look up the hardware ID in a
4547 database mapping to packages, and take note of any non-installed
4548 packages.</li>
4549
4550 <li>Show a message to the user proposing to install the discovered
4551 package, and make it easy to install it.</li>
4552
4553 </ul>
4554
4555 <p>I am not sure what the best way to implement this is, but my
4556 initial idea was to use dbus events to discover new hardware, the
4557 discover database to find packages and
4558 <a href="http://www.packagekit.org/">PackageKit</a> to install
4559 packages.</p>
4560
4561 <p>Yesterday, I found time to try to implement this idea, and the
4562 draft package is now checked into
4563 <a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/">the
4564 Debian Edu subversion repository</a>. In the process, I updated the
4565 <a href="http://packages.qa.debian.org/d/discover-data.html">discover-data</a>
4566 package to map the USB ids of LEGO Mindstorms and Yubikey devices to
4567 the relevant packages in Debian, and uploaded a new version
4568 2.2013.01.09 to unstable. I also discovered that the current
4569 <a href="http://packages.qa.debian.org/d/discover.html">discover</a>
4570 package in Debian no longer discovered any USB devices, because
4571 /proc/bus/usb/devices is no longer present. I ported it to use
4572 libusb as a fall back option to get it working. The fixed package
4573 version 2.1.2-6 is now in experimental (didn't upload it to unstable
4574 because of the freeze).</p>
4575
4576 <p>With this prototype in place, I can insert my Yubikey, and get this
4577 desktop notification to show up (only once, the first time it is
4578 inserted):</p>
4579
4580 <p align="center"><img src="http://people.skolelinux.org/pere/blog/images/2013-01-09-hw-autoinstall.png"></p>
4581
4582 <p>For this prototype to be really useful, some way to automatically
4583 install the proposed packages by pressing the "Please install
4584 program(s)" button should to be implemented.</p>
4585
4586 <p>If this idea seem useful to you, and you want to help make it
4587 happen, please help me update the discover-data database with mappings
4588 from hardware to Debian packages. Check if 'discover-pkginstall -l'
4589 list the package you would like to have installed when a given
4590 hardware device is inserted into your computer, and report bugs using
4591 reportbug if it isn't. Or, if you know of a better way to provide
4592 such mapping, please let me know.</p>
4593
4594 <p>This prototype need more work, and there are several questions that
4595 should be considered before it is ready for production use. Is dbus
4596 the correct way to detect new hardware? At the moment I look for HAL
4597 dbus events on the system bus, because that is the events I could see
4598 on my Debian Squeeze KDE desktop. Are there better events to use?
4599 How should the user be notified? Is the desktop notification
4600 mechanism the best option, or should the background daemon raise a
4601 popup instead? How should packages be installed? When should they
4602 not be installed?</p>
4603
4604 <p>If you want to help getting such feature implemented in Debian,
4605 please send me an email. :)</p>
4606
4607 </div>
4608 <div class="tags">
4609
4610
4611 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>.
4612
4613
4614 </div>
4615 </div>
4616 <div class="padding"></div>
4617
4618 <div class="entry">
4619 <div class="title">
4620 <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>
4621 </div>
4622 <div class="date">
4623 2nd January 2013
4624 </div>
4625 <div class="body">
4626 <p>During Christmas, I have worked a bit on the Debian support for
4627 <a href="http://mindstorms.lego.com/en-us/Default.aspx">LEGO Mindstorm
4628 NXT</a>. My son and I have played a bit with my NXT set, and I
4629 discovered I had to build all the tools myself because none were
4630 already in Debian Squeeze. If Debian support for LEGO is something
4631 you care about, please join me on the IRC channel
4632 <a href="irc://irc.debian.org/%23debian-lego">#debian-lego</a> (server
4633 irc.debian.org). There is a lot that could be done to improve the
4634 Debian support for LEGO designers. For example both CAD software
4635 and Mindstorm compilers are missing. :)</p>
4636
4637 <p>Update 2012-01-03: A
4638 <a href="http://wiki.debian.org/LegoDesigners">project page</a>
4639 including links to Lego related packages is now available.</p>
4640
4641 </div>
4642 <div class="tags">
4643
4644
4645 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>.
4646
4647
4648 </div>
4649 </div>
4650 <div class="padding"></div>
4651
4652 <div class="entry">
4653 <div class="title">
4654 <a href="http://people.skolelinux.org/pere/blog/A_Christmas_present_for_Skolelinux___Debian_Edu.html">A Christmas present for Skolelinux / Debian Edu</a>
4655 </div>
4656 <div class="date">
4657 28th December 2012
4658 </div>
4659 <div class="body">
4660 <p>I was happy to discover a few days ago that the
4661 <a href="http://www.skolelinux.org/">Skolelinux / Debian Edu</a>
4662 project also this year received a Christmas present from Another
4663 Agency in Trondheim. NOK 1000,- showed up on our donation account
4664 December 24th. I want to express our thanks for this very welcome
4665 present. As the Debian Edu / Skolelinux project is very short on
4666 funding these days, and thus lack the money to do regular developer
4667 gatherings, this donation was most welcome. One developer gathering
4668 cost around NOK 15&nbsp;000,-, so we need quite a lot more to keep the
4669 development pace we want. Thus, I hope their example this year is
4670 followed by many others. :)</p>
4671
4672 <p>The public list of donors can be found on
4673 <a href="http://www.linuxiskolen.no/slxdebianlabs/donations.html">the
4674 donation page</a> for the project, which also contain instructions if
4675 you want to donate to the project.</p>
4676
4677 </div>
4678 <div class="tags">
4679
4680
4681 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>.
4682
4683
4684 </div>
4685 </div>
4686 <div class="padding"></div>
4687
4688 <div class="entry">
4689 <div class="title">
4690 <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>
4691 </div>
4692 <div class="date">
4693 25th December 2012
4694 </div>
4695 <div class="body">
4696 <p>Let me start by wishing you all marry Christmas and a happy new
4697 year! I hope next year will prove to be a good year.</p>
4698
4699 <p><a href="http://www.bitcoin.org/">Bitcoin</a>, the digital
4700 decentralised "currency" that allow people to transfer bitcoins
4701 between each other with minimal overhead, is a very interesting
4702 experiment. And as I wrote a few days ago, the bitcoin situation in
4703 <a href="http://www.debian.org/">Debian</a> is about to improve a bit.
4704 The <a href="http://packages.qa.debian.org/bitcoin">new debian source
4705 package</a> (version 0.7.2-2) was uploaded yesterday, and is waiting
4706 in <a href="http://ftp-master.debian.org/new.html">the NEW queue</A>
4707 for one of the ftpmasters to approve the new bitcoin-qt package
4708 name.</p>
4709
4710 <p>And thanks to the great work of Jonas and the rest of the bitcoin
4711 team in Debian, you can easily test the package in Debian Squeeze
4712 using the following steps to get a set of working packages:</p>
4713
4714 <blockquote><pre>
4715 git clone git://git.debian.org/git/collab-maint/bitcoin
4716 cd bitcoin
4717 DEB_MAINTAINER_MODE=1 DEB_BUILD_OPTIONS=noupnp fakeroot debian/rules clean
4718 DEB_BUILD_OPTIONS=noupnp git-buildpackage --git-ignore-new
4719 </pre></blockquote>
4720
4721 <p>You might have to install some build dependencies as well. The
4722 list of commands should give you two packages, bitcoind and
4723 bitcoin-qt, ready for use in a Squeeze environment. Note that the
4724 client will download the complete set of bitcoin "blocks", which need
4725 around 5.6 GiB of data on my machine at the moment. Make sure your
4726 ~/.bitcoin/ directory have lots of spare room if you want to download
4727 all the blocks. The client will warn if the disk is getting full, so
4728 there is not really a problem if you got too little room, but you will
4729 not be able to get all the features out of the client.</p>
4730
4731 <p>As usual, if you use bitcoin and want to show your support of my
4732 activities, please send Bitcoin donations to my address
4733 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
4734
4735 </div>
4736 <div class="tags">
4737
4738
4739 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>.
4740
4741
4742 </div>
4743 </div>
4744 <div class="padding"></div>
4745
4746 <div class="entry">
4747 <div class="title">
4748 <a href="http://people.skolelinux.org/pere/blog/A_word_on_bitcoin_support_in_Debian.html">A word on bitcoin support in Debian</a>
4749 </div>
4750 <div class="date">
4751 21st December 2012
4752 </div>
4753 <div class="body">
4754 <p>It has been a while since I wrote about
4755 <a href="http://www.bitcoin.org/">bitcoin</a>, the decentralised
4756 peer-to-peer based crypto-currency, and the reason is simply that I
4757 have been busy elsewhere. But two days ago, I started looking at the
4758 state of <a href="http://packages.qa.debian.org/bitcoin">bitcoin in
4759 Debian</a> again to try to recover my old bitcoin wallet. The package
4760 is now maintained by a
4761 <a href="https://alioth.debian.org/projects/pkg-bitcoin/">team of
4762 people</a>, and the grunt work had already been done by this team. We
4763 owe a huge thank you to all these team members. :)
4764 But I was sad to discover that the bitcoin client is missing in
4765 Wheezy. It is only available in Sid (and an outdated client from
4766 backports). The client had several RC bugs registered in BTS blocking
4767 it from entering testing. To try to help the team and improve the
4768 situation, I spent some time providing patches and triaging the bug
4769 reports. I also had a look at the bitcoin package available from Matt
4770 Corallo in a
4771 <a href="https://launchpad.net/~bitcoin/+archive/bitcoin">PPA for
4772 Ubuntu</a>, and moved the useful pieces from that version into the
4773 Debian package.</p>
4774
4775 <p>After checking with the main package maintainer Jonas Smedegaard on
4776 IRC, I pushed several patches into the collab-maint git repository to
4777 improve the package. It now contains fixes for the RC issues (not from
4778 me, but fixed by Scott Howard), build rules for a Qt GUI client
4779 package, konqueror support for the bitcoin: URI and bash completion
4780 setup. As I work on Debian Squeeze, I also created
4781 <a href="http://lists.alioth.debian.org/pipermail/pkg-bitcoin-devel/Week-of-Mon-20121217/000041.html">a
4782 patch to backport</a> the latest version. Jonas is going to look at
4783 it and try to integrate it into the git repository before uploading a
4784 new version to unstable.
4785
4786 <p>I would very much like bitcoin to succeed, to get rid of the
4787 centralized control currently exercised in the monetary system. I
4788 find it completely unacceptable that the USA government is collecting
4789 transaction data for almost all international money transfers (most are done in USD and transaction logs shipped to the spooks), and
4790 that the major credit card companies can block legal money
4791 transactions to Wikileaks. But for bitcoin to succeed, more people
4792 need to use bitcoins, and more people need to accept bitcoins when
4793 they sell products and services. Improving the bitcoin support in
4794 Debian is a small step in the right direction, but not enough.
4795 Unfortunately the user experience when browsing the web and wanting to
4796 pay with bitcoin is still not very good. The bitcoin: URI is a step
4797 in the right direction, but need to work in most or every browser in
4798 use. Also the bitcoin-qt client is too heavy to fire up to do a
4799 quick transaction. I believe there are other clients available, but
4800 have not tested them.</p>
4801
4802 <p>My
4803 <a href="http://people.skolelinux.org/pere/blog/Now_accepting_bitcoins___anonymous_and_distributed_p2p_crypto_money.html">experiment
4804 with bitcoins</a> showed that at least some of my readers use bitcoin.
4805 I received 20.15 BTC so far on the address I provided in my blog two
4806 years ago, as can be
4807 <a href="http://blockexplorer.com/address/15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">seen
4808 on the blockexplorer service</a>. Thank you everyone for your
4809 donation. The blockexplorer service demonstrates quite well that
4810 bitcoin is not quite anonymous and untracked. :) I wonder if the
4811 number of users have gone up since then. If you use bitcoin and want
4812 to show your support of my activity, please send Bitcoin donations to
4813 the same address as last time,
4814 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
4815
4816 </div>
4817 <div class="tags">
4818
4819
4820 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>.
4821
4822
4823 </div>
4824 </div>
4825 <div class="padding"></div>
4826
4827 <div class="entry">
4828 <div class="title">
4829 <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>
4830 </div>
4831 <div class="date">
4832 18th December 2012
4833 </div>
4834 <div class="body">
4835 <p>A few days ago I came across
4836 <a href="http://joeyh.name/blog/entry/hledger/">a blog post from Joey
4837 Hess</a> describing <a href="http://ledger-cli.org/">ledger</a> and
4838 hledger, a text based system for double-entry accounting. I found it
4839 interesting, as I am involved with several organizations where
4840 accounting is an issue, and I have not really become too friendly with
4841 the different web based systems we use. I find it hard to find what I
4842 look for in the menus and even harder try to get sensible data out of
4843 the systems. Ledger seem different. The accounting data is kept in
4844 text files that can be stored in a version control system, and there
4845
4846 are at least <a href="https://github.com/ledger/ledger/wiki/Ports">five
4847 different implementations</a> able to read the format. An example
4848 entry look like this, and is simple enough that it will be trivial to
4849 generate entries based on CVS files fetched from the bank:</p>
4850
4851 <blockquote><pre>
4852 2004-05-27 Book Store
4853 Expenses:Books $20.00
4854 Liabilities:Visa
4855 </pre></blockquote>
4856
4857 <p>The concept seemed interesting enough for me to check it out and
4858 look for others using it. I found blog posts from
4859 <a href="http://blog.spang.cc/posts/hledger_rocks_my_world/">Christine
4860 Spang</a>,
4861 <a href="http://bugsplat.info/2010-05-23-keeping-finances-with-ledger.html">Pete
4862 Keen</a>,
4863 <a href="http://blog.andrewcantino.com/blog/2010/11/06/command-line-accounting-with-ledger-and-reckon/">Andrew
4864 Cantino</a> and
4865 <a href="http://blog.iphoting.com/blog/2012/11/29/command-line-double-entry-accounting/">Ronald
4866 Ip</a> describing how they use it, as well as a post from
4867 <a href="https://groups.google.com/forum/?fromgroups=#!topic/ledger-cli/r0oWjwbQ9Bo">Bradley
4868 M. Kuhn</a> at the Software Freedom Conservancy. All seemed like good
4869 recommendations fitting my need.</p>
4870
4871 <p>The <a href="http://packages.qa.debian.org/l/ledger.html">ledger</a>
4872 package is available in Debian Squeeze, while the
4873 <a href="http://packages.qa.debian.org/h/haskell-hledger.html">hledger</a>
4874 package only is available in Debian Sid. As I use Squeeze, ledger
4875 seemed the best choice to get started.</p>
4876
4877 <p>To get some real data to test on, I wrote a
4878 <a href="http://www.nuug.no/tools/lodo2ledger">web scraper</a> for
4879 <a href="http://www.lodo.no/">LODO</a>, the accounting system used by
4880 the <a href="http://www.nuug.no/">NUUG</a> association, and started to
4881 play with the data set. I'm not really deeply into accounting, but I
4882 am able to get a simple balance and accounting status for example
4883 using the "<tt>ledger balance</tt>" command. But I will have to
4884 gather more experience before I know if the ledger way is a good fit
4885 for the organisations I am involved in.</p>
4886
4887 </div>
4888 <div class="tags">
4889
4890
4891 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>.
4892
4893
4894 </div>
4895 </div>
4896 <div class="padding"></div>
4897
4898 <div class="entry">
4899 <div class="title">
4900 <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>
4901 </div>
4902 <div class="date">
4903 6th December 2012
4904 </div>
4905 <div class="body">
4906 <p>Where I work at the <a href="http://www.uio.no/">University of
4907 Oslo</a>, we use the
4908 <a href="http://sourceforge.net/projects/cerebrum/">Cerebrum user
4909 administration system</a> to maintain users, groups, DNS, DHCP, etc.
4910 I've known since the system was written that the server is providing
4911 an <a href="http://en.wikipedia.org/wiki/XML-RPC">XML-RPC</a> API, but
4912 I have never spent time to try to figure out how to use it, as we
4913 always use the bofh command line client at work. Until today. I want
4914 to script the updating of DNS and DHCP to make it easier to set up
4915 virtual machines. Here are a few notes on how to use it with
4916 Python.</p>
4917
4918 <p>I started by looking at the source of the Java
4919 <a href="http://cerebrum.svn.sourceforge.net/viewvc/cerebrum/trunk/cerebrum/clients/jbofh/">bofh
4920 client</a>, to figure out how it connected to the API server. I also
4921 googled for python examples on how to use XML-RPC, and found
4922 <a href="http://tldp.org/HOWTO/XML-RPC-HOWTO/xmlrpc-howto-python.html">a
4923 simple example in</a> the XML-RPC howto.</p>
4924
4925 <p>This simple example code show how to connect, get the list of
4926 commands (as a JSON dump), and how to get the information about the
4927 user currently logged in:</p>
4928
4929 <blockquote><pre>
4930 #!/usr/bin/env python
4931 import getpass
4932 import xmlrpclib
4933 server_url = 'https://cerebrum-uio.uio.no:8000';
4934 username = getpass.getuser()
4935 password = getpass.getpass()
4936 server = xmlrpclib.Server(server_url);
4937 #print server.get_commands(sessionid)
4938 sessionid = server.login(username, password)
4939 print server.run_command(sessionid, "user_info", username)
4940 result = server.logout(sessionid)
4941 print result
4942 </pre></blockquote>
4943
4944 <p>Armed with this knowledge I can now move forward and script the DNS
4945 and DHCP updates I wanted to do.</p>
4946
4947 </div>
4948 <div class="tags">
4949
4950
4951 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>.
4952
4953
4954 </div>
4955 </div>
4956 <div class="padding"></div>
4957
4958 <div class="entry">
4959 <div class="title">
4960 <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>
4961 </div>
4962 <div class="date">
4963 17th November 2012
4964 </div>
4965 <div class="body">
4966 <p>While working on a
4967 <a href="https://github.com/petterreinholdtsen/free-culture-lessig">Norwegian
4968 translation of the Free Culture by Lawrence Lessig</a> (76% done),
4969 which cover the problems with todays copyright law and how it stifles
4970 creativity, one idea occurred to me. The idea is to get the tax
4971 office to help make more works enter the public domain and also help
4972 make it easier to clear rights for using copyrighted works.</p>
4973
4974 <p>I mentioned this idea briefly during Yesterdays
4975 <a href="http://www.farmann.no/2012/11/14/john-perry-barlow-in-oslo-friday-nov-16
4976 -15-30-19-00/">presentation
4977 by John Perry Barlow</a>, and concluded that it was best to put it
4978 in writing for a wider audience. The idea is not really based on the
4979 argument that copyrighted works are "intellectual property", as the
4980 core requirement is that copyrighted work have value for the copyright
4981 holder and the tax office like to collect their share from any value
4982 controlled by the citizens in a country. I'm sharing the idea here to
4983 let others consider it and perhaps shoot it down with a fresh set of
4984 arguments.</p>
4985
4986 <p>Most valuables are taxed by the government. At least here in
4987 Norway, the amount of money you have, the value of our land property,
4988 the value of your house, the value of your car, the value of our
4989 stocks and other valuables are all added together. If the tax value
4990 of these values exceed your debt, you have to pay the tax office some
4991 taxes for these values. And copyrighted work have value. It have
4992 value for the rights holder, who can earn money selling access to the
4993 work. But it is not included in the tax calculations? Why not?</p>
4994
4995 <p>If the government want to tax copyrighted works, it would want to
4996 maintain a database of all the copyrighted works and who are the
4997 rights holders for a given works, to be able to associate the works
4998 value to the right citizen or company for tax purposes. If such
4999 database exist, it will become a lot easier to find out who to talk to
5000 for clearing permissions to use a copyrighted work, which is a very
5001 hard operation with todays copyright law. To ensure that copyright
5002 holders keep the database up-to-date, it would have to become a
5003 requirement to be able to collect money for granting access to
5004 copyrighted works that the work is listed in the database with the
5005 correct right holder.</p>
5006
5007 <p>If copyright causes copyright holders to have to pay more taxes,
5008 they will have a small incentive to "disown" their copyright, and let
5009 the work enter the public domain. For works with several right holders
5010 one of the right holders could state (and get it registered in the
5011 database) that she do not need to be consulted when clearing rights to
5012 use the work in question and thus will not get any income from that
5013 work. Stating this would have to be impossible to revert and stop the
5014 tax office from adding the value of that work to the given citizens
5015 tax calculation. I assume the copyright law would stay the same,
5016 allowing creators to pick a license of their choosing, and also
5017 allowing them to put their work directly in the public domain. The
5018 existence of such database will make it even easier to clear rights,
5019 and if the right holders listed in the database is taxed, this system
5020 would increase the amount of works that enter the public domain.</p>
5021
5022 <p>The effect would be that the tax office help to make it easier to
5023 get rights to use the works that have not yet entered the public
5024 domain and help to get more work into the public domain and .</p>
5025
5026 <p>Why have such taxing not happened yet? I am sure the tax office
5027 would like to tax copyrighted work values if they could.</p>
5028
5029 </div>
5030 <div class="tags">
5031
5032
5033 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>.
5034
5035
5036 </div>
5037 </div>
5038 <div class="padding"></div>
5039
5040 <div class="entry">
5041 <div class="title">
5042 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Angela_Fu_.html">Debian Edu interview: Angela Fuß</a>
5043 </div>
5044 <div class="date">
5045 14th November 2012
5046 </div>
5047 <div class="body">
5048 <p>Here is another interview with one of the people in the <a
5049 href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>
5050 community. I am running short on people willing to be interviewed, so
5051 if you know about someone I should interview, Please send me an email.
5052 After asking for many months, I finally managed to lure another one of
5053 the people behind the German
5054 "<a href="http://wiki.it-zukunft-schule.de/">IT-Zukunft Schule</a>"
5055 project out from maternity leave to conduct an interview. Give a warm
5056 welcome to Angela Fuß. :)</p>
5057
5058 <p><strong>Who are you, and how do you spend your days?</strong></p>
5059
5060 <p>I am a 39-year-old woman living in the very north of Germany near
5061 Denmark. I live in a patchwork family with "my man" Mike Gabriel, my
5062 two daughters, Mikes daughter and Mikes and my rather newborn son.
5063
5064 <p>At the moment - because of our little baby - I am spending most of
5065 the day by being a caring and organising mom for all the kids.
5066 Besides that I am really involved into and occupied with several inner
5067 growth processes: New born souls always bring the whole familiar
5068 system into movement and that needs time and focus ;-). We are also
5069 in the middle of buying a house and moving to it.</p>
5070
5071 <p>In 2013 I will work again in my job in a German foundation for
5072 nature conservation. I am doing public relation work there. Besides
5073 that - and that is the connection to Skolelinux / Debian Edu - I am
5074 working in our own school project "IT-Zukunft Schule" in North
5075 Germany. I am responsible for the quality assurance, the customer
5076 relationship management and the communication processes in the
5077 project.</p>
5078
5079 <p>Since 2001 I constantly have been training myself in communication
5080 and leadership. Besides that I am a forester, a landscaping gardener
5081 and a yoga teacher.</p>
5082
5083 <p><strong>How did you get in contact with the Skolelinux / Debian Edu
5084 project?</strong></p>
5085
5086 <p>I fell in love with Mike ;-).</p>
5087
5088 <p>Very soon after getting to know him I was completely enrolled into
5089 Free Software. At this time Mike did IT-services for one newly
5090 founded school in Kiel. Other schools in Kiel needed concepts for
5091 their IT environment. Often when Mike came home from working at the
5092 newly founded school I found myself listening to his complaints about
5093 several points where the communication with the schools head or the
5094 teachers did not work. So we were clear that he would not work for
5095 one more school if we did not set up a structure for communication
5096 between him, the schools head, the teachers, the students and the
5097 parents.</p>
5098
5099 <p>Together with our friend and hardware supplier Andreas Buchholz we
5100 started to get an overview of free software solutions suitable for
5101 schools. One day before Christmas 2010 Mike and I had a date with Kurt
5102 Gramlich in Gütersloh. As Kurt and I are really interested in building
5103 networks of people and in being in communication we dived into
5104 Skolelinux and brought it to the first grammar schools in Northern
5105 Germany.</p>
5106
5107 <p>For information about our school project you can read
5108 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Mike_Gabriel.html">the
5109 interview with Mike Gabriel</a>.</p>
5110
5111 <p><strong>What do you see as the advantages of Skolelinux / Debian
5112 Edu?</strong></p>
5113
5114 <p>First I have to say: I cannot answer this question technically. My
5115 answer comes rather from a social point of view.</p>
5116
5117 <p>The biggest advantage of Skolelinux / Debian Edu I see is the large
5118 and strong international community of Debian Developers in the
5119 background which is very alive and connected over mailinglists, blogs
5120 and meetings. My constant feeling for the Debian Community is: If
5121 something does not work they will somehow fix it. All is well
5122 ;-). This is of course a user experience. What I also get as a big
5123 advantage of Skolelinux / Debian Edu is that everybody who uses it and
5124 works with it can also contribute to it - that includes students,
5125 teachers, parents...</p>
5126
5127 <p><strong>What do you see as the disadvantages of Skolelinux / Debian
5128 Edu?</strong></p>
5129
5130 <p>I will answer this question relating to the internal structure of
5131 Skolelinux / Debian Edu.</p>
5132
5133 <p>What I see as a major disadvantage is that there is a gap between
5134 the group of developers for Debian Edu and the people who make the
5135 marketing, that means the people that bring Skolelinux to the
5136 schools. There is a lack of communication between these two groups and
5137 I think that does not really work for Skolelinux / Debian Edu.</p>
5138
5139 <p>Further I appreciate that Skolelinux / Debian Edu is known as a
5140 do-ocracy. Nevertheless I keep asking myself if at some points a
5141 democracy or some kind of hierarchical project structure would be good
5142 and helpful. I am also missing some kind of contact between the
5143 Skolelinux / Debian Edu communities in Europe or on an international
5144 level. I think it would be good if there was more sharing between the
5145 different countries using Skolelinux / Debian Edu.</p>
5146
5147 <p><strong>Which free software do you use daily?</strong></p>
5148
5149 <p>On my laptop I am still using an Ubuntu 10.04 with a Gnome Desktop
5150 on. As applications I use Openoffice.org, Gedit, Firefox, Pidgin,
5151 LaTeX and GnuCash. For mails I am using Horde. And I am really fond of
5152 my N900 running with Maemo.</p>
5153
5154 <p><strong>Which strategy do you believe is the right one to use to
5155 get schools to use free software?</strong></p>
5156
5157 <p>I am really convinced that in our school project "IT-Zukunft
5158 Schule" we have developed (and keep developing) a great way to get
5159 schools to use Free Software. We have written a detailed concept for
5160 that so I cannot explain the whole thing here. But in a nutshell the
5161 strategy has three crucial pillars:</p>
5162
5163 <ul>
5164
5165 <li>We really take time to get what sort of stories, questions and
5166 concerns the schools head and the teachers have about using different
5167 kinds of IT and we take time to enrol them into Free Software.</li>
5168
5169 <li>Our solution for schools is never just technical. In the centre
5170 are always the people who are going to use the software. From the very
5171 beginning of the planning for a school, we tell the schools head that
5172 they are paying us not only for a technical solution for their school,
5173 they also pay us for leading all the communication processes
5174 needed. If they do not want that, we are not working with them because
5175 we cannot give a guarantee for the quality of our work then.</li>
5176
5177 <li>Another focus lies in the training of teachers and students in
5178 co-administrating the IT-System at their school. They start getting in
5179 contact with the Skolelinux / Debian Edu community and they get the
5180 offer to become more and more independent from us.</li>
5181
5182 </ul>
5183
5184 </div>
5185 <div class="tags">
5186
5187
5188 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>.
5189
5190
5191 </div>
5192 </div>
5193 <div class="padding"></div>
5194
5195 <div class="entry">
5196 <div class="title">
5197 <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>
5198 </div>
5199 <div class="date">
5200 4th November 2012
5201 </div>
5202 <div class="body">
5203 <p>Slashdot just ran a story about the European Central Bank (ECB)
5204 <a href="http://www.ecb.europa.eu/pub/pdf/other/virtualcurrencyschemes201210en.pdf">releasing
5205 a report (PDF)</a> about virtual currencies and
5206 <a href="http://www.bitcoin.org/">bitcoin</a>. It is interesting to
5207 see how a member of the bitcoin community
5208 <a href="http://blog.bitinstant.com/blog/2012/10/30/the-ecb-report-on-bitcoin-and-virtual-currencies.html">receive
5209 the report</a>. As for the future, I suspect the central banks and
5210 the governments will outlaw bitcoin if it gain any popularity, to avoid
5211 competition. My thoughts go to the
5212 <a href="http://en.wikipedia.org/wiki/Wörgl">Wörgl experiment</a> with
5213 negative inflation on cash which was such a success that it was
5214 terminated by the Austrian National Bank in 1933. A successful
5215 alternative would be a threat to the current money system and gain
5216 powerful forces to work against it.</p>
5217
5218 <p>While checking out the current status of bitcoin, I also discovered
5219 that the community already seem to have
5220 <a href="http://www.theverge.com/2012/8/27/3271637/bitcoin-savings-trust-pyramid-scheme-shuts-down">experienced
5221 its first pyramid game / Ponzi scheme</a>. Not very surprising, given
5222 how members of "small" communities tend to trust each other. I guess
5223 enterprising crocks will try again and again, as they do anywhere
5224 wealth is available.</p>
5225
5226 </div>
5227 <div class="tags">
5228
5229
5230 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>.
5231
5232
5233 </div>
5234 </div>
5235 <div class="padding"></div>
5236
5237 <div class="entry">
5238 <div class="title">
5239 <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>
5240 </div>
5241 <div class="date">
5242 26th October 2012
5243 </div>
5244 <div class="body">
5245 <p>I work at the <a href="http://www.uio.no/">University of Oslo</a>
5246 looking after the computers, mostly on the unix side, but in general
5247 all over the place. I am also a member (and currently leader) of
5248 <a href="http://www.nuug.no/">the NUUG association</a>, which in turn
5249 make me a member of <a href="http://www.usenix.org/">USENIX</a>. NUUG
5250 is an member organisation for us in Norway interested in free
5251 software, open standards and unix like operating systems, and USENIX
5252 is a US based member organisation with similar targets. And thanks to
5253 these memberships, I get all issues of the great USENIX magazine
5254 <a href="https://www.usenix.org/publications/login">;login:</a> in the
5255 mail several times a year. The magazine is great, and I read most of
5256 it every time.</p>
5257
5258 <p>In the last issue of the USENIX magazine ;login:, there is an
5259 article by <a href="http://www.skendric.com/">Stuart Kendrick</a> from
5260 Fred Hutchinson Cancer Research Center titled
5261 "<a href="https://www.usenix.org/publications/login/october-2012-volume-37-number-5/what-takes-us-down">What
5262 Takes Us Down</a>" (longer version also
5263 <a href="http://www.skendric.com/problem/incident-analysis/2012-06-30/What-Takes-Us-Down.pdf">available
5264 from his own site</a>), where he report what he found when he
5265 processed the outage reports (both planned and unplanned) from the
5266 last twelve years and classified them according to cause, time of day,
5267 etc etc. The article is a good read to get some empirical data on
5268 what kind of problems affect a data centre, but what really inspired
5269 me was the kind of reporting they had put in place since 2000.<p>
5270
5271 <p>The centre set up a mailing list, and started to send fairly
5272 standardised messages to this list when a outage was planned or when
5273 it already occurred, to announce the plan and get feedback on the
5274 assumtions on scope and user impact. Here is the two example from the
5275 article: First the unplanned outage:
5276
5277 <blockquote><pre>
5278 Subject: Exchange 2003 Cluster Issues
5279 Severity: Critical (Unplanned)
5280 Start: Monday, May 7, 2012, 11:58
5281 End: Monday, May 7, 2012, 12:38
5282 Duration: 40 minutes
5283 Scope: Exchange 2003
5284 Description: The HTTPS service on the Exchange cluster crashed, triggering
5285 a cluster failover.
5286
5287 User Impact: During this period, all Exchange users were unable to
5288 access e-mail. Zimbra users were unaffected.
5289 Technician: [xxx]
5290 </pre></blockquote>
5291
5292 Next the planned outage:
5293
5294 <blockquote><pre>
5295 Subject: H Building Switch Upgrades
5296 Severity: Major (Planned)
5297 Start: Saturday, June 16, 2012, 06:00
5298 End: Saturday, June 16, 2012, 16:00
5299 Duration: 10 hours
5300 Scope: H2 Transport
5301 Description: Currently, Catalyst 4006s provide 10/100 Ethernet to end-
5302 stations. We will replace these with newer Catalyst
5303 4510s.
5304 User Impact: All users on H2 will be isolated from the network during
5305 this work. Afterward, they will have gigabit
5306 connectivity.
5307 Technician: [xxx]
5308 </pre></blockquote>
5309
5310 <p>He notes in his article that the date formats and other fields have
5311 been a bit too free form to make it easy to automatically process them
5312 into a database for further analysis, and I would have used ISO 8601
5313 dates myself to make it easier to process (in other words I would ask
5314 people to write '2012-06-16 06:00 +0000' instead of the start time
5315 format listed above). There are also other issues with the format
5316 that could be improved, read the article for the details.</p>
5317
5318 <p>I find the idea of standardising outage messages seem to be such a
5319 good idea that I would like to get it implemented here at the
5320 university too. We do register
5321 <a href="http://www.uio.no/tjenester/it/aktuelt/planlagte-tjenesteavbrudd/">planned
5322 changes and outages in a calendar</a>, and report the to a mailing
5323 list, but we do not do so in a structured format and there is not a
5324 report to the same location for unplanned outages. Perhaps something
5325 for other sites to consider too?</p>
5326
5327 </div>
5328 <div class="tags">
5329
5330
5331 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>.
5332
5333
5334 </div>
5335 </div>
5336 <div class="padding"></div>
5337
5338 <div class="entry">
5339 <div class="title">
5340 <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>
5341 </div>
5342 <div class="date">
5343 22nd October 2012
5344 </div>
5345 <div class="body">
5346 <p>A blog post from Martin Bekkelund today tell the story of
5347 <a href="http://www.bekkelund.net/2012/10/22/outlawed-by-amazon-drm/">how
5348 Amazon erased the books from a customer's kindle, locked the account
5349 and refuse to tell the customer why</a>. If a real book store did
5350 this to a customer, it would be called breaking into private property
5351 and theft. The story has spread around the net today. A bit more
5352 background information is available in Norwegian from
5353 <a href="http://www.digi.no/904658/hun-ble-kastet-ut-av-amazon">digi.no</a>.
5354 It is no surprise that digital restriction mechanisms (DRM) are used
5355 this way, as it has been warned about such abuse since DRM was
5356 introduced many years back. And Amazon proved in 2009 that it was
5357 willing to
5358 <a href="http://boingboing.net/2009/07/20/amazons-orwellian-de.html">
5359 break into customers equipment and remove the books</a> people had
5360 bought, when it removed the book 1984 by George Orwell from all the
5361 customers who had bought it. From the official comments, it even
5362 sounded like
5363 <a href="http://www.nytimes.com/2009/07/18/technology/companies/18amazon.html">Amazon
5364 would never do that again</a>. And here we are, three years
5365 later.</p>
5366
5367 <p>And thought this action is
5368 <a href="http://www.itavisen.no/904648/forbrukerraadet-helt-haarreisende">against
5369 Norwegian regulations and law</a>, it is according to the terms of use
5370 as written by Amazon, and it is hard to hold Amazon accountable to
5371 Norwegian laws. It is just yet another example of unacceptable terms
5372 of use on the web, and how they are used to remove customer
5373 rights.</p>
5374
5375 <p>Luckily for electronic books, there are alternatives without
5376 unacceptable terms. For example
5377 <a href="http://www.gutenberg.org/">Project Gutenberg</a> (about 40,000
5378 books), <a href="http://runeberg.org/">Project Runenberg</a> (1,652
5379 books) and <a href="http://www.archive.org/details/texts">The Internet
5380 Archive</a> (3,641,797 books) have heaps of books without DRM, which
5381 can read by anyone and shared with anyone.</p>
5382
5383 <p>Update 2012-10-23: This story broke in the morning on Monday. In
5384 the evening after the story had spread all across the Internet, Amazon
5385 restored the account of the user, as reported by
5386 <a href="http://www.digi.no/904675/helomvending-fra-amazon">digi.no</a>
5387 and <a href="http://nrk.no/kultur-og-underholdning/1.8368487">NRK</a>.
5388 Apparently public pressure work. The story from Martin have seen
5389 several twitter messages per minute the last 24 hours, which is quite
5390 a lot, and is still drawing a lot of attention. But even when the
5391 account is restored, the fundamental problem still exist. I recommend
5392 reading two opinions from
5393 <a href="http://blogs.computerworlduk.com/simon-says/2012/10/rights-you-have-no-right-to-your-ebooks/index.htm">Simon
5394 Phipps</a> and
5395 <a href="http://blogs.computerworlduk.com/open-enterprise/2012/10/is-amazon-playing-fair/index.htm">Glen
5396 Moody</a> if you want to learn more about the fundamentals and more
5397 details about the original story.</p>
5398
5399 </div>
5400 <div class="tags">
5401
5402
5403 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>.
5404
5405
5406 </div>
5407 </div>
5408 <div class="padding"></div>
5409
5410 <div class="entry">
5411 <div class="title">
5412 <a href="http://people.skolelinux.org/pere/blog/The_fight_for_freedom_and_privacy.html">The fight for freedom and privacy</a>
5413 </div>
5414 <div class="date">
5415 18th October 2012
5416 </div>
5417 <div class="body">
5418 <p>Civil liberties and privacy in the western world are going down the
5419 drain, and it is hard to fight against it. I try to do my best, but
5420 time is limited. I hope you do your best too. A few years ago I came
5421 across a marvellous drawing by
5422 <a href="http://www.claybennett.com/about.html">Clay Bennett</a>
5423 visualising some of what is going on.
5424
5425 <p><a href="http://www.claybennett.com/pages/security_fence.html">
5426 <img src="http://www.claybennett.com/images/archivetoons/security_fence.jpg"></a></p>
5427
5428 <blockquote>
5429 «They who can give up essential liberty to obtain a little temporary
5430 safety, deserve neither liberty nor safety.» - Benjamin Franklin
5431 </blockquote>
5432
5433 <p>Do you feel safe at the airport? I do not. Do you feel safe when
5434 you see a surveillance camera? I do not. Do you feel safe when you
5435 leave electronic traces of your behaviour and opinions? I do not. I
5436 just remember <a href="http://en.wikipedia.org/wiki/Panopticon">the
5437 Panopticon</a>, and can not help to think that we are slowly
5438 transforming our society to a huge Panopticon on our own.</p>
5439
5440 </div>
5441 <div class="tags">
5442
5443
5444 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>.
5445
5446
5447 </div>
5448 </div>
5449 <div class="padding"></div>
5450
5451 <div class="entry">
5452 <div class="title">
5453 <a href="http://people.skolelinux.org/pere/blog/ColonHelp_produser_sue_WordPress_to_silence_critic.html">ColonHelp produser sue WordPress to silence critic</a>
5454 </div>
5455 <div class="date">
5456 12th October 2012
5457 </div>
5458 <div class="body">
5459 <p>Thanks to a blog post by
5460 <a href="http://ramblingfoo.blogspot.no/2012/10/a-shitstorm-is-comming.html">Eddy
5461 Petrișor</a>, I became aware of yet another "alternative medicine"
5462 company using legal intimidation tactics to scare off critics.
5463 According to the originating blog post about the detox "cure"
5464 <a href="http://insulaindoielii.wordpress.com/2012/10/11/colon-help-sues-wordpress/">ColonHelp
5465 and its producers Zenyth Pharmaceuticals actions</a>, the producer
5466 sues Wordpress to get rid of the critical information. To check if
5467 the story was for real, I contacted Automattic, the company behind
5468 wordpress.com, and they reply was "We can confirm that Zenyth is
5469 seeking a court order against WordPress / Automattic. However, we
5470 don't believe the Terms of Service have been violated in this
5471 matter".</p>
5472
5473 <p>The story seem to be simply that a blogger checked the scientific
5474 foundation for a popular health product in Rumania, ColonHelp, and
5475 reported that there was no reason at all to believe it improved the
5476 health of its users. This caused the company behind the product,
5477 Zenyth Pharmaceuticals, to use legal intimidation to try to silence
5478 the critic, instead of presenting its views and scientific foundation
5479 to argue its side.</p>
5480
5481 <p>This is the usual story, and the Zenyth Pharmaceuticals company
5482 deserve everyone to know how it failed to act properly. Lets hope the
5483 <a href="http://en.wikipedia.org/wiki/Streisand_effect">Streisand
5484 effect</a> can make it rethink its strategy.</p>
5485
5486 <p>What is the harm, you might think. I suggest you take a look at
5487 <a href="http://www.whatstheharm.net/detoxification.html">a list of
5488 victims of detoxification</a>.</p>
5489
5490 </div>
5491 <div class="tags">
5492
5493
5494 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>.
5495
5496
5497 </div>
5498 </div>
5499 <div class="padding"></div>
5500
5501 <div class="entry">
5502 <div class="title">
5503 <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>
5504 </div>
5505 <div class="date">
5506 3rd October 2012
5507 </div>
5508 <div class="body">
5509 <p>I just read the blog post from Tim Retout
5510 <a href="http://retout.co.uk/blog/2012/10/02/the-library-challenge">about
5511 the computer science book collection available in his local
5512 library</a>, and just wanted to share my comment on his theory about
5513 computer books becoming obsolete so soon. That is part of the reason
5514 why the selection is so sad in almost any local library (it is in mine
5515 too), but I believe the major contributing factor is that the people
5516 buying books to the library have no way to know a good and future
5517 computer classic from trash. And they need to know which one will
5518 become a classic in the future, as they would normally buy one of the
5519 recently published books.</p>
5520
5521 <p>During my university years, I worked for a while at the university
5522 library, and even there the person in charge of buying computer
5523 related books (and in fact any natural science related book), did not
5524 know enough about computers to make a good educated guess. Once, just
5525 before Christmas, they had some leftover money on the book budget and
5526 I was asked if I could pick out a lot of computer books in the
5527 university book store, for the library to buy for their collection. I
5528 had a great time picking all the books I dreamt of buying and reading,
5529 and the books I knew were classics (like most of the
5530 <a href="http://en.wikipedia.org/wiki/W._Richard_Stevens">Stevens
5531 collection</a>). I picked several of the generic O'Reilly books (ie
5532 documenting protocols, formats and systems, not specific versions of
5533 products) and stayed away from the 'teach yourself X in N days' class.
5534 I had a great time, and probably picked out more than a hundred books
5535 for the library that evening.</p>
5536
5537 <p>The sad fact is that there is no way a overworked librarian is
5538 going to know that for example
5539 <a href="http://en.wikipedia.org/wiki/The_Practice_of_Programming">The
5540 Practice of Programming</a> is a must-have in any computer library,
5541 and they will most of the time end up picking the wrong books to buy.
5542 Perhaps you can help your local library make better choices by giving
5543 the suggestions for books to get? I know they would love to hear from
5544 you, even if their budget might block them from getting your favourite
5545 book right away.</p>
5546
5547 </div>
5548 <div class="tags">
5549
5550
5551 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
5552
5553
5554 </div>
5555 </div>
5556 <div class="padding"></div>
5557
5558 <div class="entry">
5559 <div class="title">
5560 <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>
5561 </div>
5562 <div class="date">
5563 23rd September 2012
5564 </div>
5565 <div class="body">
5566 <p>Since this summer, I have worked in my spare time on a Norwegian <a
5567 href="http://www.docbook.org/">docbook</a> version of the 2004 book <a
5568 href="http://free-culture.cc/">Free Culture</a> by Lawrence Lessig.
5569 The reason is that this book is a great primer on what problems exist
5570 in the current copyright laws, and I want it to be available also for
5571 those that are reluctant do read an English book.
5572
5573 When I started, I
5574 <a href="http://people.skolelinux.org/pere/blog/Dugnad_for___sende_norsk_versjon_av_Free_Culture_til_stortingets_representanter_.html">called
5575 for volunteers</a> to help me, but too few have volunteered so far,
5576 and progress is a bit slow. Anyway, today I broken the 70 percent
5577 mark for the first rough translation. At the moment, less than 700
5578 strings (paragraphs, index terms, titles) are left to translate. With
5579 my current progress of 10-20 strings per day, it will take a while to
5580 complete the translation. This graph show the updated progress:</p>
5581
5582 <img width="80%" align="center" src="https://github.com/petterreinholdtsen/free-culture-lessig/raw/master/progress.png">
5583
5584 <p>Progress have slowed down lately due to family and work
5585 commitments. If you want to help, please get in touch, and check out
5586 the project files currently available from
5587 <a href="https://github.com/petterreinholdtsen/free-culture-lessig">github</a>.</p>
5588
5589 <p>If you are curious what the translated book currently look like,
5590 the updated
5591 <a href="https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.pdf?raw=true">PDF</a>
5592 and
5593 <a href="https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.epub?raw=true">EPUB</a>
5594 are published on github. The HTML version is published as well, but
5595 github hand it out with MIME type text/plain, confusing browsers, so I
5596 saw no point in linking to that version.</p>
5597
5598 </div>
5599 <div class="tags">
5600
5601
5602 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>.
5603
5604
5605 </div>
5606 </div>
5607 <div class="padding"></div>
5608
5609 <div class="entry">
5610 <div class="title">
5611 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Giorgio_Pioda.html">Debian Edu interview: Giorgio Pioda</a>
5612 </div>
5613 <div class="date">
5614 17th September 2012
5615 </div>
5616 <div class="body">
5617 <p>After a long break in my row of interviews with people in the
5618 <a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>
5619 community, I finally found time to wrap up another. This time it is
5620 Giorgio Pioda, which showed up on the mailing list at the start of
5621 this year, asking questions and inspiring us to improve the first time
5622 administrators experience with Skolelinux. :) The interview was
5623 conduced in May, but I only found time to publish it now.</p>
5624
5625 <p><strong>Who are you, and how do you spend your days?</strong></p>
5626
5627 <p>I have a PhD in chemistry but since several years I work as teacher
5628 in secondary (15-18 year old students) and tertiary (a kind of "light"
5629 university) schools. Five years ago I started to manage a Learning
5630 Management Service server and slowly I got more and more involved with
5631 IT. 3 years ago the graduating schools moved completely to Linux and I
5632 got the head of the IT for this. The experience collected in chemistry
5633 labs computers (for example NMR analysis of protein folding) and in
5634 the IT-courses during university where sufficient to start. Self
5635 training is anyway very important</p>
5636
5637 <p>I live in the Italian speaking part of Switzerland, and the
5638 <a href="http://www.spse.ch/">SPSE school</a> (secondary) is a very
5639 special sport school for young people who try to became sport pro (for
5640 all sports, we have dozens of disciplines represented) and we are
5641 recognised by the Olympic Swiss Organisation.
5642
5643 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
5644 project?</strong></p>
5645
5646 <p>Looking for Linux / Primary Domain Controller (PDC) I found it
5647 already several years ago. But since the system was still not
5648 Kerberized and since our schools relies strongly on laptops I didn't
5649 use it. I plan to introduce it in the next future, probably for the
5650 next school year, since the squeeze release solved this security
5651 hole.</p>
5652
5653 <p><strong>What do you see as the advantages of Skolelinux/Debian
5654 Edu?</strong></p>
5655
5656 <p>Many. First of all there is a strong and living community that is
5657 very generous for help and hints. Chat help is crucial, together with
5658 the mailing list. Second. With Skolelinux you get an already well
5659 engineered platform and you don't have to start to build up your PDC
5660 and your clients from GNU/scratch; I've already done this once and I
5661 can tell it, it is hard. Third, since Skolelinux is a standard
5662 platform, it is way easier to educate other IT people and even if the
5663 head IT is sick another one could pick up the task without too much
5664 hassle.</p>
5665
5666 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
5667 Edu?</strong></p>
5668
5669 <p>The only real problem I see is that it is a little too less
5670 flexible at client level. Debian stable is rocky and desirable, but
5671 there are many reasons that force for another choice. For example the
5672 need of new drivers for new PC, or the need for a specific OS for some
5673 devices that have specific software packages for another specific
5674 distribution (I have such a case for whiteboards that have only
5675 Ubuntu packages). Thus, I prepared compatibility packages educlient
5676 and eduroaming, hoping not to use them ;-)</p>
5677
5678 <p><strong>Which free software do you use daily?</strong></p>
5679
5680 <p>I have a Debian Stable PDC at school (Kerberos, NIS, NFS) with
5681 mixed Debian and Ubuntu clients. If you think that this triad
5682 combination is exotic... well I discovered right yesterday that
5683 <a href="http://moo.nac.uci.edu/~hjm/Perceus-Report.html">Perceus</a>
5684 has the same...</p>
5685
5686 <p>For myself I run Debian wheezy/sid, but this combination is good
5687 only I you have enough competence to fix stuff for yourself, if
5688 something breaks. Daily I use texmacs, gnumeric, a little bit of R
5689 statistics, kmplot, and less frequently OpenOffice.org.</p>
5690
5691 <p><strong>Which strategy do you believe is the right one to use to
5692 get schools to use free software?</strong></p>
5693
5694 <P>I think that the only real argument that school managers "hear" is
5695 cost reduction. They don't give too much weight on quality, stability,
5696 just because they are normally not open to change.</p>
5697
5698 <p>Students adapts very quickly to GNU/Linux (and for them being able
5699 to switch between different OS is a plus value); teachers and managers
5700 don't.</p>
5701
5702 <p>We decided to move to Linux because students at our school have own
5703 laptop and we have the responsibility to keep the laptop ready to use;
5704 we were really unsatisfied with Microsoft since every Monday we had 20
5705 machine to fix for viral infections... With Linux this has been
5706 reduced to zero, since people installs almost only from official
5707 repositories. I think that our special needs brought us to Linux.
5708 Those who don't have such needs will hardly move to Linux.</p>
5709
5710 </div>
5711 <div class="tags">
5712
5713
5714 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>.
5715
5716
5717 </div>
5718 </div>
5719 <div class="padding"></div>
5720
5721 <div class="entry">
5722 <div class="title">
5723 <a href="http://people.skolelinux.org/pere/blog/IETF_activity_to_standardise_video_codec.html">IETF activity to standardise video codec</a>
5724 </div>
5725 <div class="date">
5726 15th September 2012
5727 </div>
5728 <div class="body">
5729 <p>After the
5730 <a href="http://people.skolelinux.org/pere/blog/IETF_standardize_its_first_multimedia_codec__Opus.html">Opus
5731 codec made</a> it into <a href="http://www.ietf.org/">IETF</a> as
5732 <a href="http://tools.ietf.org/html/rfc6716">RFC 6716</a>, I had a look
5733 to see if there is any activity in IETF to standardise a video codec
5734 too, and I was happy to discover that there is some activity in this
5735 area. A non-"working group" mailing list
5736 <a href="https://www.ietf.org/mailman/listinfo/video-codec">video-codec</a>
5737 was
5738 <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
5739 formal working group should be formed.</p>
5740
5741 <p>I look forward to see how this plays out. There is already
5742 <a href="http://www.ietf.org/mail-archive/web/video-codec/current/msg00003.html">an
5743 email from someone</a> in the MPEG group at ISO asking people to
5744 participate in the ISO group. Given how ISO failed with OOXML and given
5745 that it so far (as far as I can remember) only have produced
5746 multimedia formats requiring royalty payments, I suspect
5747 joining the ISO group would be a complete waste of time, but I am not
5748 involved in any codec work and my opinion will not matter much.</p>
5749
5750 <p>If one of my readers is involved with codec work, I hope she will
5751 join this work to standardise a royalty free video codec within
5752 IETF.</p>
5753
5754 </div>
5755 <div class="tags">
5756
5757
5758 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>.
5759
5760
5761 </div>
5762 </div>
5763 <div class="padding"></div>
5764
5765 <div class="entry">
5766 <div class="title">
5767 <a href="http://people.skolelinux.org/pere/blog/IETF_standardize_its_first_multimedia_codec__Opus.html">IETF standardize its first multimedia codec: Opus</a>
5768 </div>
5769 <div class="date">
5770 12th September 2012
5771 </div>
5772 <div class="body">
5773 <p>Yesterday, <a href="http://www.ietf.org/">IETF</a> announced the
5774 publication of of
5775 <a href="http://tools.ietf.org/html/rfc6716">RFC 6716, the Definition
5776 of the Opus Audio Codec</a>, a low latency, variable bandwidth, codec
5777 intended for both VoIP, film and music. This is the first time, as
5778 far as I know, that IETF have standardized a multimedia codec. In
5779 <a href="http://tools.ietf.org/html/rfc3533">RFC 3533</a>, IETF
5780 standardized the OGG container format, and it has proven to be a great
5781 royalty free container for audio, video and movies. I hope IETF will
5782 continue to standardize more royalty free codeces, after ISO and MPEG
5783 have proven incapable of securing everyone equal rights to publish
5784 multimedia content on the Internet.</p>
5785
5786 <p>IETF require two interoperating independent implementations to
5787 ratify a standard, and have so far ensured to only standardize royalty
5788 free specifications. Both are key factors to allow everyone (rich and
5789 poor), to compete on equal terms on the Internet.</p>
5790
5791 <p>Visit the <a href="http://opus-codec.org/">Opus project page</a> if
5792 you want to learn more about the solution.</p>
5793
5794 </div>
5795 <div class="tags">
5796
5797
5798 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>.
5799
5800
5801 </div>
5802 </div>
5803 <div class="padding"></div>
5804
5805 <div class="entry">
5806 <div class="title">
5807 <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>
5808 </div>
5809 <div class="date">
5810 7th September 2012
5811 </div>
5812 <div class="body">
5813 <p>As I
5814 <a href="http://people.skolelinux.org/pere/blog/Song_book_for_Computer_Scientists.html">mentioned
5815 this summer</a>, I have created a Computer Science song book a few
5816 years ago, and today I finally found time to create a public
5817 <a href="https://gitorious.org/pere-cs-songbook/pere-cs-songbook">Gitorious
5818 repository for the project</a>.</p>
5819
5820 <p>If you want to help out, please clone the source and submit patches
5821 to the HTML version. To generate the PDF and PostScript version,
5822 please use prince XML, or let me know about a useful free software
5823 processor capable of creating a good looking PDF from the HTML.</p>
5824
5825 <p>Want to sing? You can still find the song book in HTML, PDF and
5826 PostScript formats at
5827 <a href="http://www.hungry.com/~pere/cs-songbook/">Petter's Computer
5828 Science Songbook</a>.</p>
5829
5830 </div>
5831 <div class="tags">
5832
5833
5834 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>.
5835
5836
5837 </div>
5838 </div>
5839 <div class="padding"></div>
5840
5841 <div class="entry">
5842 <div class="title">
5843 <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>
5844 </div>
5845 <div class="date">
5846 23rd August 2012
5847 </div>
5848 <div class="body">
5849 <p>I came across a great comment from Simon Phipps today, about how
5850 <a href="http://www.infoworld.com/d/open-source-software/how-microsoft-was-forced-open-office-200233">Microsoft
5851 have been forced to open Office</a>, and it made me remember and
5852 revisit the great site
5853 <a href="http://www.officeshots.org/">officeshots</a> which allow you
5854 to check out how different programs present the ODF file format. I
5855 recommend both to those of my readers interested in ODF. :)</p>
5856
5857 </div>
5858 <div class="tags">
5859
5860
5861 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>.
5862
5863
5864 </div>
5865 </div>
5866 <div class="padding"></div>
5867
5868 <div class="entry">
5869 <div class="title">
5870 <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>
5871 </div>
5872 <div class="date">
5873 17th August 2012
5874 </div>
5875 <div class="body">
5876 <p>In my spare time, I currently work on a Norwegian
5877 <a href="http://www.docbook.org/">docbook</a> version of the 2004 book
5878 <a href="http://free-culture.cc/">Free Culture</a> by Lawrence Lessig,
5879 to get a Norwegian text explaining the problems with the copyright law
5880 I can give to my parents and others that are reluctant to read an
5881 English book. It is a marvellous set of examples on how the ever
5882 expanding copyright regulations hurt culture and society. When the
5883 translation is done, I hope to find funding to print and ship a copy
5884 to all the members of the Norwegian parliament, before they sit down
5885 to debate the latest revisions to the Norwegian copyright law. This
5886 summer I
5887 <a href="http://people.skolelinux.org/pere/blog/Dugnad_for___sende_norsk_versjon_av_Free_Culture_til_stortingets_representanter_.html">called
5888 for volunteers</a> to help me, and I have been able to secure the
5889 valuable contribution from at least one other Norwegian.</p>
5890
5891 <p>Two days ago, we finally broke the 50% mark. Then more than 50% of
5892 the number of strings to translate (normally paragraphs, but also
5893 titles and index entries are also counted). All parts from the
5894 beginning up to and including chapter four is translated. So is
5895 chapters six, seven and the conclusion. I created a graph to show the
5896 progress:</p>
5897
5898 <img width="80%" align="center" src="https://github.com/petterreinholdtsen/free-culture-lessig/raw/master/progress.png">
5899
5900 <p>The number of strings to translate increase as I insert the index
5901 entries into the docbook. They were missing with the docbook version
5902 I initially started with. There are still quite a few index entries
5903 missing, but everyone starting with A, B, O, Z and Y are done. I
5904 currently focus on completing the index entries, to get a complete
5905 english version of the docbook source.</p>
5906
5907 <p>There is still need for translators and people with docbook
5908 knowledge, to be able to get a good looking book (I still struggle
5909 with dblatex, xmlto and docbook-xsl) as well as to do the draft
5910 translation and proof reading. And I would like the figures to be
5911 redrawn as SVGs to make it easy to translate them. Any SVG master
5912 around? I am sure there are some legal terms that are unfamiliar to
5913 me. If you want to help, please get in touch, and check out the
5914 project files currently available from <a
5915 href="https://github.com/petterreinholdtsen/free-culture-lessig">github</a>.</p>
5916
5917 <p>If you are curious what the translated book currently look like,
5918 the updated
5919 <a href="https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.pdf?raw=true">PDF</a>
5920 and
5921 <a href="https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.epub?raw=true">EPUB</a>
5922 are published on github. The HTML version is published as well, but
5923 github hand it out with MIME type text/plain, confusing browsers, so I
5924 saw no point in linking to that version.</p>
5925
5926 </div>
5927 <div class="tags">
5928
5929
5930 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>.
5931
5932
5933 </div>
5934 </div>
5935 <div class="padding"></div>
5936
5937 <div class="entry">
5938 <div class="title">
5939 <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>
5940 </div>
5941 <div class="date">
5942 10th August 2012
5943 </div>
5944 <div class="body">
5945 <p>In <a href="http://www.docbook.org/">docbook</a> one can specify
5946 the language used at the top, and the processing pipeline will use
5947 this information to pick the correct translations for 'chapter', 'see
5948 also', 'index' etc. And for most languages used with docbook, I guess
5949 this work just fine. For example a German user can start the document
5950 with &lt;book lang="de"&gt;, and the document will show up with the
5951 correct content with any of the docbook processors. This is not the
5952 case for the language
5953 <a href="http://people.skolelinux.org/pere/blog/Free_Culture_in_Norwegian___5_chapters_done__74_percent_left_to_do.html">I
5954 am working with at the moment</a>, Norwegian Bokmål.</p>
5955
5956 <p>For a while, I was confused about which language code to use,
5957 because I was unable to find any language code that would work across
5958 all tools. I am currently testing dblatex, xmlto, docbook-xsl, and
5959 dbtoepub, and they do not handle Norwegian Bokmål the same way. Some
5960 of them do not handle it at all.</p>
5961
5962 <p>A bit of background information is probably needed to understand
5963 this mess. Norwegian is not one, but two written variants. The
5964 variants are Norwegian Nynorsk and Norwegian Bokmål. There are three
5965 two letter language codes associated with these languages, Norwegian
5966 is 'no', Norwegian Nynorsk is 'nn' and Norwegian Bokmål is 'nb'.
5967 Historically the 'no' language code was used for Norwegian Bokmål, but
5968 many years ago this was found to be å bad idea, and the recommendation
5969 is to use the most specific language code instead, to avoid confusion.
5970 In the transition period it is a good idea to make sure 'no' was an
5971 alias for 'nb'.</p>
5972
5973 <p>Back to docbook processing tools in Debian. The dblatex tool only
5974 understand 'nn'. There are translations for 'no', but not 'nb' (BTS
5975 <a href="http://bugs.debian.org/684391">#684391</a>), but due to a bug
5976 (BTS <a href="http://bugs.debian.org/682936">#682936</a>) the 'no'
5977 language code is not recognised. The docbook-xsl tool chain only
5978 recognise 'nn' and 'nb', but not 'no'. The xmlto tool only recognise
5979 'nn' and 'nb', but not 'no'. The end result that there is no language
5980 code I can use to get the docbook file working with all of these tools
5981 at the same time. :(</p>
5982
5983 <p>The correct solution is to use &lt;book lang="nb"&gt;, but it will
5984 take time before that will work with all the free software docbook
5985 processors. :(</p>
5986
5987 <p>Oh, the joy of well integrated tools. :/</p>
5988
5989 </div>
5990 <div class="tags">
5991
5992
5993 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>.
5994
5995
5996 </div>
5997 </div>
5998 <div class="padding"></div>
5999
6000 <div class="entry">
6001 <div class="title">
6002 <a href="http://people.skolelinux.org/pere/blog/Best_way_to_create_a_docbook_book_.html">Best way to create a docbook book?</a>
6003 </div>
6004 <div class="date">
6005 31st July 2012
6006 </div>
6007 <div class="body">
6008 <p>I tried to send this text to the
6009 <a href="https://lists.oasis-open.org/archives/docbook-apps/">docbook-apps
6010 mailing list at lists.oasis-open.org</a>, but it only accept messages
6011 from subscribers and rejected my post, and I completely lack the
6012 bandwidth required to subscribe to another mailing list, so instead I
6013 try to post my message here and hope my blog readers can help me
6014 out.</p>
6015
6016 <p>I am quite new to docbook processing, and am climbing a steep
6017 learning curve at the moment.</p>
6018
6019 <p>To give you some background, I am working on a Norwegian
6020 translation of the book Free Culture by Lawrence Lessig, and I use
6021 docbook to handle the process. The files to build the book are
6022 available from
6023 <a href="https://github.com/petterreinholdtsen/free-culture-lessig">github</a>.
6024 The book got around 400 pages with parts, images, footnotes, tables,
6025 index entries etc, which has proven to be a challenge for the free
6026 software docbook processors. My build platform is Debian GNU/Linux
6027 Squeeze.</p>
6028
6029 <p>I want to build PDF, EPUB and HTML version of the book, and have
6030 tried different tool chains to do the conversion from docbook to these
6031 formats. I am currently focusing on the PDF version, and have a few
6032 problems.</p>
6033
6034 <ul>
6035
6036 <li>Using dblatex, the &lt;part&gt; handling is not the way I want to,
6037 as &lt;/part&gt; do not really end the &lt;part&gt;. (See
6038 <a href="http://bugs.debian.org/683166">BTS report #683166</a>), the
6039 xetex backend (needed to process UTF-8) give incorrect hyphens in
6040 index references spanning several pages (See
6041 <a href="http://bugs.debian.org/682901">BTS report #682901</a>), and
6042 I am unable to get the norwegian template texts (See
6043 <a href="http://bugs.debian.org/682936">BTS report #682936</a>).</li>
6044
6045 <li>Using straight xmlto fail with some latex error (See
6046 <a href="http://bugs.debian.org/683163">BTS report
6047 #683163</a>).</li>
6048
6049 <li>Using xmlto with the fop backend fail to handle images (do not
6050 show up in the PDF), fail to handle a long footnote (overlap
6051 footnote and text body, see
6052 <a href="http://bugs.debian.org/683197">BTS report #683197</a>), and
6053 fail to create a correct index (some lack page ref, and the page
6054 refs listed are not right).</li>
6055
6056 <li>Using xmlto with the dblatex backend behave like dblatex.</li>
6057
6058 <li>Using docbook-xls with xsltproc + fop have the same footnote and
6059 index problems the xmlto + fop processing.</li>
6060
6061 </ul>
6062
6063 <p>So I wonder, what would be the best way to create the PDF version
6064 of this book? Are some of the bugs found above solved in new or
6065 experimental versions of some docbook tool chain?</p>
6066
6067 <p>What about HTML and EPUB versions?</p>
6068
6069 </div>
6070 <div class="tags">
6071
6072
6073 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>.
6074
6075
6076 </div>
6077 </div>
6078 <div class="padding"></div>
6079
6080 <div class="entry">
6081 <div class="title">
6082 <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>
6083 </div>
6084 <div class="date">
6085 21st July 2012
6086 </div>
6087 <div class="body">
6088 <p>I reported earlier that I am working on
6089 <a href="http://people.skolelinux.org/pere/blog/Dugnad_for___sende_norsk_versjon_av_Free_Culture_til_stortingets_representanter_.html">a
6090 norwegian version</a> of the book
6091 <a href="http://free-culture.cc/">Free Culture</a> by Lawrence Lessig.
6092 Progress is good, and yesterday I got a major contribution from Anders
6093 Hagen Jarmund completing chapter six. The source files as well as a
6094 PDF and EPUB version of this book are available from
6095 <a href="https://github.com/petterreinholdtsen/free-culture-lessig">github</a>.</p>
6096
6097 <p>I am happy to report that the draft for the first two chapters
6098 (preface, introduction) is complete, and three other chapters are also
6099 completely translated. This completes 26 percent of the number of
6100 strings (equivalent to paragraphs) in the book, and there is thus 74
6101 percent left to translate. A graph of the progress is present at the
6102 bottom of the github project page. There is still room for more
6103 contributors. Get in touch or send github pull requests with fixes if
6104 you got time and are willing to help make this book make it to
6105 print. :)</p>
6106
6107 <p>The book translation framework could also be a good basis for other
6108 translations, if you want the book to be available in your
6109 language.</p>
6110
6111 </div>
6112 <div class="tags">
6113
6114
6115 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>.
6116
6117
6118 </div>
6119 </div>
6120 <div class="padding"></div>
6121
6122 <div class="entry">
6123 <div class="title">
6124 <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>
6125 </div>
6126 <div class="date">
6127 16th July 2012
6128 </div>
6129 <div class="body">
6130 <p>I am currently working on a
6131 <a href="http://people.skolelinux.org/pere/blog/Dugnad_for___sende_norsk_versjon_av_Free_Culture_til_stortingets_representanter_.html">project
6132 to translate</a> the book
6133 <a href="http://free-culture.cc/">Free Culture</a> by Lawrence Lessig
6134 to Norwegian. And the source we base our translation on is the
6135 <a href="http://en.wikipedia.org/wiki/DocBook">docbook</a> version, to
6136 allow us to use po4a and .po files to handle the translation, and for
6137 this to work well the docbook source document need to be properly
6138 tagged. The source files of this project is available from
6139 <a href="https://github.com/petterreinholdtsen/free-culture-lessig">github</a>.</p>
6140
6141 <p>The problem is that the docbook source have flaws, and we have
6142 no-one involved in the project that is a docbook expert. Is there a
6143 docbook expert somewhere that is interested in helping us create a
6144 well tagged docbook version of the book, and adjust our build process
6145 for the PDF, EPUB and HTML version of the book? This will provide a
6146 well tagged English version (our source document), and make it a lot
6147 easier for us to create a good Norwegian version. If you can and want
6148 to help, please get in touch with me or fork the github project and
6149 send pull requests with fixes. :)</p>
6150
6151 </div>
6152 <div class="tags">
6153
6154
6155 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>.
6156
6157
6158 </div>
6159 </div>
6160 <div class="padding"></div>
6161
6162 <div class="entry">
6163 <div class="title">
6164 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__George_Bredberg.html">Debian Edu interview: George Bredberg</a>
6165 </div>
6166 <div class="date">
6167 9th July 2012
6168 </div>
6169 <div class="body">
6170 <p>The <a href="http://www.skolelinux.org/">Debian Edu /
6171 Skolelinux</a> project have users all over the globe, but until
6172 recently we have not known about any users in Norway's neighbour
6173 country Sweden. This changed when George Bredberg showed up in March
6174 this year on the mailing list, asking interesting questions about how
6175 to adjust and scale the just released
6176 <a href="http://www.debian.org/News/2012/20120311.html">Debian Edu
6177 Wheezy</a> setup to his liking. He granted me an interview, and I am
6178 happy to share his answers with you here.</p>
6179
6180 <p><strong>Who are you, and how do you spend your days?</strong></p>
6181
6182 <p>I'm a 44 year old country guy that have been working 12 years at
6183 the same school as 50% IT-manager and 50% Teacher. My educational
6184 background is fil.kand in history and religious beliefs, an exam as a
6185 "folkhighschool" teacher, that is, for teaching grownups. In
6186 Norwegian I believe it's called "Vuxenupplaring". I also have a master
6187 in "Technology and social change". So I'm not really a tech guy, I
6188 just like to study how humans and technology interact and that is my
6189 perspective when working with IT.</p>
6190
6191 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
6192 project?</strong></p>
6193
6194 I have followed the Skolelinux project for quite some time by
6195 now. Earlier I tested out the K12-LTSP project, which we used for some
6196 time, but I really like the idea of having a distribution aimed to be
6197 a complete solution for schools with necessary tools integrated. When
6198 K12-LTSP abandoned that idea some years ago, I started to look more
6199 seriously into Skolelinux instead.
6200
6201 <p><strong>What do you see as the advantages of Skolelinux/Debian
6202 Edu?</strong></p>
6203
6204 The big point of Skolelinux to me is that it is a complete
6205 distribution, ready to install. It has LDAP-support, MS Windows
6206 integration tools and so forth already configured, saving an
6207 administrator a lot of time and headache. We were using another Linux
6208 based thin-client system called Thinlinc, that has served us very
6209 well. But that Skolelinux is based on VNC and LTSP, to me, is better
6210 when it comes to the kind of multimedia used in schools. That is
6211 showing videos from Youtube or educational TV. It is also easier to
6212 mix thin clients with workstations, since the user settings will be the
6213 same. In our VNC-based solution you had to "beat around the bush" by
6214 setting up a second, hidden, home-directory for user settings for the
6215 workstations, because they will be different from the ones used on the
6216 thin clients. Skolelinux support for diskless workstations are very
6217 convenient since a school today often need to use a class room
6218 projector showing videos in full screen. That is easily done with a
6219 small integrated media computer running as a diskless workstation. You
6220 have only two installs to update and configure. One for the thin
6221 clients and one for the workstations. Also saving a lot of time. Our
6222 old system was also based on Redhat and CentOS. They are both very
6223 nice distributions, but they are sometimes painfully slow when it
6224 comes to updating multimedia support and multimedia programs (even
6225 such as Gimp), leaving us with a bit "oldish" applications. Debian is
6226 quicker to update.
6227
6228 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
6229 Edu?</strong></p>
6230
6231 <p>Debian is a bit too quick when it comes to updating. As an example
6232 we use old HP terminals as thinclients, and two times already this
6233 year (2012) the updates you get from the repositories has stopped
6234 sound from working with them. It's a kernel/ALSA issue. So you have
6235 to be more careful properly testing the updates before you run them in
6236 a production environment. This has never happened with CentOS.</p>
6237
6238 <p>I also would like to be able to set my own domain-settings at
6239 install time. In Skolelinux they are kind of hard coded into the
6240 distribution, when it comes to LDAP and at least samba integration.
6241 That is more a cosmetic/translation issue, and not a real problem.
6242 Running MS Windows applications within the Skolelinux environment needs
6243 to be better supported. That is, running them seamlessly via RDP, and
6244 support for single-sign on. That will make the transition to free
6245 software easier, because you can keep the applications you really
6246 need. No support will make it impossible if you work in a school where
6247 some applications can't be open source. As for us we really need to
6248 run Adobe InDesign in our journalist classes. We run a journalist
6249 education, and is one of the very few non university ones that is ok:d
6250 by Svenska journalistförbundet (Swedish journalist association). Our
6251 education gives the pupils the right of membership there, once they
6252 are done. This is important if you want to get a job.</p>
6253
6254 <p>Adobe InDesign is the program most commonly used in newspapers and
6255 magazines. We used Quark Express before, but they seem to loose there
6256 market to Adobe. The only "equivalent" to InDesign in the opensource
6257 world is Scribus, and its not advanced enough. At least not according
6258 to the teacher. I think it would be possible to use it, because they
6259 are not supposed to learn a program, they are supposed to learn how to
6260 edit and compile a newspaper. But politically at our school we are not
6261 there yet. And Scribus lacks a lot of things you find i InDesign.</p>
6262
6263 <p>We used even a windows program for sound editing when it comes to
6264 the radio-journalist part. The year to come we are going to try
6265 Audacity. That software has the same kind of limitations compared to
6266 Adobe Audition, but that teacher is a bit more open minded. We have
6267 tried Ardour also, but that instead is more like a music studio
6268 program, not intended for the kind of editing taking place in a radio
6269 studio. Its way to complex and the GUI is to scattered when you only
6270 want to cut, make pass-overs, add extra channels and normalise. Those
6271 things you can do in Audacity, but its not as easy as in Audition. You
6272 have to do more things manually with envelopes, and that is a bit old
6273 fashion and timewasting. Its also harder to cut and move sound from
6274 one channel to another, which is a thing that you do frequently
6275 because you often find yourself needing to rearrange parts of the
6276 sound file.</p>
6277
6278 <p>So, I am not sure we will succeed in replacing even Audition, but we
6279 will try. The problem is the students have certain expectations when
6280 they start an education towards a profession. So the programs has to
6281 look and feel professional. Good thing with radio, there are many
6282 programs out there, that radio studios use, so its not as standardised
6283 as Newspaper editing. That means, it does not really matter what
6284 program they learn, because once they start working they still have to
6285 learn the program the studio uses, so instead focus has to be to learn
6286 the editing part without to much focus on a specific software.</p>
6287
6288 <p><strong>Which free software do you use daily?</strong></p>
6289
6290 <p>Myself I'm running Linux Mint, or Ubuntu these days. I use almost
6291 only open source software, and preferably Linux based. When it comes
6292 to most used applications its OpenOffice, and Firefox (of course ;)
6293 )</p>
6294
6295 <p><strong>Which strategy do you believe is the right one to use to
6296 get schools to use free software?</strong></p>
6297
6298 <p>To get schools to use free software there has to be good open
6299 source software that are windows based, to ease the transition. But
6300 it's also very important that the multimedia support is working
6301 flawlessly. The problems with Youtube, Twitter, Facebook and whatever
6302 will create problems when it comes to both teachers and
6303 students. Economy are also important for schools, so using thin
6304 clients, as long as they have good multimedia support, is a very good
6305 idea. It's also important that the open source software works even for
6306 the administration. It's hard to convince the teachers to stick with
6307 open source, if the principal has to run Windows. It also creates a
6308 problem if some classes has to use Windows for there tasks, since that
6309 will create a difference in "status" between classes, so a good
6310 support for running windows applications via the thin client (Linux)
6311 desktop is essential. At least at our school, where we have mixed
6312 level of educations, from high-school to journalist-school.</p>
6313
6314 <p>Update 2012-07-09 08:30: Paul Wise tipped me on IRC about three
6315 useful sources related to Free Software for radio stations: the LWN
6316 article <a href="https://lwn.net/Articles/481607/">Radio station
6317 management with Airtime</a>,
6318 <a href="http://www.sourcefabric.org/en/airtime/">Airtime</a> which
6319 claim to be a Free open source radio automation software and
6320 <a href="http://www.rivendellaudio.org/">Rivendell</a> which claim to
6321 be complete radio broadcast automation solution. All of them seem
6322 useful to the aspiring radio producer.</p>
6323
6324 </div>
6325 <div class="tags">
6326
6327
6328 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>.
6329
6330
6331 </div>
6332 </div>
6333 <div class="padding"></div>
6334
6335 <div class="entry">
6336 <div class="title">
6337 <a href="http://people.skolelinux.org/pere/blog/Why_do_schools_waste_money_on_IT_.html">Why do schools waste money on IT?</a>
6338 </div>
6339 <div class="date">
6340 8th July 2012
6341 </div>
6342 <div class="body">
6343 <p>In the Debian Edu / Skolelinux project, we have realised that one
6344 of the major blockers for the project success is the purchasing skills
6345 in schools and municipalities. We provide what the happy users of
6346 Debian Edu / Skolelinux say they need and to a lower cost than the
6347 alternatives, and yet so few schools decide to use our solution. I
6348 was pleased to discover the same observation done by mySociety and Tom
6349 Steinberg in his blog post
6350 "<a href="http://www.mysociety.org/2012/06/19/can-you-recognize-the-million-pound-chair/">Can
6351 you recognize the million pound chair?</a>". Read it and weep for the
6352 spending of your tax money.</p>
6353
6354 <p>Of course there are other factors involved as well, like our
6355 projects bad marketing skills and the Linux community fragmentation
6356 causing worry with the people on the outside, so we as a project need
6357 to keep working hard to gain users, but it is a up-hill battle when
6358 public decision makers are unable to understand computer system
6359 purchases.</p>
6360
6361 </div>
6362 <div class="tags">
6363
6364
6365 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>.
6366
6367
6368 </div>
6369 </div>
6370 <div class="padding"></div>
6371
6372 <div class="entry">
6373 <div class="title">
6374 <a href="http://people.skolelinux.org/pere/blog/Free_Timetabling_Software___nice_free_software.html">Free Timetabling Software - nice free software</a>
6375 </div>
6376 <div class="date">
6377 7th July 2012
6378 </div>
6379 <div class="body">
6380 <p>Included in <a href="http://www.skolelinux.org/">Debian Edu /
6381 Skolelinux</a> is a large collection of end user and school specific
6382 software. It is one of the packages not installed by default but
6383 provided in the Debian archive for schools to install if they want to,
6384 is a system to automatically plan the school time table using
6385 information about available teachers, classes and rooms, combined with
6386 the list of required courses and how many hours each topic should
6387 receive. The software is
6388
6389 <a href="http://lalescu.ro/liviu/fet/">named FET</a>, and it provide a
6390 graphical user interface to input the required information, save the
6391 result in a fairly simple XML format, and generate time tables for
6392 both teachers and students. It is available both for
6393 <a href="http://lalescu.ro/liviu/fet/download.html">Linux, MacOSX and
6394 Windows</a>.</p>
6395
6396 <p>This is <a href="http://lalescu.ro/liviu/fet/features.html">the
6397 feature list</a>, liftet from the project web site:</p>
6398
6399 <p><ul>
6400
6401 <li>FET is free software, licensed under the GNU GPL v2 or later.
6402 You can freely use, copy, modify and redistribute it </li>
6403
6404 <li>Localized to en_US (US English, default), ar (Arabic), ca
6405 (Catalan), da (Danish), de (German), el (Greek), es (Spanish), fa
6406 (Persian), fr (French), gl (Galician), he (Hebrew), hu
6407 (Hungarian), id (Indonesian), it (Italian), lt (Lithuanian), mk
6408 (Macedonian), ms (Malay), nl (Dutch), pl (Polish), pt_BR
6409 (Brazilian Portuguese), ro (Romanian), ru (Russian), si (Sinhala),
6410 sk (Slovak), sr (Serbian), tr (Turkish), uk (Ukrainian), uz
6411 (Uzbek) and vi (Vietnamese) (incompletely for some languages)
6412 </li>
6413
6414 <li>Fully automatic generation algorithm, allowing also
6415 semi-automatic or manual allocation</li>
6416
6417 <li>Platform independent implementation, allowing running on
6418 GNU/Linux, Windows, Mac and any system that Qt supports </li>
6419
6420 <li>Flexible modular XML format for the input file, allowing editing
6421 with an XML editor or by hand (besides FET interface)</li>
6422
6423 <li>Import/export from CSV format</li>
6424
6425 <li>The resulted timetables are exported into HTML, XML and CSV
6426 formats </li>
6427
6428 <li>Flexible students structure, organized into sets: years, groups
6429 and subgroups. FET allows overlapping years and groups and
6430 non-overlapping subgroups. You can even define individual students
6431 (as separate sets)</li>
6432
6433 <li>Each constraint has a weight percentage, from 0.0% to 100.0%
6434 (but some special constraints are allowed to have only 100% weight
6435 percentage)</li>
6436
6437 <li>Limits for the algorithm (all these limits can be increased on
6438 demand, as a custom version, because this would require a bit more
6439 memory):
6440 <ul>
6441 <li>Maximum total number of hours (periods) per day: 60</li>
6442 <li>Maximum number of working days per week: 35</li>
6443 <li>Maximum total number of teachers: 6000</li>
6444 <li>Maximum total number of sets of students: 30000</li>
6445 <li>Maximum total number of subjects: 6000</li>
6446 <li>Virtually unlimited number of activity tags</li>
6447 <li>Maximum number of activities: 30000</li>
6448 <li>Maximum number of rooms: 6000</li>
6449 <li>Maximum number of buildings: 6000</li>
6450 <li>Possibility of adding multiple teachers and
6451 students sets for each activity. (it is possible
6452 also to have no teachers or no students sets for an
6453 activity)</li>
6454 <li>Virtually unlimited number of time constraints</li>
6455 <li>Virtually unlimited number of space constraints</li>
6456 </ul></li>
6457
6458 <li>A large and flexible palette of time constraints:
6459 <ul>
6460 <li>Break periods</li>
6461 <li>For teacher(s):
6462 <ul>
6463 <li>Not available periods</li>
6464 <li>Max/min days per week</li>
6465 <li>Max gaps per day/week</li>
6466 <li>Max hours daily/continuously</li>
6467 <li>Min hours daily</li>
6468 <li>Max hours daily/continuously with an activity tag</li>
6469
6470 <li>Respect working in an hourly interval a max number of
6471 days per week</li>
6472 </ul></li>
6473 <li>For students (sets):
6474 <ul>
6475 <li>Not available periods</li>
6476 <li>Begins early (specify max allowed beginnings at second hour)</li>
6477 <li>Max gaps per day/week</li>
6478 <li>Max hours daily/continuously</li>
6479 <li>Min hours daily</li>
6480 <li>Max hours daily/continuously with an activity tag</li>
6481
6482 <li>Respect working in an hourly interval a max number of
6483 days per week</li>
6484 </ul></li>
6485 <li>For an activity or a set of activities/subactivities:
6486 <ul>
6487 <li>A single preferred starting time</li>
6488 <li>A set of preferred starting times</li>
6489 <li>A set of preferred time slots</li>
6490 <li>Min/max days between them</li>
6491 <li>End(s) students day</li>
6492 <li>Same starting time/day/hour</li>
6493 <li>Occupy max time slots from selection (a complex and
6494 flexible constraint, useful in many situations)</li>
6495 <li>Consecutive, ordered, grouped (for 2 or 3 (sub)activities)</li>
6496 <li>Not overlapping</li>
6497 <li>Max simultaneous in selected time slots</li>
6498 <li>Min gaps between a set of (sub)activities</li>
6499 </ul></li>
6500 </ul></li>
6501
6502 <li>A large and flexible palette of space constraints:
6503 <ul>
6504 <li>Room not available periods</li>
6505 <li>For teacher(s):
6506 <ul>
6507 <li>Home room(s)</li>
6508 <li>Max building changes per day/week</li>
6509 <li>Min gaps between building changes</li>
6510 </ul>
6511 </li>
6512
6513 <li>For students (sets):
6514 <ul>
6515 <li>Home room(s)</li>
6516 <li>Max building changes per day/week</li>
6517 <li>Min gaps between building changes</li>
6518 </ul>
6519 </li>
6520 <li>Preferred room(s):
6521 <ul>
6522 <li>For a subject</li>
6523 <li>For an activity tag</li>
6524 <li>For a subject and an activity tag</li>
6525 <li>Individually for a (sub)activity</li>
6526 </ul>
6527 </li>
6528
6529 <li>For a set of activities:
6530 <ul>
6531 <li>Occupy a maximum number of different rooms</li>
6532 </ul>
6533 </li>
6534 </ul>
6535 </li>
6536 </ul></p>
6537
6538 <p>I have not used it myself, as I am not involved in time table
6539 planning at a school, but it seem to work fine when I test it. If you
6540 need to set up your schools time table, and is tired of doing it
6541 manually, check it out.
6542
6543 A quick summary on how to use it can be found in
6544 <a href="http://marvelsoft.co.in/wp/2012/03/generate-timetable-for-state-cbse-icse-igcse-schools-free/">a
6545 blog post from MarvelSoft</a>. If you find FET useful, please provide
6546 a recipe for the Debian Edu project in the
6547 <a href="http://wiki.debian.org/DebianEdu#Howtos">Debian Edu HowTo
6548 section</a>.</p>
6549
6550 </div>
6551 <div class="tags">
6552
6553
6554 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>.
6555
6556
6557 </div>
6558 </div>
6559 <div class="padding"></div>
6560
6561 <div class="entry">
6562 <div class="title">
6563 <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>
6564 </div>
6565 <div class="date">
6566 3rd July 2012
6567 </div>
6568 <div class="body">
6569 <p>In the NUUG <a href="http://www.fiksgatami.no/">FiksGataMi</a>
6570 project (Norwegian version of
6571 <a href="http://www.fixmystreet.com/">FixMyStreet</a> from
6572 <a href="http://www.mysociety.org/">mySociety</a>), we have discovered
6573 a problem with the municipalities using
6574 <a href="http://www.zimbra.com/">Zimbra</a>. When FiksGataMi send a
6575 problem report to the government, the email From: address is set to
6576 the address of the person reporting the problem, while envelope sender
6577 is set to the FiksGataMi contact address. The intention is to make
6578 sure the municipality send any replies to the person reporting the
6579 problem, while any email delivery problems are sent to us in NUUG.
6580 This work well in most cases, but not for Karmøy municipality using
6581 Zimbra. Karmøy is using the vacation message function in Zimbra to
6582 send an automatic reply to report that the message has been received,
6583 and this message is sent to the envelope sender and not the address in
6584 the From: header.</p>
6585
6586 <p>This causes the automatic message from Karmøy to go to NUUGs
6587 request-tracker instance instead of to the person reporting the
6588 problem. We can not really change the envelope sender address, as
6589 this would make it impossible for us to discover when there are
6590 problems with the MTAs receiving problem reports. We have been in
6591 contact with the people at Karmøy municipality, and they are willing
6592 to adjust Zimbra if something can be changed there to get a better
6593 behaviour.</p>
6594
6595 <p>The default behaviour of Zimbra is as far as I can tell according
6596 to the specification in RFC 3834, which recommend that vacation
6597 messages are sent to the envelope sender and not to the From: address.
6598 But I wonder if it is possible to adjust or configure Zimbra to behave
6599 differently. Anyone know? Please let us know at
6600 <a href="http://lists.nuug.no/mailman/listinfo/fiksgatami">fiksgatami
6601 (at) nuug.no</a>.</p>
6602
6603 </div>
6604 <div class="tags">
6605
6606
6607 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>.
6608
6609
6610 </div>
6611 </div>
6612 <div class="padding"></div>
6613
6614 <div class="entry">
6615 <div class="title">
6616 <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>
6617 </div>
6618 <div class="date">
6619 26th June 2012
6620 </div>
6621 <div class="body">
6622 <p>I've been too busy at home, but finally I found time to wrap up
6623 another interview with the people behind
6624 <a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>.
6625 This time we get to know José Luis Redrejo Rodríguez, one of our great
6626 helpers from Spain. His effort was the reason we added support for
6627 several desktop types (KDE, Gnome and most recently LXDE) in Debian
6628 Edu, and have all of these available in the recently published
6629 <a href="http://www.debian.org/News/2012/20120311.html">Debian Edu
6630 Squeeze</a> version.</p>
6631
6632 <p><strong>Who are you, and how do you spend your days?</strong></p>
6633
6634 <p>I'm a father, teacher and engineer who is working for the Education
6635 ministry of the Region of Extremadura (Spain) in the implementation of
6636 ICT in schools</p>
6637
6638 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
6639 project?</strong></p>
6640
6641 <p>At 2006, I verified that both, we in Extremadura and Skolelinux
6642 project, had been working in parallel for some years, doing very
6643 similar things, using very similar tools and with similar targets, so
6644 I decided it was time to join forces as much as possible.</p>
6645
6646 <p><strong>What do you see as the advantages of Skolelinux/Debian
6647 Edu?</strong></p>
6648
6649 <p>A community of highly skilled experts working together, with a
6650 really open schema of collaboration and work. I really love the
6651 concepts of Do-ocracy and Merit-ocracy and the way these concepts are
6652 been used everyday inside Debian Edu.</p>
6653
6654 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
6655 Edu?</strong></p>
6656
6657 <p>Sometimes the differences in the implementations, laws or
6658 economical and technical resources in the different countries don't
6659 allow us to agree in the same solution for all of us, and several
6660 approaches are needed, what is a waste of effort. Also, there is a
6661 lack of more man power to be able to follow the fast evolution of the
6662 technologies in school.</p>
6663
6664 <p><strong>Which free software do you use daily?</strong></p>
6665
6666 <p>Debian, of course, and due to my kind of job I am most of my time
6667 between Iceweasel, <a href="http://www.geany.org/">Geany</a> and
6668 <a href="http://www.ohloh.net/p/gnome-terminator">Terminator</a>.</p>
6669
6670 <p><strong>Which strategy do you believe is the right one to use to
6671 get schools to use free software?</strong></p>
6672
6673 <p>I think there is not a single strategy because there are very
6674 different scenarios: schools with mixed proprietary and free
6675 environments, schools using only workstations, other schools using
6676 laptops, netbooks, tablets, interactive white-boards, etc.</p>
6677
6678 <p>Also the range of ages of the students is very broad and you can
6679 not use the same solutions for primary schools and secondary or even
6680 universities. So different strategies are needed.</p>
6681
6682 <p>But, looking at these differences, and looking back to the things
6683 we've done and implemented, and the places were we have spent most of
6684 our forces, I think we should focus as much as possible in free
6685 multi-platform environments, using only standards tools, and moving
6686 more and more to Internet or network solutions that could be deployed
6687 using wireless. I think we'll see more and more personal devices in
6688 the schools, devices the students and teachers will take home with
6689 them, so the solutions must be able to be taken at home and continue
6690 working there.</p>
6691
6692 </div>
6693 <div class="tags">
6694
6695
6696 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>.
6697
6698
6699 </div>
6700 </div>
6701 <div class="padding"></div>
6702
6703 <div class="entry">
6704 <div class="title">
6705 <a href="http://people.skolelinux.org/pere/blog/Song_book_for_Computer_Scientists.html">Song book for Computer Scientists</a>
6706 </div>
6707 <div class="date">
6708 24th June 2012
6709 </div>
6710 <div class="body">
6711 <p>Many years ago, while studying Computer Science at the
6712 <a href="http://www.uit.no/">University of Tromsø</a>, I started
6713 collecting computer related songs for use at parties. The original
6714 version was written in LaTeX, but a few years ago I got help from
6715 Håkon W. Lie, one of the inventors of W3C CSS, to convert it to HTML
6716 while keeping the ability to create a nice book in PDF format. I have
6717 not had time to maintain the book for a while now, and guess I should
6718 put it up on some public version control repository where others can
6719 help me extend and update the book. If anyone is volunteering to help
6720 me with this, send me an email. Also let me know if there are songs
6721 missing in my book.</p>
6722
6723 <p>I have not mentioned the book on my blog so far, and it occured to
6724 me today that I really should let all my readers share the joys of
6725 singing out load about programming, computers and computer networks.
6726 Especially now that <a href="http://debconf12.debconf.org/">Debconf
6727 12</a> is about to start (and I am not going). Want to sing? Check
6728 out <a href="http://www.hungry.com/~pere/cs-songbook/">Petter's
6729 Computer Science Songbook</a>.
6730
6731 </div>
6732 <div class="tags">
6733
6734
6735 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>.
6736
6737
6738 </div>
6739 </div>
6740 <div class="padding"></div>
6741
6742 <div class="entry">
6743 <div class="title">
6744 <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>
6745 </div>
6746 <div class="date">
6747 11th June 2012
6748 </div>
6749 <div class="body">
6750 <p>During my work on
6751 <a href="http://www.debian.org/News/2012/20120311.nb.html">Debian Edu
6752 based on Squeeze</a>, I came across some issues that should be
6753 addressed in the Wheezy release. I finally found time to wrap up my
6754 notes and provide quick summary of what I found, with a bit
6755 explanation.</p>
6756
6757 <p><ul>
6758
6759 <li>We need to rewrite our package installation framework, as tasksel
6760 changed from using tasksel tasks to using meta packages (aka packages
6761 with dependencies like our education-* packages), and our installation
6762 system depend on tasksel tasks in
6763 /usr/share/tasksel/debian-edu-tasks.desc for package
6764 installation.</li>
6765
6766 <li>Enable Kerberos login for more services. Now with the Kerberos
6767 foundation in place, we should use it to get single sign on with more
6768 services, and avoiding unneeded password / login questions. We should
6769 at least try to enable it for these services:
6770 <ul>
6771
6772 <li>CUPS for admins to add/configure printers and users when using
6773 quotas.</li>
6774 <li>Nagios for admins checking the system status.</li>
6775 <li>GOsa for admins updating LDAP and users changing their passwords.</li>
6776 <li>LDAP for admins updating LDAP.</li>
6777 <li>Squid for users when exam mode / filtering is active.</li>
6778 <li>ssh for admins and users to save a password prompt.</li>
6779
6780 </ul></li>
6781
6782 <li>When we move GOsa to use Kerberos instead of LDAP bind to
6783 authenticate users, we should try to block or at least limit access to
6784 use LDAP bind for authentication, to ensure Kerberos is used when it
6785 is intended, and nothing fall back to using the less safe LDAP bind</li>
6786
6787 <li>Merge debian-edu-config and debian-edu-install. The split made
6788 sense when d-e-install did a lot more, but these days it is just an
6789 inconvenience when we update the debconf preseeding values.</li>
6790
6791 <li>Fix partman-auto to allow us to abort the installation before
6792 touching the disk if the disk is too small. This is
6793 <a href="http://bugs.debian.org/653305">BTS report #653305</a> and the
6794 d-i developers are fine with the patch and someone just need to apply
6795 it and upload. After this is done we need to adjust
6796 debian-edu-install to use this new hook.</li>
6797
6798 <li>Adjust to new LTSP framework (boot time config instead of install
6799 time config). LTSP changed its design, and our hooks to install
6800 packages and update the configuration is most likely not going to work
6801 in Wheezy.
6802
6803 <li>Consider switching to NBD instead of NFS for LTSP root, to allow
6804 the Kernel to cache files in its normal file cache, possibly speeding
6805 up KDE login on slow networks.</li>
6806
6807 <li>Make it possible to create expired user passwords that need to
6808 change on first login. This is useful when handing out password on
6809 paper, to make sure only the user know the password. This require
6810 fixes to the PAM handling of kdm and gdm.</li>
6811
6812 <li>Make GUI for adding new machines automatically from sitesummary.
6813 The current command line script is not very friendly to people most
6814 familiar with GUIs. This should probably be integrated into GOsa to
6815 have it available where the admin will be looking for it..</li>
6816
6817 <li>We should find way for Nagios to check that the DHCP service
6818 actually is working (as in handling out IP addresses). None of the
6819 Nagios checks I have found so far have been working for me.</li>
6820
6821 <li>We should switch from libpam-nss-ldapd to sssd for all profiles
6822 using LDAP, and not only on for roaming workstations, to have less
6823 packages to configure and consistent setup across all profiles.</li>
6824
6825 <li>We should configure Kerberos to update LDAP and Samba password
6826 when changing password using the Kerberos protocol. The hook was
6827 requested in <a href="http://bugs.debian.org/588968">BTS report
6828 #588968</a> and is now available in Wheezy. We might need to write a
6829 MIT Kerberos plugin in C to get this.</li>
6830
6831 <li>We should clean up the set of applications installed by default.
6832 <ul>
6833
6834 <li>reduce the number of chemistry visualisers</li>
6835 <li>consider dropping xpaint</li>
6836 <li>and probably more?</li>
6837 </ul></li>
6838
6839 <li>Some hardware need external firmware to work properly. This is
6840 mostly the case for WiFi network cards, but there are some other
6841 examples too. For popular laptops to work out of the box, such
6842 firmware need to be installed from non-free, and we should provide
6843 some GUI to do this. Ubuntu already have this implemented, and we
6844 could consider using their packages. At the moment we have some
6845 command line script to do this (one for the running system, another
6846 for the LTSP chroot).</li>
6847
6848
6849 <li>In Squeeze, we provide KDE, Gnome and LXDE as desktop options. We
6850 should extend the list to Xfce and Sugar, and preferably find a way to
6851 install several and allow the admin or the user to select which one to
6852 use.</li>
6853
6854 <li>The golearn tool from the goplay package make it easy to check out
6855 interesting educational packages. We should work on the package
6856 tagging in Debian to ensure it represent all the useful educational
6857 packages, and extend the tool to allow it to use packagekit to install
6858 new applications with a simple mouse click.</li>
6859
6860 <li>The Squeeze version got half a exam solution already in place,
6861 with the introduction of iptable based network blocking, but for it to
6862 be a complete exam solution the Squid proxy need to enable
6863 filtering/blocking as well when the exam mode is enabled. We should
6864 implement a way to easily enable this for the schools that want it,
6865 instead of the "it is documented" method of today.</li>
6866
6867 <li>A feature used in several schools is the ability for a teacher to
6868 "take over" the desktop of individual or all computers in the room.
6869 There are at least three implementations,
6870 <a href="italc.sourceforge.net/">italc</a>,
6871 <a href="http://www.itais.net/help/en/">controlaula</a> og
6872 <a href="http://www.epoptes.org/">epoptes</a> and we should pick one of
6873 them and make it trivial to set it up in a school. The challenges is
6874 how to distribute crypto keys and how to group computers in one room
6875 and how to set up which machine/user can control the machines in a
6876 given room.</li>
6877
6878 <li>Tablets and surf boards are getting more and more popular, and we
6879 should look into providing a good solution for integrating these into
6880 the Debian Edu network. Not quite sure how. Perhaps we should
6881 provide a installation profile with better touch screen support for
6882 them, or add some sync services to allow them to exchange
6883 configuration and data with the central server. This should be
6884 investigated.</li>
6885
6886 </ul></p>
6887
6888 <p>I guess we will discover more as we continue to work on the Wheezy
6889 version.</p>
6890
6891 </div>
6892 <div class="tags">
6893
6894
6895 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>.
6896
6897
6898 </div>
6899 </div>
6900 <div class="padding"></div>
6901
6902 <div class="entry">
6903 <div class="title">
6904 <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>
6905 </div>
6906 <div class="date">
6907 9th June 2012
6908 </div>
6909 <div class="body">
6910 <p>Slashdot got a story about Intel planning a
6911 <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
6912 with face recognition</a> to recognise the viewer, and it occurred to
6913 me that it would be more interesting to turn it around, and do face
6914 recognition on the TV image itself. It could let the viewer know who
6915 is present on the screen, and perhaps look up their credibility,
6916 company affiliation, previous appearances etc for the viewer to better
6917 evaluate what is being said and done. That would be a feature I would
6918 be willing to pay for.</p>
6919
6920 <p>I would not be willing to pay for a TV that point a camera on my
6921 household, like the big brother feature apparently proposed by Intel.
6922 It is the telescreen idea fetched straight out of the book
6923 <a href="http://gutenberg.net.au/ebooks01/0100021.txt">1984 by George
6924 Orwell</a>.</p>
6925
6926 </div>
6927 <div class="tags">
6928
6929
6930 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>.
6931
6932
6933 </div>
6934 </div>
6935 <div class="padding"></div>
6936
6937 <div class="entry">
6938 <div class="title">
6939 <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>
6940 </div>
6941 <div class="date">
6942 6th June 2012
6943 </div>
6944 <div class="body">
6945 <p>A few days ago
6946 <a href="http://people.skolelinux.org/pere/blog/SOAP_based_webservice_from_Dell_to_check_server_support_status.html">I
6947 reported how to get</a> the support status out of Dell using an
6948 unofficial and undocumented SOAP API, which I since have found out was
6949 <a href="http://lists.us.dell.com/pipermail/linux-poweredge/2012-February/045959.html">discovered
6950 by Daniel De Marco in february</a>. Combined with my web scraping
6951 code for HP, Dell and IBM
6952 <a href="http://people.skolelinux.org/pere/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html">from
6953 2009</a>, I got inspired and wrote
6954 <a href="https://views.scraperwiki.com/run/computer-hardware-support-status/">a
6955 web service</a> based on Scraperwiki to make it easy to look up the
6956 support status and get a machine readable result back.</p>
6957
6958 <p>This is what it look like at the moment when asking for the JSON
6959 output:
6960
6961 <blockquote><pre>
6962 % 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>
6963 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": ""})
6964 %
6965 </pre></blockquote>
6966
6967 <p>It currently support Dell and HP, and I am hoping for help to add
6968 support for other vendors. The python source is available on
6969 Scraperwiki and I welcome help with adding more features.</p>
6970
6971 </div>
6972 <div class="tags">
6973
6974
6975 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>.
6976
6977
6978 </div>
6979 </div>
6980 <div class="padding"></div>
6981
6982 <div class="entry">
6983 <div class="title">
6984 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Mike_Gabriel.html">Debian Edu interview: Mike Gabriel</a>
6985 </div>
6986 <div class="date">
6987 2nd June 2012
6988 </div>
6989 <div class="body">
6990 <p>Back in 2010, Mike Gabriel showed up on the
6991 <a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>
6992 mailing list. He quickly proved to be a valuable developer, and
6993 thanks to his tireless effort we now have Kerberos integrated into the
6994 <a href="http://www.debian.org/News/2012/20120311.html">Debian Edu
6995 Squeeze</a> version.</p>
6996
6997 <p><strong>Who are you, and how do you spend your days?</strong></p>
6998
6999 <p>My name is Mike Gabriel, I am 38 years old and live near Kiel,
7000 Schleswig-Holstein, Germany. I live together with a wonderful partner
7001 (Angela Fuß) and two own children and two bonus children (contributed
7002 by Angela).</p>
7003
7004 <p>During the day I am part-time employed as a system administrator
7005 and part-time working as an IT consultant. The consultancy work
7006 touches free software topics wherever and whenever possible. During
7007 the nights I am a free software developer. In the gaps I also train in
7008 becoming an osteopath.</p>
7009
7010 <p>Starting in 2010 we (Andreas Buchholz, Angela Fuß, Mike Gabriel)
7011 have set up a free software project in the area of Kiel that aims at
7012 introducing free software into schools. The project's name is
7013 "IT-Zukunft Schule" (IT future for schools). The project links IT
7014 skills with communication skills.</p>
7015
7016 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
7017 project?</strong></p>
7018
7019 <p>While preparing our own customised Linux distribution for
7020 "IT-Zukunft Schule" we were repeatedly asked if we really wanted to
7021 reinvent the wheel. What schools really need is already available,
7022 people said. From this impulse we started evaluating other Linux
7023 distributions that target being used for school networks.</p>
7024
7025 <p>At the end we short-listed two approaches and compared them: a
7026 commercial Linux distribution developed by a company in Bremen,
7027 Germany, and Skolelinux / Debian Edu. Between 12/2010 and 03/2011 we
7028 went to several events and met people being responsible for marketing
7029 and development of either of the distributions. Skolelinux / Debian
7030 Edu was by far much more convincing compared to the other product that
7031 got short-listed beforehand--across the full spectrum. What was most
7032 attractive for me personally: the perspective of collaboration within
7033 the developmental branch of the Debian Edu project itself.</p>
7034
7035 <p>In parallel with this, we talked to many local and not-so-local
7036 people. People teaching at schools, headmasters, politicians, data
7037 protection experts, other IT professionals.</p>
7038
7039 <p>We came to two conclusions:</p>
7040
7041 <p>First, a technical conclusion: What schools need is available in
7042 bits and pieces here and there, and none of the solutions really fit
7043 by 100%. Any school we have seen has a very individual IT setup
7044 whereas most of each school's requirements could mapped by a standard
7045 IT solution. The requirement to this IT solution is flexibility and
7046 customisability, so that individual adaptations here and there are
7047 possible. In terms of re-distributing and rolling out such a
7048 standardised IT system for schools (a system that is still to some
7049 degree customisable) there is still a lot of work to do here
7050 locally. Debian Edu / Skolelinux has been our choice as the starting
7051 point.</p>
7052
7053 <p>Second, a holistic conclusion: What schools need does not exist at
7054 all (or we missed it so far). There are several technical solutions
7055 for handling IT at schools that tend to make a good impression. What
7056 has been missing completely here in Germany, though, is the enrolment
7057 of people into using IT and teaching with IT. "IT-Zukunft Schule"
7058 tries to provide an approach for this.</p>
7059
7060 <p>Only some schools have some sort of a media concept which explains,
7061 defines and gives guidance on how to use IT in class. Most schools in
7062 Northern Germany do not have an IT service provider, the school's IT
7063 equipment is managed by one or (if the school is lucky) two (admin)
7064 teachers, most of the workload these admin teachers get done in there
7065 spare time.</p>
7066
7067 <p>We were surprised that only a very few admin teachers were
7068 networked with colleagues from other schools. Basically, every school
7069 here around has its individual approach of providing IT equipment to
7070 teachers and students and the exchange of ideas has been quasi
7071 non-existent until 2010/2011.</p>
7072
7073 <p>Quite some (non-admin) teachers try to avoid using IT technology in
7074 class as a learning medium completely. Several reasons for this
7075 avoidance do exist.</p>
7076
7077 <p>We discovered that no-one has ever taken a closer look at this
7078 social part of IT management in schools, so far. On our quest journey
7079 for a technical IT solution for schools, we discussed this issue with
7080 several teachers, headmasters, politicians, other IT professionals and
7081 they all confirmed: a holistic approach of considering IT management
7082 at schools, an approach that includes the people in place, will be new
7083 and probably a gain for all.</p>
7084
7085 <p><strong>What do you see as the advantages of Skolelinux/Debian
7086 Edu?</strong></p>
7087
7088 <p>There is a list of advantages: international context, openness to
7089 any kind of contributions, do-ocracy policy, the closeness to Debian,
7090 the different installation scenarios possible (from stand-alone
7091 workstation to complex multi-server sites), the transparency within
7092 project communication, honest communication within the group of
7093 developers, etc.</p>
7094
7095 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
7096 Edu?</strong></p>
7097
7098 <p>Every coin has two sides:</p>
7099
7100 <p>Technically: <a href="http://bugs.debian.org/311188">BTS issue
7101 #311188</a>, tricky upgradability of a Debian Edu main server, network
7102 client installations on top of a plain vanilla Debian installation
7103 should become possible sometime in the near future, one could think
7104 about splitting the very complex package debian-edu-config into
7105 several portions (to make it easier for new developers to
7106 contribute).</p>
7107
7108 <p>Another issue I see is that we (as Debian Edu developers) should
7109 find out more about the network of people who do the marketing for
7110 Debian Edu / Skolelinux. There is a very active group in Germany
7111 promoting Skolelinux on the bigger Linux Days within Germany. Are
7112 there other groups like that in other countries? How can we bring
7113 these marketing people together (marketing group A with group B and
7114 all of them with the group of Debian Edu developers)? During the last
7115 meeting of the German Skolelinux group, I got the impression of people
7116 there being rather disconnected from the development department of
7117 Debian Edu / Skolelinux.</p>
7118
7119 <p><strong>Which free software do you use daily?</strong></p>
7120
7121 <p>For my daily business, I do not use commercial software at all.</p>
7122
7123 <p>For normal stuff I use Iceweasel/Firefox, Libreoffice.org. For
7124 serious text writing I prefer LaTeX. I use gimp, inkscape, scribus for
7125 more artistic tasks. I run virtual machines in KVM and Virtualbox.</p>
7126
7127 <p>I am one of the upstream developers of X2Go. In 2010 I started the
7128 development of a Python based X2Go Client, called PyHoca-GUI.
7129 PyHoca-GUI has brought forth a Python X2Go Client API that currently
7130 is being integrated in Ubuntu's software center.</p>
7131
7132 <p>For communications I have my own Kolab server running using Horde
7133 as web-based groupware client. For IRC I love to use irssi, for Jabber
7134 I have several clients that I use, mostly pidgin, though. I am also
7135 the Debian maintainer of Coccinella, a Jabber-based interactive
7136 whiteboard.</p>
7137
7138 <p>My favourite terminal emulator is KDE's Yakuake.</p>
7139
7140 <p><strong>Which strategy do you believe is the right one to use to
7141 get schools to use free software?</strong></p>
7142
7143 <p>Communicate, communicate, communicate. Enrol people, enrol people,
7144 enrol people.</p>
7145
7146 </div>
7147 <div class="tags">
7148
7149
7150 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>.
7151
7152
7153 </div>
7154 </div>
7155 <div class="padding"></div>
7156
7157 <div class="entry">
7158 <div class="title">
7159 <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>
7160 </div>
7161 <div class="date">
7162 1st June 2012
7163 </div>
7164 <div class="body">
7165 <p>A few years ago I wrote
7166 <a href="http://people.skolelinux.org/pere/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html">how
7167 to extract support status</a> for your Dell and HP servers. Recently
7168 I have learned from colleges here at the
7169 <a href="http://www.uio.no/">University of Oslo</a> that Dell have
7170 made this even easier, by providing a SOAP based web service. Given
7171 the service tag, one can now query the Dell servers and get machine
7172 readable information about the support status. This perl code
7173 demonstrate how to do it:</p>
7174
7175 <p><pre>
7176 use strict;
7177 use warnings;
7178 use SOAP::Lite;
7179 use Data::Dumper;
7180 my $GUID = '11111111-1111-1111-1111-111111111111';
7181 my $App = 'test';
7182 my $servicetag = $ARGV[0] or die "Please supply a servicetag. $!\n";
7183 my ($deal, $latest, @dates);
7184 my $s = SOAP::Lite
7185 -> uri('http://support.dell.com/WebServices/')
7186 -> on_action( sub { join '', @_ } )
7187 -> proxy('http://xserv.dell.com/services/assetservice.asmx')
7188 ;
7189 my $a = $s->GetAssetInformation(
7190 SOAP::Data->name('guid')->value($GUID)->type(''),
7191 SOAP::Data->name('applicationName')->value($App)->type(''),
7192 SOAP::Data->name('serviceTags')->value($servicetag)->type(''),
7193 );
7194 print Dumper($a -> result) ;
7195 </pre></p>
7196
7197 <p>The output can look like this:</p>
7198
7199 <p><pre>
7200 $VAR1 = {
7201 'Asset' => {
7202 'Entitlements' => {
7203 'EntitlementData' => [
7204 {
7205 'EntitlementType' => 'Expired',
7206 'EndDate' => '2009-07-29T00:00:00',
7207 'Provider' => '',
7208 'StartDate' => '2006-07-29T00:00:00',
7209 'DaysLeft' => '0'
7210 },
7211 {
7212 'EntitlementType' => 'Expired',
7213 'EndDate' => '2009-07-29T00:00:00',
7214 'Provider' => '',
7215 'StartDate' => '2006-07-29T00:00:00',
7216 'DaysLeft' => '0'
7217 },
7218 {
7219 'EntitlementType' => 'Expired',
7220 'EndDate' => '2007-07-29T00:00:00',
7221 'Provider' => '',
7222 'StartDate' => '2006-07-29T00:00:00',
7223 'DaysLeft' => '0'
7224 }
7225 ]
7226 },
7227 'AssetHeaderData' => {
7228 'SystemModel' => 'GX620',
7229 'ServiceTag' => '8DSGD2J',
7230 'SystemShipDate' => '2006-07-29T19:00:00-05:00',
7231 'Buid' => '2323',
7232 'Region' => 'Europe',
7233 'SystemID' => 'PLX_GX620',
7234 'SystemType' => 'OptiPlex'
7235 }
7236 }
7237 };
7238 </pre></p>
7239
7240 <p>I have not been able to find any documentation from Dell about this
7241 service outside the
7242 <a href="http://xserv.dell.com/services/assetservice.asmx?op=GetAssetInformation">inline
7243 documentation</a>, and according to
7244 <a href="http://iboyd.net/index.php/2012/02/14/updated-dell-warranty-information-script/">one
7245 comment</a> it can have stability issues, but it is a lot better than
7246 scraping HTML pages. :)</p>
7247
7248 <p>Wonder if HP and other server vendors have a similar service. If
7249 you know of one, drop me an email. :)</p>
7250
7251 </div>
7252 <div class="tags">
7253
7254
7255 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>.
7256
7257
7258 </div>
7259 </div>
7260 <div class="padding"></div>
7261
7262 <div class="entry">
7263 <div class="title">
7264 <a href="http://people.skolelinux.org/pere/blog/First_monitor_calibration_using_ColorHug.html">First monitor calibration using ColorHug</a>
7265 </div>
7266 <div class="date">
7267 31st May 2012
7268 </div>
7269 <div class="body">
7270 <p>A few days ago my color calibration gadget
7271 <a href="http://www.hughski.com/index.html">ColorHug</a> arrived in the
7272 mail, and I've had a few days to test it. As all my machines are
7273 running Debian Squeeze, where
7274 <a href="http://packages.qa.debian.org/c/colorhug-client.html">the
7275 calibration software</a> is missing (it is present in Wheezy and Sid),
7276 I ran the calibration using the Fedora based live CD. This worked
7277 just fine. So far I have only done the quick calibration. It was
7278 slow enough for me, so I will leave the more extensive calibration for
7279 another day.</p>
7280
7281 <p>After calibration, I get a
7282 <a href="http://en.wikipedia.org/wiki/ICC_profile">ICC color
7283 profile</a> file that can be passed to programs understanding such
7284 tools. KDE do not seem to understand it out of the box, so I searched
7285 for command line tools to use to load the color profile into X.
7286 xcalib was the first one I found, and it seem to work fine for single
7287 monitor setups. But for my video player, a laptop with a flat screen
7288 attached, it was unable to load the color profile for the correct
7289 monitor. After searching a bit, I
7290 <a href="http://ubuntuforums.org/showthread.php?t=1347896">discovered</a>
7291 that the dispwin tool from the argyll package would do what I wanted,
7292 and a simple</p>
7293
7294 <p><pre>
7295 dispwin -d 1 profile.icc
7296 </pre></p>
7297
7298 <p>later I had the color profile loaded for the correct monitor. The
7299 result was a bit more pink than I expected. I guess I picked the
7300 wrong monitor type for the "led" monitor I got, but the result is good
7301 enough for now.</p>
7302
7303 </div>
7304 <div class="tags">
7305
7306
7307 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
7308
7309
7310 </div>
7311 </div>
7312 <div class="padding"></div>
7313
7314 <div class="entry">
7315 <div class="title">
7316 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Ralf_Gesellensetter.html">Debian Edu interview: Ralf Gesellensetter</a>
7317 </div>
7318 <div class="date">
7319 27th May 2012
7320 </div>
7321 <div class="body">
7322 <p>In 2003, a German teacher showed up on the
7323 <a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>
7324 mailing list with interesting problems and reports proving he setting
7325 up Linux for a (for us at the time) lot of pupils. His name was Ralf
7326 Gesellensetter, and he has been an important tester and contributor
7327 since then, helping to make sure the
7328 <a href="http://www.debian.org/News/2012/20120311.html">Debian Edu
7329 Squeeze</a> release became as good as it is..</p>
7330
7331 <p><strong>Who are you, and how do you spend your days?</strong></p>
7332
7333 <p>I am a teacher from Germany, and my subjects are Geography,
7334 Mathematics, and Computer Science ("Informatik"). During the past 12
7335 years (since 2000), I have been working for a comprehensive (and soon,
7336 also inclusive) school leading to all kind of general levels, such as
7337 O- or A-level ("Abitur"). For quite as long, I've been taking care of
7338 our computer network.</p>
7339
7340 <p>Now, in my early 40s, I enjoy the privilege of spending a lot of my
7341 spare time together with my wife, our son (3 years) and our daughter
7342 (4 months).</p>
7343
7344 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
7345 project?</strong></p>
7346
7347 <p>We had tried different Linux based school servers, when members of
7348 my local Linux User Group (LUG OWL) detected Skolelinux. I remember
7349 very well, being part of a party celebrating the Linux New Media Award
7350 ("Best Newcomer Distribution", also nominated: Ubuntu) that was given
7351 to Skolelinux at Linux World Exposition in Frankfurt, 2005 (IIRC). Few
7352 months later, I had the chance to join a developer meeting in Ulsrud
7353 (Oslo) and to hand out the award to Knut Yrvin and others. For more
7354 than 7 years, Skolelinux is part of our schools infrastructure, namely
7355 our main server (tjener), one LTSP (today without thin clients), and
7356 approximately 50 work stations. Most of these have the option to boot a
7357 locally installed Skolelinux image. As a consequence, I joined quite
7358 a few events dealing with free software or Linux, and met many Debian
7359 (Edu) developers. All of them seemed quite nice and competent to me,
7360 one more reason to stick to Skolelinux.</p>
7361
7362 <p><strong>What do you see as the advantages of Skolelinux/Debian
7363 Edu?</strong></p>
7364
7365 <p>Debian driven, you are given all the advantages of a community
7366 project including well maintained updates. Once, you are familiar with
7367 the network layout, you can easily roll out an entire educational
7368 computer infrastructure, from just one installation media. As only
7369 free software (FOSS) is used, that supports even elderly hardware,
7370 up-sizing your IT equipment is only limited by space (i.e. available
7371 labs). Especially if you run a LTSP thin client server, your
7372 administration costs tend towards zero.</p>
7373
7374 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
7375 Edu?</strong></p>
7376
7377 <p>While Debian's stability has loads of advantages for servers, this
7378 might be different in some cases for clients: Schools with unlimited
7379 budget might buy new hardware with components that are not yet
7380 supported by Debian stable, or wish to use more recent versions of
7381 office packages or desktop environments. These schools have the
7382 option to run Debian testing or other distributions - if they have the
7383 capacity to do so. Another issue is that Debian release cycles
7384 include a wide range of changes; therefor a high percentage of human
7385 power seems to be absorbed by just keeping the features of Skolelinux
7386 within the new setting of the version to come. During this process,
7387 the cogs of Debian Edu are getting more and more professional,
7388 i.e. harder to understand for novices.</p>
7389
7390 <p><strong>Which free software do you use daily?</strong></p>
7391
7392 <p>LibreOffice, Wikipedia, Openstreetmap, Iceweasel (Mozilla Firefox),
7393 KMail, Gimp, Inkscape - and of course the Linux Kernel (not only on
7394 PC, Laptop, Mobile, but also our SAT receiver)</p>
7395
7396 <p><strong>Which strategy do you believe is the right one to use to
7397 get schools to use free software?</strong></p>
7398
7399 <p><ol>
7400
7401 <li>Support computer science as regular subject in schools to make
7402 people really "own" their hardware, to make them understand the
7403 difference between proprietary software products, and free software
7404 developing.</li>
7405
7406 <li>Make budget baskets corresponding: In Germany's public schools
7407 there are more or less fixed budgets for IT equipment (including
7408 licenses), so schools won't benefit from any savings here. This
7409 privilege is left to private schools which have consequently a large
7410 share among German Skolelinux schools.</li>
7411
7412 <li>Get free software in the seminars where would-be teachers are
7413 trained. In many cases, teachers' software customs are respected by
7414 decision makers rather than the expertise of any IT experts.</li>
7415
7416 <li>Don't limit ourself to free software run natively. Everybody uses
7417 free software or free licenses (for instance Wikipedia), and this
7418 general concept should get expanded to free educational content to be
7419 shared world wide (school books e.g.).</li>
7420
7421 <li>Make clear where ever you can that the market share of free (libre)
7422 office suites is much above 20 p.c. today, and that you pupils don't
7423 need to know the "ribbon menu" in order to get employed.</li>
7424
7425 <li>Talk about the difference between freeware and free software.</li>
7426
7427 <li>Spread free software, or even collections of portable free apps
7428 for USB pen drives. Endorse students to get a legal copy of
7429 Libreoffice rather than accepting them to use illegal serials. And
7430 keep sending documents in ODF formats.</li>
7431
7432 </ol></p>
7433
7434 </div>
7435 <div class="tags">
7436
7437
7438 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>.
7439
7440
7441 </div>
7442 </div>
7443 <div class="padding"></div>
7444
7445 <div class="entry">
7446 <div class="title">
7447 <a href="http://people.skolelinux.org/pere/blog/The_cost_of_ODF_and_OOXML.html">The cost of ODF and OOXML</a>
7448 </div>
7449 <div class="date">
7450 26th May 2012
7451 </div>
7452 <div class="body">
7453 <p>I just come across a blog post from Glyn Moody reporting the
7454 claimed cost from Microsoft on requiring ODF to be used by the UK
7455 government. I just sent him an email to let him know that his
7456 assumption are most likely wrong. Sharing it here in case some of my
7457 blog readers have seem the same numbers float around in the UK.</p>
7458
7459 <p><blockquote> <p>Hi. I just noted your
7460 <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>
7461 comment:</p>
7462
7463 <p><blockquote>"They're all in Danish, not unreasonably, but even
7464 with the help of Google Translate I can't find any figures about the
7465 savings of "moving to a flexible two standard" as claimed by the
7466 Microsoft email. But I assume it is backed up somewhere, so let's take
7467 it, and the £500 million figure for the UK, on trust."
7468 </blockquote></p>
7469
7470 <p>I can tell you that the Danish reports are inflated. I believe it is
7471 the same reports that were used in the Norwegian debate around 2007,
7472 and Gisle Hannemyr (a well known IT commentator in Norway) had a look
7473 at the content. In short, the reason it is claimed that using ODF
7474 will be so costly, is based on the assumption that this mean every
7475 existing document need to be converted from one of the MS Office
7476 formats to ODF, transferred to the receiver, and converted back from
7477 ODF to one of the MS Office formats, and that the conversion will cost
7478 10 minutes of work time for both the sender and the receiver. In
7479 reality the sender would have a tool capable of saving to ODF, and the
7480 receiver would have a tool capable of reading it, and the time spent
7481 would at most be a few seconds for saving and loading, not 20 minutes
7482 of wasted effort.</p>
7483
7484 <p>Microsoft claimed all these costs were saved by allowing people to
7485 transfer the original files from MS Office instead of spending 10
7486 minutes converting to ODF. :)</p>
7487
7488 <p>See
7489 <a href="http://hannemyr.com/no/ms12_vl02.php">http://hannemyr.com/no/ms12_vl02.php</a>
7490 and
7491 <a href="http://hannemyr.com/no/ms12.php">http://hannemyr.com/no/ms12.php</a>
7492 for background information. Norwegian only, sorry. :)</p>
7493 </blockquote></p>
7494
7495 </div>
7496 <div class="tags">
7497
7498
7499 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>.
7500
7501
7502 </div>
7503 </div>
7504 <div class="padding"></div>
7505
7506 <div class="entry">
7507 <div class="title">
7508 <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>
7509 </div>
7510 <div class="date">
7511 18th May 2012
7512 </div>
7513 <div class="body">
7514 <p>In january, I
7515 <a href="http://blog.cihar.com/archives/2012/01/17/colorhug-has-arrived/">discovered
7516 the ColorHug</a>, a USB dongle from
7517 <a href="http://www.hughski.com/index.html">Hughski</a> to calibrate
7518 the color on a computer screen. The software required is
7519 <a href="http://packages.qa.debian.org/c/colorhug-client.html">included
7520 in Debian</a>, and I decided back then to preorder from the next
7521 batch. Yesterday I finally heard back from them, and got the
7522 opportunity to order. Today I ordered mine, and eagerly await the
7523 delivery. I hope it arrive next week, as I got a confirmation that it
7524 should go in the mail on monday. :)</p>
7525
7526 <p>If you want to ensure the colors on the screen match the intended
7527 colors, I suggest you check out this cheap tool with free software
7528 drivers. :)</p>
7529
7530 </div>
7531 <div class="tags">
7532
7533
7534 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
7535
7536
7537 </div>
7538 </div>
7539 <div class="padding"></div>
7540
7541 <div class="entry">
7542 <div class="title">
7543 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__J_rgen_Leibner.html">Debian Edu interview: Jürgen Leibner</a>
7544 </div>
7545 <div class="date">
7546 13th May 2012
7547 </div>
7548 <div class="body">
7549 <p>It has been a few busy weeks for me, but I am finally back to
7550 publish another interview with the people behind
7551 <a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>.
7552 This time it is one of our German developers, who have helped out over the
7553 years to make sure both a lot of major but also a lot of the minor
7554 details get right before release.
7555
7556 <p><strong>Who are you, and how do you spend your days?</strong></p>
7557
7558 <p>My name is Jürgen Leibner, I'm 49 years old and living in
7559 Bielefeld, a town in northern Germany. I worked nearly 20 years as
7560 certified engineer in the department for plant design and layout of an
7561 international company for machinery and equipment. Since 2011 I'm a
7562 certified technical writer (tekom e.V.) and doing technical
7563 documentations for a steam turbine manufacturer. From April this year
7564 I will manage the department of technical documentation at a
7565 manufacturer of automation and assembly line engineering.</p>
7566
7567 <p>My first contact with linux was around 1993. Since that time I used
7568 it at work and at home repeatedly but not exclusively as I do now at
7569 home since 2006.</p>
7570
7571 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
7572 project?</strong></p>
7573
7574 <p>Once a day in the early year of 2001 when I wanted to fetch my
7575 daughter from primary school, there was a teacher sitting in the
7576 middle of 20 old computers trying to boot them and he failed. I helped
7577 him to get them booting. That was seen by the school director and she
7578 asked me if I would like to manage that the school gets all that old
7579 computers in use. I answered: "Yes".</p>
7580
7581 <p>Some weeks later every of the 10 classrooms had one computer
7582 running Windows98. I began to collect old computers and equipment as
7583 gifts and installed the first computer room with a peer-to-peer
7584 network. I did my work at school without being payed in my spare time
7585 and with a lot of fun. About one year later the school was connected
7586 to Internet and a local area network was installed in the school
7587 building. That was the time to have a server and I knew it must be a
7588 Linux server to be able to fulfil all the wishes of the teachers and
7589 being able to do this in a transparent and economic way, without extra
7590 costs for things like licence and software. So I searched for a
7591 school server system running under Linux and I found a couple of
7592 people nearby who founded 'skolelinux.de'. It was the Skolelinux
7593 prerelease 32 I first tried out for being used at the school. I
7594 managed the IT of that school until the municipal authority took over
7595 the IT management and centralised the services for all schools in
7596 Bielefeld in December of 2006.</p>
7597
7598 <p><strong>What do you see as the advantages of Skolelinux/Debian
7599 Edu?</strong></p>
7600
7601 <p>When I'm looking back to the beginning, there were other advantages
7602 for me as today.</p>
7603
7604 <p>In the past there were advantages like:</p>
7605
7606 <p><ul>
7607
7608 <li>I don't need to buy it so it generates no costs to the school as
7609 they had little money to spent for computers and software.</li>
7610
7611 <li>It has a licence which grands all rights to use it without
7612 cost.</li>
7613
7614 <li>It was more able to fit all requirements of a server system for
7615 schools than a Microsoft server system, even if there are only Windows
7616 clients because of it's preconfigured overall concept of being a
7617 infrastructure solution and community for schools, not only a
7618 server</li>
7619
7620 <li>I was able to configure the server to the needs of the
7621 school.</li>
7622
7623 </ul></p>
7624
7625 <p>Today some of the advantages has been lost, changed or new ones
7626 came up in this way:</p>
7627
7628 <p><ul>
7629
7630 <li>Most schools here do have money to buy hardware and software
7631 now.</li>
7632
7633 <li>They are today mostly managed from central IT departments which
7634 have own concepts which often do not fit to Debian Edu concepts
7635 because they are to close to Microsoft ideology.</li>
7636
7637 <li>With the Squeeze version of Debian Edu which now uses GOsa² for
7638 management I feel more able to manage the daily tasks than with the
7639 interfaces used in the past.</li>
7640
7641 <li>It is more modular than in the past and fits even better to the
7642 different needs.</li>
7643
7644 <li>The documentation is usable and gets better every day.</li>
7645
7646 <li>More people than ever before are using Debian Edu all over the
7647 world and so the community, which is an very important part I think,
7648 is sharing knowledge and minds.</li>
7649
7650 <li>Most, maybe all, of the technical requirements for schools are
7651 solved today by Debian Edu. </li>
7652
7653 </ul></p>
7654
7655 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
7656 Edu?</strong></p>
7657
7658 <p><ul>
7659
7660 <li>There are too few IT companies able to integrate Debian Edu into
7661 their product portfolio for serving schools with concepts or even
7662 whole municipality areas.</li>
7663
7664 <li>Debian Edu has beside other free and open software projects not
7665 enough lobbyists which promote free and open software to
7666 politicians.</li>
7667
7668 <li>Technically there are no disadvantages I'm aware of.</li>
7669
7670 </ul></p>
7671
7672 <p><strong>Which free software do you use daily?</strong></p>
7673
7674 <p>I use Debian stable on my home server and on my little desktop
7675 computer. On my laptop I use Debian testing/sid. The applications I
7676 use on my laptop and my desktop are Open/Libre-office, Iceweasel,
7677 KMail, DigiKam, Amarok, Dolphin, okular and all the other programs I
7678 need from the KDE environment. On console I use newsbeuter, mutt,
7679 screen, irssi and all the other famous and useful tools.</p>
7680
7681 <p>My home server provides mail services with exim, dovecot, roundcube
7682 and mutt over ssh on the console, file services with samba, NFS,
7683 rsync, web services with apache, moinmoin-wiki, multimedia services
7684 with gallery2 and mediatomb and database services with MySQL for me
7685 and the whole family. I probably forgot something.</p>
7686
7687 <p><strong>Which strategy do you believe is the right one to use to
7688 get schools to use free software?</strong></p>
7689
7690 <p>I believe, we should provide concepts for IT companies to integrate
7691 Debian Edu into their product portfolio with use cases for different
7692 countries and areas all over the world.</p>
7693
7694 </div>
7695 <div class="tags">
7696
7697
7698 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>.
7699
7700
7701 </div>
7702 </div>
7703 <div class="padding"></div>
7704
7705 <div class="entry">
7706 <div class="title">
7707 <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>
7708 </div>
7709 <div class="date">
7710 30th April 2012
7711 </div>
7712 <div class="body">
7713 <p><!-- IMG_5869.JPG -->
7714 <img src="http://people.skolelinux.org/pere/blog/images/panasonic-er-1611.jpeg"></p>
7715
7716 <p>I normally cut my hair short, and my tool of choice has been a
7717 common hair/beard cutter, bought in a electrical shop here in Norway.
7718 But the last ones have not really been up to the task. My last
7719 cutter, some model from Braun, could only cut a few of my hairs at the
7720 time, and cutting my head took forever. And the one before that did
7721 not work very well either. We have looked for something better for a
7722 while, but it was not until I ended up visiting a hairdresser that we
7723 discovered that there are indeed better tools available. But these
7724 are not marketed and sold to "regular consumers". The hair saloons
7725 can get them through their suppliers, but their suppliers only sell
7726 companies. The models they sell, are very different from the ones
7727 available from Elkjøp and Lefdal. The main difference is their
7728 efficiency. It would cut my hair in 5 minutes, instead of the 30-40
7729 minutes required by my impotent Braun. The hairdresser I visited had
7730 a Panasonic ER160, which unfortunately is no longer available from the
7731 producer. But I found it had a successor, the Panasonic ER1611.</p>
7732
7733 <p>The next step was to find somewhere to buy it. This was not
7734 straight forward. The list of suppliers I got from the hairdresser
7735 did not want to sell anything to me. But searching for the model on
7736 the web we found a supplier in Norway willing to sell it to us for
7737 around NOK 4000,-. This was a bit much. We kept searching and
7738 finally found a Danish supplier
7739 <a href="http://nicehair.dk/panasonic-er-1611-professionel-hartrimmer.html">selling
7740 it for around NOK 1800,-</a>. We ordered one, and it arrived a few
7741 days ago.</p>
7742
7743 <p>The instructions said it had to charge for 8 hours when we started
7744 to use it, so we left it charging over night. Normally it will only
7745 need one hour to charge. The following evening we successfully tested
7746 it, and I can warmly recommend it to anyone looking for a real hair
7747 cutter. The ones we have used until now have been hair cutter
7748 toys.</p>
7749
7750 </div>
7751 <div class="tags">
7752
7753
7754 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
7755
7756
7757 </div>
7758 </div>
7759 <div class="padding"></div>
7760
7761 <div class="entry">
7762 <div class="title">
7763 <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>
7764 </div>
7765 <div class="date">
7766 26th April 2012
7767 </div>
7768 <div class="body">
7769 <p>In <a href="http://www.idg.no/computerworld/article243690.ece">an
7770 article today</a> published by Computerworld Norway, the photographer
7771 <a href="http://www.urke.com/eirik/">Eirik Helland Urke</a> reports
7772 that the video editor application included with
7773 <a href="http://www.htc.com/www/smartphones/htc-one-x/#specs">HTC One
7774 X</a> have some quite surprising terms of use. The article is mostly
7775 based on the twitter message from mister Urke, stating:
7776
7777 <p><blockquote>
7778 "<a href="http://twitter.com/urke/status/194062269724897280">Drøy
7779 brukeravtale: HTC kan bruke MINE redigerte videoer kommersielt. Selv
7780 kan jeg KUN bruke dem privat.</a>"
7781 </blockquote></p>
7782
7783 <p>I quickly translated it to this English message:</p>
7784
7785 <p><blockquote>
7786 "Arrogant user agreement: HTC can use MY edited videos
7787 commercially. Although I can ONLY use them privately."
7788 </blockquote></p>
7789
7790 <p>I've been unable to find the text of the license term myself, but
7791 suspect it is a variation of the MPEG-LA terms I
7792 <a href="http://people.skolelinux.org/pere/blog/Terms_of_use_for_video_produced_by_a_Canon_IXUS_130_digital_camera.html">discovered
7793 with my Canon IXUS 130</a>. The HTC One X specification specifies that
7794 the recording format of the phone is .amr for audio and .mp3 for
7795 video. AMR is
7796 <a href="http://en.wikipedia.org/wiki/Adaptive_Multi-Rate_audio_codec#Licensing_and_patent_issues">Adaptive
7797 Multi-Rate audio codec</a> with patents which according to the
7798 Wikipedia article require an license agreement with
7799 <a href="http://www.voiceage.com/">VoiceAge</a>. MP4 is
7800 <a href="http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Patent_licensing">MPEG4 with
7801 H.264</a>, which according to Wikipedia require a licence agreement
7802 with <a href="http://www.mpegla.com/">MPEG-LA</a>.</p>
7803
7804 <p>I know why I prefer
7805 <a href="http://www.digistan.org/open-standard:definition">free and open
7806 standards</a> also for video.</p>
7807
7808 </div>
7809 <div class="tags">
7810
7811
7812 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>.
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/RAND_terms___non_reasonable_and_discriminatory.html">RAND terms - non-reasonable and discriminatory</a>
7822 </div>
7823 <div class="date">
7824 19th April 2012
7825 </div>
7826 <div class="body">
7827 <p>Here in Norway, the
7828 <a href="http://www.regjeringen.no/nb/dep/fad.html?id=339"> Ministry of
7829 Government Administration, Reform and Church Affairs</a> is behind
7830 a <a href="http://standard.difi.no/forvaltningsstandarder">directory of
7831 standards</a> that are recommended or mandatory for use by the
7832 government. When the directory was created, the people behind it made
7833 an effort to ensure that everyone would be able to implement the
7834 standards and compete on equal terms to supply software and solutions
7835 to the government. Free software and non-free software could compete
7836 on the same level.</p>
7837
7838 <p>But recently, some standards with RAND
7839 (<a href="http://en.wikipedia.org/wiki/Reasonable_and_non-discriminatory_licensing">Reasonable
7840 And Non-Discriminatory</a>) terms have made their way into the
7841 directory. And while this might not sound too bad, the fact is that
7842 standard specifications with RAND terms often block free software from
7843 implementing them. The reasonable part of RAND mean that the cost per
7844 user/unit is low,and the non-discriminatory part mean that everyone
7845 willing to pay will get a license. Both sound great in theory. In
7846 practice, to get such license one need to be able to count users, and
7847 be able to pay a small amount of money per unit or user. By
7848 definition, users of free software do not need to register their use.
7849 So counting users or units is not possible for free software projects.
7850 And given that people will use the software without handing any money
7851 to the author, it is not really economically possible for a free
7852 software author to pay a small amount of money to license the rights
7853 to implement a standard when the income available is zero. The result
7854 in these situations is that free software are locked out from
7855 implementing standards with RAND terms.</p>
7856
7857 <p>Because of this, when I see someone claiming the terms of a
7858 standard is reasonable and non-discriminatory, all I can think of is
7859 how this really is non-reasonable and discriminatory. Because free
7860 software developers are working in a global market, it does not really
7861 help to know that software patents are not supposed to be enforceable
7862 in Norway. The patent regimes in other countries affect us even here.
7863 I really hope the people behind the standard directory will pay more
7864 attention to these issues in the future.</p>
7865
7866 <p>You can find more on the issues with RAND, FRAND and RAND-Z terms
7867 from Simon Phipps
7868 (<a href="http://blogs.computerworlduk.com/simon-says/2010/11/rand-not-so-reasonable/">RAND:
7869 Not So Reasonable?</a>).</p>
7870
7871 <p>Update 2012-04-21: Just came across a
7872 <a href="http://blogs.computerworlduk.com/open-enterprise/2012/04/of-microsoft-netscape-patents-and-open-standards/index.htm">blog
7873 post from Glyn Moody</a> over at Computer World UK warning about the
7874 same issue, and urging people to speak out to the UK government. I
7875 can only urge Norwegian users to do the same for
7876 <a href="http://www.standard.difi.no/hoyring/hoyring-om-nye-anbefalte-it-standarder">the
7877 hearing taking place at the moment</a> (respond before 2012-04-27).
7878 It proposes to require video conferencing standards including
7879 specifications with RAND terms.</p>
7880
7881 </div>
7882 <div class="tags">
7883
7884
7885 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>.
7886
7887
7888 </div>
7889 </div>
7890 <div class="padding"></div>
7891
7892 <div class="entry">
7893 <div class="title">
7894 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Andreas_Mundt.html">Debian Edu interview: Andreas Mundt</a>
7895 </div>
7896 <div class="date">
7897 15th April 2012
7898 </div>
7899 <div class="body">
7900 <p>Behind <a href="http://www.skolelinux.org/">Debian Edu and
7901 Skolelinux</a> there are a lot of people doing the hard work of
7902 setting together all the pieces. This time I present to you Andreas
7903 Mundt, who have been part of the technical development team several
7904 years. He was also a key contributor in getting GOsa and Kerberos set
7905 up in the recently released
7906 <a href="http://wiki.debian.org/DebianEdu/Documentation/Squeeze">Debian
7907 Edu Squeeze</a> version.</p>
7908
7909 <p><strong>Who are you, and how do you spend your days?</strong></p>
7910
7911 <p>My name is Andreas Mundt, I grew up in south Germany. After
7912 studying Physics I spent several years at university doing research in
7913 Quantum Optics. After that I worked some years in an optics company.
7914 Finally I decided to turn over a new leaf in my life and started
7915 teaching 10 to 19 years old kids at school. I teach math, physics,
7916 information technology and science/technology.</p>
7917
7918 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
7919 project?</strong></p>
7920
7921 <p>Already before I switched to teaching, I followed the Debian Edu
7922 project because of my interest in education and Debian. Within the
7923 qualification/training period for the teaching, I started
7924 contributing.</p>
7925
7926 <p><strong>What do you see as the advantages of Skolelinux/Debian
7927 Edu?</strong></p>
7928
7929 <p>The advantages of Debian Edu are the well known name, the
7930 out-of-the-box philosophy and of course the great free software of the
7931 Debian Project!</p>
7932
7933 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
7934 Edu?</strong></p>
7935
7936 <p>As every coin has two sides, the out-of-the-box philosophy has its
7937 downside, too. In my opinion, it is hard to modify and tweak the
7938 setup, if you need or want that. Further more, it is not easily
7939 possible to upgrade the system to a new release. It takes much too
7940 long after a Debian release to prepare the -Edu release, perhaps
7941 because the number of developers working on the core of the code is
7942 rather small and often busy elsewhere.</p>
7943
7944 <p>The <a href="http://wiki.debian.org/DebianLAN">Debian LAN</a>
7945 project might fill the use case of a more flexible system.</p>
7946
7947 <p><strong>Which free software do you use daily?</strong></p>
7948
7949 <p>I am only using non-free software if I am forced to and run Debian
7950 on all my machines. For documents I prefer LaTeX and PGF/TikZ, then
7951 mutt and iceweasel for email respectively web browsing. At school I
7952 have Arduino and Fritzing in use for a micro controller project.</p>
7953
7954 <p><strong>Which strategy do you believe is the right one to use to
7955 get schools to use free software?</strong></p>
7956
7957 <p>One of the major problems is the vendor lock-in from top to bottom:
7958 Especially in combination with ignorant government employees and
7959 politicians, this works out great for the "market-leader". The school
7960 administration here in Baden-Wuerttemberg is occupied by that vendor.
7961 Documents have to be prepared in non-free, proprietary formats. Even
7962 free browsers do not work for the school administration. Publishers
7963 of school books provide software only for proprietary platforms.</p>
7964
7965 <p>To change this, political work is very important. Parts of the
7966 political spectrum have become aware of the problem in the last years.
7967 However it takes quite some time and courageous politicians to 'free'
7968 the system. There is currently some discussion about "Open Data" and
7969 "Free/Open Standards". I am not sure if all the involved parties have
7970 a clue about the potential of these ideas, and probably only a
7971 fraction takes them seriously. However it might slowly make free
7972 software and the philosophy behind it more known and popular.</p>
7973
7974 </div>
7975 <div class="tags">
7976
7977
7978 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>.
7979
7980
7981 </div>
7982 </div>
7983 <div class="padding"></div>
7984
7985 <div class="entry">
7986 <div class="title">
7987 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Justin_B__Rye.html">Debian Edu interview: Justin B. Rye</a>
7988 </div>
7989 <div class="date">
7990 8th April 2012
7991 </div>
7992 <div class="body">
7993 <p>It take all kind of contributions to create a Linux distribution
7994 like <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a>,
7995 and this time I lend the ear to Justin B. Rye, who is listed as a big
7996 contributor to the
7997 <a href="http://wiki.debian.org/DebianEdu/Documentation/Squeeze">Debian
7998 Edu Squeeze release manual</a>.
7999
8000 <p><strong>Who are you, and how do you spend your days?</strong></p>
8001
8002 <p>I'm a 44-year-old linguistics graduate living in Edinburgh who has
8003 occasionally been employed as a sysadmin.</p>
8004
8005 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
8006 project?</strong></p>
8007
8008 <p>I'm neither a developer nor a Skolelinux/Debian Edu user! The only
8009 reason my name's in the credits for the documentation is that I hang
8010 around on debian-l10n-english waiting for people to mention things
8011 they'd like a native English speaker to proofread... So I did a sweep
8012 through the wiki for typos and Norglish and inconsistent spellings of
8013 "localisation".</p>
8014
8015 <p><strong>What do you see as the advantages of Skolelinux/Debian
8016 Edu?</strong></p>
8017
8018 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
8019 Edu?</strong></p>
8020
8021 <p>These questions are too hard for me - I don't use it! In fact I
8022 had hardly any contact with I.T. until long after I'd got out of the
8023 education system.</p>
8024
8025 <p>I can tell you the advantages of Debian for me though: it soaks up
8026 as much of my free time as I want and no more, and lets me do
8027 everything I want a computer for without ever forcing me to spend
8028 money on the latest hardware.</p>
8029
8030 <p><strong>Which free software do you use daily?</strong></p>
8031
8032 <p>I've been using Debian since Rex; popularity-contest says the
8033 software that I use most is xinit, xterm, and xulrunner (in other
8034 words, I use a distinctly retro sort of desktop).</p>
8035
8036 <p><strong>Which strategy do you believe is the right one to use to
8037 get schools to use free software?</strong></p>
8038
8039 <p>Well, I don't know. I suppose I'd be inclined to try reasoning
8040 with the people who make the decisions, but obviously if that worked
8041 you would hardly need a strategy.</p>
8042
8043 </div>
8044 <div class="tags">
8045
8046
8047 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>.
8048
8049
8050 </div>
8051 </div>
8052 <div class="padding"></div>
8053
8054 <div class="entry">
8055 <div class="title">
8056 <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>
8057 </div>
8058 <div class="date">
8059 6th April 2012
8060 </div>
8061 <div class="body">
8062 <p>Recently I have spent time with
8063 <a href="http://www.slxdrift.no/">Skolelinux Drift AS</a> on speeding
8064 up a <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a>
8065 Lenny installation using LTSP diskless workstations, and in the
8066 process I discovered something very surprising. The reason the KDE
8067 menu was responding slow when using it for the first time, was mostly
8068 due to the way KDE find application icons. I discovered that showing
8069 the Multimedia menu would cause more than 20 000 IP packages to be
8070 passed between the LTSP client and the NFS server. Most of these were
8071
8072 NFS LOOKUP calls, resulting in a NFS3ERR_NOENT response. Because the
8073 ping times between the client and the server were in the range 2-20
8074 ms, the menus would be very slow. Looking at the strace of kicker in
8075 Lenny (or plasma-desktop i Squeeze - same problem there), I see that
8076 the source of these NFS calls are access(2) system calls for
8077 non-existing files. KDE can do hundreds of access(2) calls to find
8078 one icon file. In my example, just finding the mplayer icon required
8079 around 230 access(2) calls.</p>
8080
8081 <p>The KDE code seem to search for icons using a list of icon
8082 directories, and the list of possible directories is large. In
8083 (almost) each directory, it look for files ending in .png, .svgz, .svg
8084 and .xpm. The result is a very slow KDE menu when /usr/ is NFS
8085 mounted. Showing a single sub menu may result in thousands of NFS
8086 requests. I am not the first one to discover this. I found a
8087 <a href="https://bugs.kde.org/show_bug.cgi?id=211416">KDE bug report
8088 from 2009</a> about this problem, and it is still unsolved.</p>
8089
8090 <p>My solution to speed up the KDE menu was to create a package
8091 kde-icon-cache that upon installation will look at all .desktop files
8092 used to generate the KDE menu, find their icons, search the icon paths
8093 for the file that KDE will end up finding at run time, and copying the
8094 icon file to /var/lib/kde-icon-cache/. Finally, I add symlinks to
8095 these icon files in one of the first directories where KDE will look
8096 for them. This cut down the number of file accesses required to find
8097 one icon from several hundred to less than 5, and make the KDE menu
8098 almost instantaneous. I'm not quite sure where to make the package
8099 publicly available, so for now it is only available on request.</p>
8100
8101 <p>The bug report mention that this do not only affect the KDE menu
8102 and icon handling, but also the login process. Not quite sure how to
8103 speed up that part without replacing NFS with for example NBD, and
8104 that is not really an option at the moment.</p>
8105
8106 <p>If you got feedback on this issue, please let us know on debian-edu
8107 (at) lists.debian.org.</p>
8108
8109 </div>
8110 <div class="tags">
8111
8112
8113 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>.
8114
8115
8116 </div>
8117 </div>
8118 <div class="padding"></div>
8119
8120 <div class="entry">
8121 <div class="title">
8122 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_in_the_Linux_Weekly_News.html">Debian Edu in the Linux Weekly News</a>
8123 </div>
8124 <div class="date">
8125 5th April 2012
8126 </div>
8127 <div class="body">
8128 <p>About two weeks ago, I was interviewed via email about
8129 <a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a> by
8130 Bruce Byfield in Linux Weekly News. The result was made public for
8131 non-subscribers today. I am pleased to see liked our Linux solution
8132 for schools. Check out his article
8133 <a href="https://lwn.net/Articles/488805/">Debian Edu/Skolelinux: A
8134 distribution for education</a> if you want to learn more.</p>
8135
8136 </div>
8137 <div class="tags">
8138
8139
8140 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>.
8141
8142
8143 </div>
8144 </div>
8145 <div class="padding"></div>
8146
8147 <div class="entry">
8148 <div class="title">
8149 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Wolfgang_Schweer.html">Debian Edu interview: Wolfgang Schweer</a>
8150 </div>
8151 <div class="date">
8152 1st April 2012
8153 </div>
8154 <div class="body">
8155 <p>Germany is a core area for the
8156 <a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>
8157 user community, and this time I managed to get hold of Wolfgang
8158 Schweer, a valuable contributor to the project from Germany.
8159
8160 <p><strong>Who are you, and how do you spend your days?</strong></p>
8161
8162 <p>I've studied Mathematics at the university 'Ruhr-Universität' in
8163 Bochum, Germany. Since 1981 I'm working as a teacher at the school
8164 "<a href="http://www.westfalenkolleg-dortmund.de/">Westfalen-Kolleg
8165 Dortmund</a>", a second chance school. Here, young adults is given
8166 the opportunity to get further education in order to do the school
8167 examination 'Abitur', which will allow to study at a university. This
8168 second chance is of value for those who want a better job perspective
8169 or failed to get a higher school examination being teens.</p>
8170
8171 <p>Besides teaching I was involved in developing online courses for a
8172 blended learning project called 'abitur-online.nrw' and in some other
8173 information technology related projects. For about ten years I've been
8174 teacher and coordinator for the 'abitur-online' project at my
8175 school. Being now in my early sixties, I've decided to leave school at
8176 the end of April this year.</p>
8177
8178 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
8179 project?</strong></p>
8180
8181 <p>The first information about Skolelinux must have come to my
8182 attention years ago and somehow related to LTSP (Linux Terminal Server
8183 Project). At school, we had set up a network at the beginning of 1997
8184 using Suse Linux on the desktop, replacing a Novell network. Since
8185 2002, we used old machines from the city council of Dortmund as thin
8186 clients (LTSP, later Ubuntu/Lessdisks) cause new hardware was out of
8187 reach. At home I'm using Debian since years and - subscribed to the
8188 Debian news letter - heard from time to time about Skolelinux. About
8189 two years ago I proposed to replace the (somehow undocumented and only
8190 known to me) system at school by a well known Debian based system:
8191 Skolelinux.</p>
8192
8193 <p>Students and teachers appreciated the new system because of a
8194 better look and feel and an enhanced access to local media on thin
8195 clients. The possibility to alter and/or reset passwords using a GUI
8196 was welcomed, too. Being able to do administrative tasks using a GUI
8197 and to easily set up workstations using PXE was of very high value for
8198 the admin teachers.</p>
8199
8200 <p><strong>What do you see as the advantages of Skolelinux/Debian
8201 Edu?</strong></p>
8202
8203 <p>It's open source, easy to set up, stable and flexible due to it's
8204 Debian base. It integrates LTSP out-of-the-box. And it is documented!
8205 So it was a perfect choice.</p>
8206
8207 <p>Being open source, there are no license problems and so it's
8208 possible to point teachers and students to programs like
8209 OpenOffice.org, ViewYourMind (mind mapping) and The Gimp. It's of
8210 high value to be able to adapt parts of the system to special needs of
8211 a school and to choose where to get support for this.</p>
8212
8213 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
8214 Edu?</strong></p>
8215
8216 <p>Nothing yet.</p>
8217
8218 <p><strong>Which free software do you use daily?</strong></p>
8219
8220 <p>At home (Debian Sid with Gnome Desktop): Iceweasel, LibreOffice,
8221 Mutt, Gedit, Document Viewer, Midnight Commander, flpsed (PDF
8222 Annotator). At school (Skolelinux Lenny): Iceweasel, Gedit,
8223 LibreOffice.</p>
8224
8225 <p><strong>Which strategy do you believe is the right one to use to
8226 get schools to use free software?</strong></p>
8227
8228 <p>Some time ago I thought it was enough to tell people about it. But
8229 that doesn't seem to work quite well. Now I concentrate on those more
8230 interested and hope to get multiplicators that way.</p>
8231
8232 </div>
8233 <div class="tags">
8234
8235
8236 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>.
8237
8238
8239 </div>
8240 </div>
8241 <div class="padding"></div>
8242
8243 <div class="entry">
8244 <div class="title">
8245 <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>
8246 </div>
8247 <div class="date">
8248 25th March 2012
8249 </div>
8250 <div class="body">
8251 <!-- Video HTML based on http://www.diveintohtml5.net/video.html -->
8252
8253 <p>The same Debian Edu developer that did the last screen cast I
8254 published, Wolfgang Schweer, has created a new screen cast showing how
8255 to set up Kmail in Debian Edu Squeze to authenticate using Kerberos,
8256 allowing users to check their local email account without providing
8257 any password. The video is embedded here in quarter size,
8258 and also available from <a href="https://vimeo.com/38601767">vimeo</a>
8259 and download as a
8260 <a href="http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-03-14-Debian-Edu_Configure_Kmail_for_internal_usage.ogv">Ogg
8261 Theora</a> file. Check it out below.</p>
8262
8263 <p><video id="kmail-kerberos-movie" width="256" height="184" preload controls>
8264 <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"' />
8265 <p>Download video as
8266 <a href="http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-03-14-Debian-Edu_Configure_Kmail_for_internal_usage.ogv">Ogg</a>.</p>
8267 </video></p>
8268
8269 </div>
8270 <div class="tags">
8271
8272
8273 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>.
8274
8275
8276 </div>
8277 </div>
8278 <div class="padding"></div>
8279
8280 <div class="entry">
8281 <div class="title">
8282 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__John_Ingleby.html">Debian Edu interview: John Ingleby</a>
8283 </div>
8284 <div class="date">
8285 19th March 2012
8286 </div>
8287 <div class="body">
8288 <p><a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a>
8289 users are spread all across the globe. The second inteview after
8290 <a href="http://lists.debian.org/debian-edu-announce/2012/03/msg00001.html">the
8291 Squeeze release</a> was publised is with John Ingleby, a teacher and
8292 long time Linux user in United Kingdom.</p>
8293
8294 <p><strong>Who are you, and how do you spend your days?</strong></p>
8295
8296 <p>I teach ICT part time at the Rudolf Steiner School in Kings
8297 Langley, near London, UK. Previously I worked as a technical
8298 author/trainer while my children attended the school, and I also
8299 contributed to the Schoolforge UK community with the aim of
8300 encouraging UK schools to adopt free/open source software. Five or six
8301 years ago we had about 50 schools interested in some way, but we
8302 weren't able to convert many of them into sustainable
8303 installations.</p>
8304
8305 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
8306 project?</strong></p>
8307
8308 <p>Skolelinux had two representatives at an early Edubuntu meeting in
8309 London which I attended. However at that time our school network had
8310 just been installed using CentOS, LTSP 4 and GNOME. When LTSP 5 came
8311 along we switched to Edubuntu thin client servers so now we have a
8312 mixed environment which includes Windows PCs and student laptops, as
8313 well as their MacBooks and iPads. However, the proprietary systems
8314 have always been rather problematic, and we never built a GUI for the
8315 LDAP server, so when I discovered Skolelinux is configured for all
8316 these things we decided to try it.</p>
8317
8318 <p><strong>What do you see as the advantages of Skolelinux/Debian
8319 Edu?</strong></p>
8320
8321 <p>By far the biggest advantage is the Debian Edu community. Apart
8322 from that I have always believed in the same "sustainable computing"
8323 goals that Skolelinux is built on: installing Linux on computers which
8324 would otherwise be thrown away, to provide a reliable, secure and
8325 low-cost IT environment for schools. From my own experience I know
8326 that a part-time person can teach and manage a network of about 25
8327 Linux computers, but it would take much more of my time if we had
8328 proprietary software everywhere.</p>
8329
8330 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
8331 Edu?</strong></p>
8332
8333 <p>As a newcomer I'm just finding out who's who in the community and
8334 how you're organised, and what your procedures are for dealing with
8335 various things such as editing manual pages and so-on. The only
8336 English language mailing list seems to be for developers as well as
8337 users, so my inbox needs heavy pruning each day!</p>
8338
8339 <p><strong>Which free software do you use daily?</strong></p>
8340
8341 <p>Besides the software already mentioned at school we use Samba,
8342 OpenLDAP, CUPS, Nagios and Dansguardian for the network, and on the
8343 desktops we have LibreOffice, Firefox, GIMP and Inkscape. At home I
8344 use Ubuntu and an Android 4 eePad Transformer (but I'm not sure if
8345 that counts...)</p>
8346
8347 <p><strong>Which strategy do you believe is the right one to use to
8348 get schools to use free software?</strong></p>
8349
8350 <p>That's a tough question! For very many years UK schools installed
8351 and taught only proprietary software, so that at the highest levels
8352 the notion of "computer" means simply "proprietary office
8353 applications". However, schools today are experiencing budget
8354 constraints, and many are having to think hard about upgrading Windows
8355 XP. At the same time, we have students showing teachers how to use
8356 iPads, MacBooks and Android, so the choice of operating system is no
8357 longer quite so automatic. What is more, our government at last
8358 realised that we need people with programming skills, so they're
8359 putting coding back in the curriculum! And it's encouraging that the
8360 first 10,000 Raspberry Pi units sold out in 2 hours.</p>
8361
8362 <p>I don't really know what strategy is going to get UK schools to use
8363 free software, but building an active community of Skolelinux/Debian
8364 Edu users in this country has to be part of it.</p>
8365
8366 </div>
8367 <div class="tags">
8368
8369
8370 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>.
8371
8372
8373 </div>
8374 </div>
8375 <div class="padding"></div>
8376
8377 <div class="entry">
8378 <div class="title">
8379 <a href="http://people.skolelinux.org/pere/blog/Writing_and_translating_documentation_in_Debian_Edu.html">Writing and translating documentation in Debian Edu</a>
8380 </div>
8381 <div class="date">
8382 16th March 2012
8383 </div>
8384 <div class="body">
8385 <p>Documentation in Debian Edu is provided in several languages, and
8386 it is important to make it both easy to contribute and to keep the
8387 translated versions in sync. To do this we have come up with what we
8388 believe is a very efficient work flow.</p>
8389
8390 <ol>
8391
8392 <li>The documentation is written in a
8393 <a href="http://moinmo.in">moinmoin wiki</a> (see for example
8394 <a href="http://wiki.debian.org/DebianEdu/Documentation/Squeeze">the
8395 Squeeze release manual</a>) with support for exporting the content as
8396 docbook XML.</li>
8397
8398 <li>This docbook document is given to po4a to extract a gettext style
8399 .pot file with the content, which in turn is used to create .po files
8400 with the translated text.</li>
8401
8402 <li>The .po files are given to translators, and they can always tell
8403 which part of the original wiki document is new or changed. They can
8404 use their normal translation tools like lokalize or poedit to write
8405 the translation. There is even a system in place to handle translated
8406 images.</li>
8407
8408 <li>The translated .po files are combined with the original docbook
8409 XML document using po4a to create a translated docbook document.</li>
8410
8411 <li>The final step is to use all the generated docbook files and
8412 create PDF and HTML version of the original and translated documents.</li>
8413
8414 </ol>
8415
8416 <p>This setup work very well, but have a few issues. The biggest
8417 issue is that <a href="http://moinmo.in/DocBook">the docbook support
8418 we use in moinmoin</a> is not actively maintained. The docbook
8419 support is also buggy, and our build system contain workarounds to
8420 make sure the generated docbook is usable despite these bugs.</p>
8421
8422 <p>If you want to have a look at our setup, it is all there in the
8423 <a href="http://packages.qa.debian.org/debian-edu-doc">debian-edu-doc
8424 package</a>.</p>
8425
8426 </div>
8427 <div class="tags">
8428
8429
8430 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>.
8431
8432
8433 </div>
8434 </div>
8435 <div class="padding"></div>
8436
8437 <div class="entry">
8438 <div class="title">
8439 <a href="http://people.skolelinux.org/pere/blog/Skolelinux___Debian_Edu_Squeeze_is_out_.html">Skolelinux / Debian Edu Squeeze is out!</a>
8440 </div>
8441 <div class="date">
8442 11th March 2012
8443 </div>
8444 <div class="body">
8445 <p>This weekend we finally published the first stable release of
8446 <a href="http://www.skolelinux.org/">Skolelinux / Debian Edu</a> based
8447 on Debian/Squeeze. The full announcement is
8448 <a href="http://lists.debian.org/debian-edu-announce/2012/03/msg00001.html">available</a>
8449 from the project announcement list. Now is a good time to test if it
8450 you have not done so already.</p>
8451
8452 <p>I plan to present the new version at
8453 <a href="http://www.nuug.no/aktiviteter/20120313-skolelinux/">a NUUG
8454 meeting</a> on tuesday. I look forward to seeing you there if you are
8455 in Oslo, Norway.</p>
8456
8457 </div>
8458 <div class="tags">
8459
8460
8461 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>.
8462
8463
8464 </div>
8465 </div>
8466 <div class="padding"></div>
8467
8468 <div class="entry">
8469 <div class="title">
8470 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Nigel_Barker.html">Debian Edu interview: Nigel Barker</a>
8471 </div>
8472 <div class="date">
8473 9th March 2012
8474 </div>
8475 <div class="body">
8476 <p>Inspired by <a href="http://raphaelhertzog.com/tag/interview/">the
8477 interview series</a> conducted by Raphael, I started a Norwegian
8478 interview series with people involved in the Debian Edu / Skolelinux
8479 community. This was so popular that I believe it is time to move to a
8480 more international audience.</p>
8481
8482 <p>While <a href="http://www.skolelinux.org/">Debian Edu and
8483 Skolelinux</a> originated in France and Norway, and have most users in
8484 Europe, there are users all around the globe. One of those far away
8485 from me is Nigel Barker, a long time Debian Edu system administrator
8486 and contributor. It is thanks to him that Debian Edu is adjusted to
8487 work out of the box in Japan. I got him to answer a few questions,
8488 and am happy to share the response with you. :)
8489
8490
8491 <p><strong>Who are you, and how do you spend your days?</strong></p>
8492
8493 <p>My name is Nigel Barker, and I am British. I am married to Yumiko,
8494 and we have three lovely children, aged 15, 14 and 4(!) I am the IT
8495 Coordinator at Hiroshima International School, Japan. I am also a
8496 teacher, and in fact I spend most of my day teaching Mathematics,
8497 Science, IT, and Chemistry. I was originally a Chemistry teacher, but
8498 I have always had an interest in computers. Another teacher teaches
8499 primary school IT, but apart from that I am the only computer person,
8500 so that means I am the network manager, technician and webmaster,
8501 also, and I help people with their computer problems. I teach python
8502 to beginners in an after-school club. I am way too busy, so I really
8503 appreciate the simplicity of Skolelinux.</p>
8504
8505 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
8506 project?</strong></p>
8507
8508 <p>In around 2004 or 5 I discovered the ltsp project, and set up a
8509 server in the IT lab. I wanted some way to connect it to our central
8510 samba server, which I was also quite poor at configuring. I discovered
8511 Edubuntu when it came out, but it didn't really improve my setup. I
8512 did various desperate searches for things like "school Linux server"
8513 and ended up in a document called "Drift" something or other. Reading
8514 there it became clear that Skolelinux was going to solve all my
8515 problems in one go. I was very excited, but apprehensive, because my
8516 previous attempts to install Debian had ended in failure (I used
8517 Mandrake for everything - ltsp, samba, apache, mail, ns...). I
8518 downloaded a beta version, had some problems, so subscribed to the
8519 Debian Edu list for help. I have remained subscribed ever since, and
8520 my school has run a Skolelinux network since Sarge.</p>
8521
8522 <p><strong>What do you see as the advantages of Skolelinux/Debian
8523 Edu?</strong></p>
8524
8525 <p>For me the integrated setup. This is not just the server, or the
8526 workstation, or the ltsp. Its all of them, and its all configured
8527 ready to go. I read somewhere in the early documentation that it is
8528 designed to be setup and managed by the Maths or Science teacher, who
8529 doesn't necessarily know much about computers, in a small Norwegian
8530 school. That describes me perfectly if you replace Norway with
8531 Japan.</p>
8532
8533 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
8534 Edu?</strong></p>
8535
8536 <p>The desktop is fairly plain. If you compare it with Edubuntu, who
8537 have fun themes for children, or with distributions such as Mint, who
8538 make the desktop beautiful. They create a good impression on people
8539 who don't need to understand how to use any of it, but who might be
8540 important to the school. School administrators or directors, for
8541 instance, or parents. Even kids. Debian itself usually has ugly
8542 default theme settings. It was my dream a few years back that some
8543 kind of integration would allow Edubuntu to do the desktop stuff and
8544 Debian Edu the servers, but now I realise how impossible that is. A
8545 second disadvantage is that if something goes wrong, or you need to
8546 customise something, then suddenly the level of expertise required
8547 multiplies. For example, backup wasn't working properly in Lenny. It
8548 took me ages to learn how to set up my own server to do rsync backups.
8549 I am afraid of anything to do with ldap, but perhaps Gosa will
8550 help.</p>
8551
8552 <p><strong>Which free software do you use daily?</strong></p>
8553
8554 <p>Nowadays I only use Debian on my personal computers. I have one for
8555 studio work (I play guitar and write songs), running AV Linux
8556 (customised Debian) a netbook running Squeeze, and a bigger laptop
8557 still running Skolelinux Lenny workstation. I have a Tjener in my
8558 house, that's very useful for the family photos and music. At school
8559 the students only use Skolelinux. (Some teachers and the office still
8560 have windows). So that means we only use free software all day every
8561 day. Open office, The GIMP, Firefox/Iceweasel, VLC and Audacity are
8562 installed on every computer in school, irrespective of OS. We also
8563 have Koha on Debian for the library, and Apache, Moodle, b2evolution
8564 and Etomite on Debian for the www. The firewall is Untangle.</p>
8565
8566 <p><strong>Which strategy do you believe is the right one to use to
8567 get schools to use free software?</strong></p>
8568
8569 <p>Current trends are in our favour. Open source is big in industry,
8570 and ordinary people have heard of it. The spread of Android and the
8571 popularity of Apple have helped to weaken the impression that you have
8572 to have Microsoft on everything. People complain to me much less about
8573 file formats and Word than they did 5 years ago. The Edu aspect is
8574 also a selling point. This is all customised for schools. Where is the
8575 Windows-edu, or the Mac-edu? But of course the main attraction is
8576 budget.The trick is to convince people that the quality is not
8577 compromised when you stop paying and use free software instead. That
8578 is one reason why I say the desktop experience is a weakness. People
8579 are not impressed when their USB drive doesn't work, or their browser
8580 doesn't play flash, for example.</p>
8581
8582 </div>
8583 <div class="tags">
8584
8585
8586 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>.
8587
8588
8589 </div>
8590 </div>
8591 <div class="padding"></div>
8592
8593 <div class="entry">
8594 <div class="title">
8595 <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>
8596 </div>
8597 <div class="date">
8598 7th March 2012
8599 </div>
8600 <div class="body">
8601 <!-- Video HTML based on http://www.diveintohtml5.net/video.html -->
8602
8603 <p>One of the Debian Edu developers, Wolfgang Schweer, just created a
8604 screen cast documenting how to create a lot of new users in LDAP on
8605 Debian Edu Squeeze. The video is embedded here in quarter size, and
8606 also available from <a href="http://vimeo.com/37675399">vimeo</a> and
8607 download as a
8608 <a href="http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-02-29-debian_edu_mass_create_user_accounts.ogv">Ogg
8609 Theora</a> file. Check it out below.</p>
8610
8611 <p><video id="gosa-mass-user-create-movie" width="256" height="184" preload controls>
8612 <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"' />
8613 <p>Download video as
8614 <a href="http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-02-29-debian_edu_mass_create_user_accounts.ogv">Ogg</a>.</p>
8615 </video></p>
8616
8617 </div>
8618 <div class="tags">
8619
8620
8621 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>.
8622
8623
8624 </div>
8625 </div>
8626 <div class="padding"></div>
8627
8628 <div class="entry">
8629 <div class="title">
8630 <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>
8631 </div>
8632 <div class="date">
8633 4th March 2012
8634 </div>
8635 <div class="body">
8636 <p>This weekend we wrapped up and published the third release
8637 candidate for <a href="http://www.skolelinux.org/">Debian Edu /
8638 Skolelinux</a> based on Squeeze. The full announcement is
8639 <a href="http://lists.debian.org/debian-edu-announce/2012/03/msg00000.html">available</a>
8640 from the project announcement list. Check it out if you
8641 need a software solution for your school.</p>
8642
8643 </div>
8644 <div class="tags">
8645
8646
8647 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>.
8648
8649
8650 </div>
8651 </div>
8652 <div class="padding"></div>
8653
8654 <div class="entry">
8655 <div class="title">
8656 <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>
8657 </div>
8658 <div class="date">
8659 3rd March 2012
8660 </div>
8661 <div class="body">
8662 <p>Many years ago, the <a href="http://www.skolelinux.org/">Skolelinux
8663 / Debian Edu project</a> initiated a student project to create a tool
8664 for making stop motion movies. The proposal came from a teacher
8665 needing such tool on Skolelinux. The project, called "stopmotion",
8666 was manned by two extraordinary students and won a school award and a
8667 national aware with this great project. The project was initiated and
8668 mentored by Herman Robak, and manned by the students Bjørn Erik Nilsen
8669 and Fredrik Berg Kjølstad. They got in touch with people at Aardman
8670 Animation studio and received feedback on how professionals would like
8671 such stopmotion tool to work, and the end result was and is used by
8672 animators around the globe. But as is usual after studying, both got
8673 jobs and went elsewhere, and did not have time to properly tend to the
8674 project, and it has been lingering for a few years now. Until last
8675 year...</p>
8676
8677 <p>Last year some of the users got together with Herman, and moved the
8678 project to Sourceforge and in effect restarted the project under a new
8679 name,
8680 <a href="http://sourceforge.net/projects/linuxstopmotion/">linuxstopmotion</a>.
8681 The name change was done to make it possible to find the project using
8682 Internet search engines (try to search for 'stopmotion' to see what I
8683 mean). I've been following
8684 <a href="https://lists.sourceforge.net/lists/listinfo/linuxstopmotion-community">the
8685 mailing list</a> and the improvement already in place and planned for
8686 the future is encouraging. If you want to make stop motion movies.
8687 Check it out. :)</p>
8688
8689 </div>
8690 <div class="tags">
8691
8692
8693 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>.
8694
8695
8696 </div>
8697 </div>
8698 <div class="padding"></div>
8699
8700 <div class="entry">
8701 <div class="title">
8702 <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>
8703 </div>
8704 <div class="date">
8705 27th February 2012
8706 </div>
8707 <div class="body">
8708 <p>This weekend we wrapped up and published the second release
8709 candidate for <a href="http://www.skolelinux.org/">Debian Edu /
8710 Skolelinux</a> based on Squeeze. The full announcement did for some
8711 reason not make it the project announcement list, but is
8712 <a href="http://lists.debian.org/debian-devel-announce/2012/02/msg00015.html">available</a>
8713 from the Debian development announcement list. Check it out if you
8714 need a software solution for your school.</p>
8715
8716 </div>
8717 <div class="tags">
8718
8719
8720 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>.
8721
8722
8723 </div>
8724 </div>
8725 <div class="padding"></div>
8726
8727 <div class="entry">
8728 <div class="title">
8729 <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>
8730 </div>
8731 <div class="date">
8732 19th February 2012
8733 </div>
8734 <div class="body">
8735 <p>One week delayed due to DVD build problems, we managed today to
8736 wrap up and publish the first release candidate for
8737 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> based
8738 on Squeeze. The full announcement is
8739 <a href="http://lists.debian.org/debian-edu-announce/2012/02/msg00001.html">available</a>
8740 on the project announcement list. Check it out if you need a software
8741 solution for your school.</p>
8742
8743 </div>
8744 <div class="tags">
8745
8746
8747 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>.
8748
8749
8750 </div>
8751 </div>
8752 <div class="padding"></div>
8753
8754 <div class="entry">
8755 <div class="title">
8756 <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>
8757 </div>
8758 <div class="date">
8759 14th February 2012
8760 </div>
8761 <div class="body">
8762 <p>Once in a while my home server have disk problems. Thanks to Linux
8763 Software RAID, I have not lost data yet (but
8764 <a href="http://comments.gmane.org/gmane.linux.raid/34532">I was
8765 close</a> this summer :). But once a disk is starting to behave
8766 funny, a practical problem present itself. How to get from the Linux
8767 device name (like /dev/sdd) to something that can be used to identify
8768 the disk when the computer is turned off? In my case I have SATA
8769 disks with a unique ID printed on the label. All I need is a way to
8770 figure out how to query the disk to get the ID out.</p>
8771
8772 <p>After fumbling a bit, I
8773 <a href="http://www.cyberciti.biz/faq/linux-getting-scsi-ide-harddisk-information/">found
8774 that hdparm -I</a> will report the disk serial number, which is
8775 printed on the disk label. The following (almost) one-liner can be
8776 used to look up the ID of all the failed disks:</p>
8777
8778 <blockquote><pre>
8779 for d in $(cat /proc/mdstat |grep '(F)'|tr ' ' "\n"|grep '(F)'|cut -d\[ -f1|sort -u);
8780 do
8781 printf "Failed disk $d: "
8782 hdparm -I /dev/$d |grep 'Serial Num'
8783 done
8784 </blockquote></pre>
8785
8786 <p>Putting it here to make sure I do not have to search for it the
8787 next time, and in case other find it useful.</p>
8788
8789 <p>At the moment I have two failing disk. :(</p>
8790
8791 <blockquote><pre>
8792 Failed disk sdd1: Serial Number: WD-WCASJ1860823
8793 Failed disk sdd2: Serial Number: WD-WCASJ1860823
8794 Failed disk sde2: Serial Number: WD-WCASJ1840589
8795 </blockquote></pre>
8796
8797 <p>The last time I had failing disks, I added the serial number on
8798 labels I printed and stuck on the short sides of each disk, to be able
8799 to figure out which disk to take out of the box without having to
8800 remove each disk to look at the physical vendor label. The vendor
8801 label is at the top of the disk, which is hidden when the disks are
8802 mounted inside my box.</p>
8803
8804 <p>I really wish the check_linux_raid Nagios plugin for checking Linux
8805 Software RAID in the
8806 <a href="http://packages.qa.debian.org/n/nagios-plugins.html">nagios-plugins-standard</a>
8807 debian package would look up this value automatically, as it would
8808 make the plugin a lot more useful when my disks fail. At the moment
8809 it only report a failure when there are no more spares left (it really
8810 should warn as soon as a disk is failing), and it do not tell me which
8811 disk(s) is failing when the RAID is running short on disks.</p>
8812
8813 </div>
8814 <div class="tags">
8815
8816
8817 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>.
8818
8819
8820 </div>
8821 </div>
8822 <div class="padding"></div>
8823
8824 <div class="entry">
8825 <div class="title">
8826 <a href="http://people.skolelinux.org/pere/blog/Automatic_proxy_configuration_with_Debian_Edu___Skolelinux.html">Automatic proxy configuration with Debian Edu / Skolelinux</a>
8827 </div>
8828 <div class="date">
8829 13th February 2012
8830 </div>
8831 <div class="body">
8832 <p>New in the Squeeze version of
8833 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> is the
8834 ability for clients to automatically configure their proxy settings
8835 based on their environment. We want all systems on the client to use
8836 the WPAD based proxy definition fetched from <tt>http://wpad/wpad.dat</tt>, to
8837 allow sites to control the proxy setting from a central place and make
8838 sure clients do not have hard coded proxy settings. The schools can
8839 change the global proxy setting by editing
8840 <tt>tjener:/etc/debian-edu/www/wpad.dat</tt> and the change propagate
8841 to all Debian Edu clients in the network.</p>
8842
8843 <p>The problem is that some systems do not understand the WPAD system.
8844 In other words, how do one get from a WPAD file like this (this is a
8845 simple one, they can run arbitrary code):</p>
8846
8847 <blockquote><pre>
8848 function FindProxyForURL(url, host)
8849 {
8850 if (!isResolvable(host) ||
8851 isPlainHostName(host) ||
8852 dnsDomainIs(host, ".intern"))
8853 return "DIRECT";
8854 else
8855 return "PROXY webcache:3128; DIRECT";
8856 }
8857 </pre></blockquote>
8858
8859 <p>to a proxy setting in the process environment looking like this:</p>
8860
8861 <blockquote><pre>
8862 http_proxy=http://webcache:3128/
8863 ftp_proxy=http://webcache:3128/
8864 </pre></blockquote>
8865
8866 <p>To do this conversion I developed a perl script that will execute
8867 the javascript fragment in the WPAD file and return the proxy that
8868 would be used for
8869 <tt><a href="http://www.debian.org/">http://www.debian.org/</a></tt>,
8870 and insert this extracted proxy URL in <tt>/etc/environment</tt> and
8871 <tt>/etc/apt/apt.conf</tt>. The perl script wpad-extract work just
8872 fine in Squeeze, but in Wheezy the library it need to run the
8873 javascript code is <a href="http://bugs.debian.org/631045">no longer
8874 able to build</a> because the C library it depended on is now a C++
8875 library. I hope someone find a solution to that problem before Wheezy
8876 is frozen. An alternative would be for us to rewrite wpad-extract to
8877 use some other javascript library currently working in Wheezy, but no
8878 known alternative is known at the moment.</p>
8879
8880 <p>This automatic proxy system allow the roaming workstation (aka
8881 laptop) setup in Debian Edu/Squeeze to use the proxy when the laptop
8882 is connected to the backbone network in a Debian Edu setup, and to
8883 automatically use any proxy present and announced using the WPAD
8884 feature when it is connected to other networks. And if no proxy is
8885 announced, direct connections will be used instead.</p>
8886
8887 <p>Silently using a proxy announced on the network might be a privacy
8888 or security problem. But those controlling DHCP and DNS on a network
8889 could just as easily set up a transparent proxy, and force all HTTP
8890 and FTP connections to use a proxy anyway, so I consider that
8891 distinction to be academic. If you are afraid of using the wrong
8892 proxy, you should avoid connecting to the network in question in the
8893 first place. In Debian Edu, the proxy setup is updated using dhcp and
8894 ifupdown hooks, to make sure the configuration is updated every time
8895 the network setup changes.</p>
8896
8897 <p>The WPAD system is documented in a
8898 <a href="http://tools.ietf.org/html/draft-ietf-wrec-wpad-01">IETF
8899 draft</a> and a
8900 <a href="http://en.wikipedia.org/wiki/Web_Proxy_Autodiscovery_Protocol">Wikipedia
8901 page</a> for those that want to learn more.</p>
8902
8903 </div>
8904 <div class="tags">
8905
8906
8907 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>.
8908
8909
8910 </div>
8911 </div>
8912 <div class="padding"></div>
8913
8914 <div class="entry">
8915 <div class="title">
8916 <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>
8917 </div>
8918 <div class="date">
8919 5th February 2012
8920 </div>
8921 <div class="body">
8922 <p>Since the Lenny version of
8923 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a>, a
8924 feature to save power have been included. It is as simple as it is
8925 practical: Shut down unused clients at night, and turn them on again
8926 in the morning. This is done using the
8927 <a href="http://packages.qa.debian.org/s/shutdown-at-night.html">shutdown-at-night</a> Debian package.</p>
8928
8929 <p>To enable this feature on a client, the machine need to be added to
8930 the netgroup shutdown-at-night-hosts. For Debian Edu, this is done in
8931 LDAP, and once this is in place, the machine in question will check
8932 every hour from 16:00 until 06:00 to see if the machine is unused, and
8933 shut it down if it is. If the hardware in question is supported by
8934 the
8935 <a href="http://packages.qa.debian.org/n/nvram-wakeup.html">nvram-wakeup</a>
8936 package, the BIOS is told to turn the machine back on around 07:00 +-
8937 10 minutes. If this isn't working, one can configure wake-on-lan to
8938 try to turn on the client. The wake-on-lan option is only documented
8939 and not enabled by default in Debian Edu.</p>
8940
8941 <p>It is important to not turn all machines on at once, as this can
8942 blow a fuse if several computers are connected to the same fuse like
8943 the common setup for a classroom. The nvram-wakeup method only work
8944 for machines with a functioning hardware/BIOS clock. I've seen old
8945 machines where the BIOS battery were dead and the hardware clock were
8946 starting from 0 (or was it 1990?) every boot. If you have one of
8947 those, you have to turn on the computer manually.</p>
8948
8949 <p>The shutdown-at-night package is completely self contained, and can
8950 also be used outside the Debian Edu environment. For those without a
8951 central LDAP server with netgroups, one can instead touch the file
8952 <tt>/etc/shutdown-at-night/shutdown-at-night</tt> to enable it.
8953 Perhaps you too can use it to save some power?</p>
8954
8955 </div>
8956 <div class="tags">
8957
8958
8959 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>.
8960
8961
8962 </div>
8963 </div>
8964 <div class="padding"></div>
8965
8966 <div class="entry">
8967 <div class="title">
8968 <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>
8969 </div>
8970 <div class="date">
8971 4th February 2012
8972 </div>
8973 <div class="body">
8974 <p>I am happy to announce that finally we managed today to wrap up and
8975 publish the third beta version of
8976 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> based
8977 on Squeeze. If you want to test a LDAP backed Kerberos server with
8978 out of the box PXE configuration for running diskless machines and
8979 installing new machines, check it out. If you need a software
8980 solution for your school, check it out too. The full announcement is
8981 <a href="http://lists.debian.org/debian-edu-announce/2012/02/msg00000.html">available</a>
8982 on the project announcement list.</p>
8983
8984 <p>I am very happy to report these changes and improvements since
8985 beta2 (there are more, see announcement for full list):</p>
8986
8987 <ul>
8988
8989 <li>It is now possible to change the pre-configured IP subnet from
8990 10.0.0.0/8 to something else by using the subnet-change tool after
8991 the installation.</li>
8992
8993 <li>Too full partitions are now automatically extended on the Main
8994 Server, based on the rules specified in /etc/fsautoresizetab.</li>
8995
8996 <li>The CUPS queues are now automatically flushed every night, and all
8997 disabled queues are restarted every hour. This should cut down on
8998 the amount of manual administration needed for printers.</li>
8999
9000 <li>The set of initial users have been changed. Now a personal user
9001 for the local system administrator is created during installation
9002 instead of the previously created localadmin and super-admin users,
9003 and this user is granted administrative privileges using group
9004 membership. This reduces the number of passwords one need to keep
9005 up to date on the system.</li>
9006
9007 </ul>
9008
9009 <p>The new main server seem to work so well that I am testing it as my
9010 private DNS/LDAP/Kerberos/PXE/LTSP server at home. I will use it look
9011 for issues we could fix to polish Debian Edu even further before the
9012 final Squeeze release is published.</p>
9013
9014 <p>Next weekend the project organise a
9015 <a href="http://lists.debian.org/debian-edu-announce/2012/01/msg00001.html">developer
9016 gathering</a> in Oslo. We will continue the work on the Squeeze
9017 version, and start initial planning for the Wheezy version. Perhaps I
9018 will see you there?</p>
9019
9020 </div>
9021 <div class="tags">
9022
9023
9024 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>.
9025
9026
9027 </div>
9028 </div>
9029 <div class="padding"></div>
9030
9031 <div class="entry">
9032 <div class="title">
9033 <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>
9034 </div>
9035 <div class="date">
9036 27th January 2012
9037 </div>
9038 <div class="body">
9039 <p>With some computer hardware, one need non-free firmware blobs.
9040 This is the sad fact of todays computers. In the next version of
9041 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> based
9042 on Squeeze, we provide several scripts and modifications to make
9043 firmware blobs easier to handle. The common use case I run into is a
9044 laptop with a wireless network card requiring non-free firmware to
9045 work, but there are other use cases as well.</p>
9046
9047 <p>First and foremost, Debian Edu provide ISO images for DVD and CD
9048 with all firmware packages in the Debian sections main and non-free
9049 included, to ensure debian-installer find and can install all of them
9050 during installation. This take care firmware for network devices used
9051 by the installer when installing from from local media. But for
9052 example multimedia devices are not activated in the installer and are
9053 not taken care of by this.</p>
9054
9055 <p>For non-network devices, we provide the script
9056 <tt>/usr/share/debian-edu-config/tools/auto-addfirmware</tt> which
9057 search through the <tt>dmesg</tt> output for drivers requesting extra
9058 firmware. The firmware file name is looked up in the Contents-ARCH.gz
9059 file available in the package repository, and the packages providing
9060 the requested firmware file(s) is installed. I have proposed to do
9061 something similar in debian-installer (BTS report
9062 <a href="http://bugs.debian.org/655507">#655507</a>), to allow PXE
9063 installs of Debian to handle firmware installation better. Run the
9064 script as root from the command line to fetch and install the needed
9065 firmware packages.</p>
9066
9067 <p>Debian Edu provide PXE installation of Debian out of the box, and
9068 because some machines need firmware to get their network cards
9069 working, the installation initrd some times need extra firmware
9070 included to be able to install at all. To fill the PXE installation
9071 initrd with extra firmware, the
9072 <tt>/usr/share/debian-edu-config/tools/pxe-addfirmware</tt> script is
9073 provided. Again, just run it as root on the command line to fill the
9074 PXE initrd with firmware packages.</p>
9075
9076 <p>Last, some LTSP clients might also need firmware to get their
9077 network cards working. For this,
9078 <tt>/usr/share/debian-edu-config/tools/ltsp-addfirmware</tt> is
9079 provided to update the LTSP initrd with firmware blobs. It is used
9080 the same way as the other firmware related tools.</p>
9081
9082 <p>At the moment, we do not run any of these during installation. We
9083 do not know if this is acceptable for the local administrator to use
9084 non-free software, and it is their choice.</p>
9085
9086 <p>We plan to release beta3 this weekend. You might want to give it a
9087 try.</p>
9088
9089 </div>
9090 <div class="tags">
9091
9092
9093 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>.
9094
9095
9096 </div>
9097 </div>
9098 <div class="padding"></div>
9099
9100 <div class="entry">
9101 <div class="title">
9102 <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>
9103 </div>
9104 <div class="date">
9105 25th January 2012
9106 </div>
9107 <div class="body">
9108 <p>The next version of <a href="http://www.skolelinux.org/">Debian Edu
9109 / Skolelinux</a> will include a new tool
9110 <tt>sitesummary2ldapdhcp</tt>, which can be used to quickly set up all
9111 the computers in a school without much manual labour. Here is a short
9112 summary on how to use it to set up a new school.</p>
9113
9114 <p>First, install a combined Main Server and Thin Client Server as the
9115 central server in the network. Next, PXE boot all the client machines
9116 as thin clients and wait 5 minutes after the last client booted to
9117 allow the clients to report their existence to the central server. When
9118 this is done, log on to the central server and run
9119 <tt>sitesummary2ldapdhcp -a</tt> in the <tt>konsole</tt> to use the
9120 collected information to generate system objects in LDAP. The output
9121 will look similar to this:</p>
9122
9123 <p><blockquote><pre>
9124 % sitesummary2ldapdhcp -a
9125 info: Updating machine tjener.intern [10.0.2.2] id ether-00:01:02:03:04:05.
9126 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.
9127
9128 Enter password if you want to activate these changes, and ^c to abort.
9129
9130 Connecting to LDAP as cn=admin,ou=ldap-access,dc=skole,dc=skolelinux,dc=no
9131 enter password: *******
9132 %
9133 </pre></blockquote></p>
9134
9135 <p>After providing the LDAP administrative password (the same as the
9136 root password set during installation), the LDAP database will be
9137 populated with system objects for each PXE booted machine with
9138 automatically generated names. The final step to set up the school is
9139 then to log into <a href="https://oss.gonicus.de/labs/gosa/">GOsa</a>,
9140 the web based user, group and system administration system to change
9141 system names, add systems to the correct host groups and finally
9142 enable DHCP and DNS for the systems. All clients that should be used
9143 as diskless workstations should be added to the workstation-hosts
9144 group. After this is done, all computers can be booted again via PXE
9145 and get their assigned names and group based configuration
9146 automatically.</p>
9147
9148 <p>We plan to release beta3 with the updated version of this feature
9149 enabled this weekend. You might want to give it a try.</p>
9150
9151 <p>Update 2012-01-28: When calling sitesummary2ldapdhcp to add new
9152 hosts, one need to add the option -a. I forgot to mention this in my
9153 original text, and have added it to the text now.</p>
9154
9155 </div>
9156 <div class="tags">
9157
9158
9159 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>.
9160
9161
9162 </div>
9163 </div>
9164 <div class="padding"></div>
9165
9166 <div class="entry">
9167 <div class="title">
9168 <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>
9169 </div>
9170 <div class="date">
9171 10th January 2012
9172 </div>
9173 <div class="body">
9174 <p>In the Squeeze version of
9175 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> soon
9176 to be released, users of the system will get their default browser
9177 start page set from LDAP, allowing the system administrator to point
9178 all users to the school web page by updating one setting in LDAP. In
9179 addition to setting the default start page when a machine boots, users
9180 are shown the same page as a welcome page when they log in for the
9181 first time.</p>
9182
9183 <p>The LDAP object dc=skole,dc=skolelinux,dc=no have an attribute
9184 labeledURI with "http://www/ LDAP for Debian Edu/Skolelinux" as the
9185 default content. By changing this value to another URL, all users get
9186 to see the page behind this new URL.</p>
9187
9188 <p>An easy way to update it is by using the ldapvi tool. It can be
9189 called as "<tt>ldapvi -ZD '(cn=admin)'</tt>' to update LDAP with the
9190 new setting.</p>
9191
9192 <p>We have written the code to adjust the default start page and show
9193 the welcome page, and I wonder if there is an easier way to do this
9194 from within Iceweasel instead.</p>
9195
9196 </div>
9197 <div class="tags">
9198
9199
9200 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>.
9201
9202
9203 </div>
9204 </div>
9205 <div class="padding"></div>
9206
9207 <div class="entry">
9208 <div class="title">
9209 <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>
9210 </div>
9211 <div class="date">
9212 7th January 2012
9213 </div>
9214 <div class="body">
9215 <p>I am happy to announce that today we managed to wrap up and publish
9216 the second beta version of
9217 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a>. If
9218 you want to test a LDAP backed Kerberos server with out of the box PXE
9219 configuration for running diskless machines and installing new
9220 machines, check it out. If you need a software solution for your
9221 school, check it out too. The full announcement is
9222 <a href="http://lists.debian.org/debian-edu-announce/2012/01/msg00000.html">available</a>
9223 on the project announcement list.</p>
9224
9225 </div>
9226 <div class="tags">
9227
9228
9229 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>.
9230
9231
9232 </div>
9233 </div>
9234 <div class="padding"></div>
9235
9236 <div class="entry">
9237 <div class="title">
9238 <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>
9239 </div>
9240 <div class="date">
9241 3rd January 2012
9242 </div>
9243 <div class="body">
9244 <p>During christmas, I have been working getting the next version of
9245 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> ready
9246 for release. The initial problem I looked at was particularly
9247 interesting.</p>
9248
9249 <P>The installer would hang at the end when it was doing it
9250 post-installation configuration, and whatevery I did to try to find
9251 the cause and fix it always worked while I tested it, but never when I
9252 integrated it into the installer and ran the installation from
9253 scratch. I would try to restart processes, close file descriptors,
9254 remove or create files, and the installer would always unblock and
9255 wrap up its tasks.</p>
9256
9257 <p>Eventually the cause was found. The kernel was simply running out
9258 of entropy, causing the Kerberos setup to hang waiting for more.
9259 Pressing keys was adding entropy to the kernel, and thus all my tries
9260 to fix the problem worked not because what I was typing to fix it, but
9261 because I was typing.</P>
9262
9263 <p>The fix I implemented was to add a background process looking at
9264 the level of entropy in the kernel (by checking
9265 /proc/sys/kernel/random/entropy_avail), and if it was too small, the
9266 installer will flush the kernel file buffers and do 'find /' to
9267 generate some disk IO. Disk IO generate entropy in the kernel, and is
9268 one of the few things that can be initated from within the system to
9269 generate entropy.</p>
9270
9271 <p>The fix is in
9272 <a href="http://wiki.debian.org/DebianEdu/Documentation/Squeeze/Installation">beta1
9273 of the Debian Edu/Squeeze</a> version, and we
9274 <a href="http://wiki.debian.org/DebianEdu">welcome more testers and
9275 developers</a>. We plan to release beta2 this weekend.</p>
9276
9277 </div>
9278 <div class="tags">
9279
9280
9281 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>.
9282
9283
9284 </div>
9285 </div>
9286 <div class="padding"></div>
9287
9288 <div class="entry">
9289 <div class="title">
9290 <a href="http://people.skolelinux.org/pere/blog/Automatically_upgrading_server_firmware_on_Dell_PowerEdge.html">Automatically upgrading server firmware on Dell PowerEdge</a>
9291 </div>
9292 <div class="date">
9293 21st November 2011
9294 </div>
9295 <div class="body">
9296 <p>At work we have heaps of servers. I believe the total count is
9297 around 1000 at the moment. To be able to get help from the vendors
9298 when something go wrong, we want to keep the firmware on the servers
9299 up to date. If the firmware isn't the latest and greatest, the
9300 vendors typically refuse to start debugging any problems until the
9301 firmware is upgraded. So before every reboot, we want to upgrade the
9302 firmware, and we would really like everyone handling servers at the
9303 university to do this themselves when they plan to reboot a machine.
9304 For that to happen we at the unix server admin group need to provide
9305 the tools to do so.</p>
9306
9307 <p>To make firmware upgrading easier, I am working on a script to
9308 fetch and install the latest firmware for the servers we got. Most of
9309 our hardware are from Dell and HP, so I have focused on these servers
9310 so far. This blog post is about the Dell part.</P>
9311
9312 <p>On the Dell FTP site I was lucky enough to find
9313 <a href="ftp://ftp.us.dell.com/catalog/Catalog.xml.gz">an XML file</a>
9314 with firmware information for all 11th generation servers, listing
9315 which firmware should be used on a given model and where on the FTP
9316 site I can find it. Using a simple perl XML parser I can then
9317 download the shell scripts Dell provides to do firmware upgrades from
9318 within Linux and reboot when all the firmware is primed and ready to
9319 be activated on the first reboot.</p>
9320
9321 <p>This is the Dell related fragment of the perl code I am working on.
9322 Are there anyone working on similar tools for firmware upgrading all
9323 servers at a site? Please get in touch and lets share resources.</p>
9324
9325 <p><pre>
9326 #!/usr/bin/perl
9327 use strict;
9328 use warnings;
9329 use File::Temp qw(tempdir);
9330 BEGIN {
9331 # Install needed RHEL packages if missing
9332 my %rhelmodules = (
9333 'XML::Simple' => 'perl-XML-Simple',
9334 );
9335 for my $module (keys %rhelmodules) {
9336 eval "use $module;";
9337 if ($@) {
9338 my $pkg = $rhelmodules{$module};
9339 system("yum install -y $pkg");
9340 eval "use $module;";
9341 }
9342 }
9343 }
9344 my $errorsto = 'pere@hungry.com';
9345
9346 upgrade_dell();
9347
9348 exit 0;
9349
9350 sub run_firmware_script {
9351 my ($opts, $script) = @_;
9352 unless ($script) {
9353 print STDERR "fail: missing script name\n";
9354 exit 1
9355 }
9356 print STDERR "Running $script\n\n";
9357
9358 if (0 == system("sh $script $opts")) { # FIXME correct exit code handling
9359 print STDERR "success: firmware script ran succcessfully\n";
9360 } else {
9361 print STDERR "fail: firmware script returned error\n";
9362 }
9363 }
9364
9365 sub run_firmware_scripts {
9366 my ($opts, @dirs) = @_;
9367 # Run firmware packages
9368 for my $dir (@dirs) {
9369 print STDERR "info: Running scripts in $dir\n";
9370 opendir(my $dh, $dir) or die "Unable to open directory $dir: $!";
9371 while (my $s = readdir $dh) {
9372 next if $s =~ m/^\.\.?/;
9373 run_firmware_script($opts, "$dir/$s");
9374 }
9375 closedir $dh;
9376 }
9377 }
9378
9379 sub download {
9380 my $url = shift;
9381 print STDERR "info: Downloading $url\n";
9382 system("wget --quiet \"$url\"");
9383 }
9384
9385 sub upgrade_dell {
9386 my @dirs;
9387 my $product = `dmidecode -s system-product-name`;
9388 chomp $product;
9389
9390 if ($product =~ m/PowerEdge/) {
9391
9392 # on RHEL, these pacakges are needed by the firwmare upgrade scripts
9393 system('yum install -y compat-libstdc++-33.i686 libstdc++.i686 libxml2.i686 procmail');
9394
9395 my $tmpdir = tempdir(
9396 CLEANUP => 1
9397 );
9398 chdir($tmpdir);
9399 fetch_dell_fw('catalog/Catalog.xml.gz');
9400 system('gunzip Catalog.xml.gz');
9401 my @paths = fetch_dell_fw_list('Catalog.xml');
9402 # -q is quiet, disabling interactivity and reducing console output
9403 my $fwopts = "-q";
9404 if (@paths) {
9405 for my $url (@paths) {
9406 fetch_dell_fw($url);
9407 }
9408 run_firmware_scripts($fwopts, $tmpdir);
9409 } else {
9410 print STDERR "error: Unsupported Dell model '$product'.\n";
9411 print STDERR "error: Please report to $errorsto.\n";
9412 }
9413 chdir('/');
9414 } else {
9415 print STDERR "error: Unsupported Dell model '$product'.\n";
9416 print STDERR "error: Please report to $errorsto.\n";
9417 }
9418 }
9419
9420 sub fetch_dell_fw {
9421 my $path = shift;
9422 my $url = "ftp://ftp.us.dell.com/$path";
9423 download($url);
9424 }
9425
9426 # Using ftp://ftp.us.dell.com/catalog/Catalog.xml.gz, figure out which
9427 # firmware packages to download from Dell. Only work for Linux
9428 # machines and 11th generation Dell servers.
9429 sub fetch_dell_fw_list {
9430 my $filename = shift;
9431
9432 my $product = `dmidecode -s system-product-name`;
9433 chomp $product;
9434 my ($mybrand, $mymodel) = split(/\s+/, $product);
9435
9436 print STDERR "Finding firmware bundles for $mybrand $mymodel\n";
9437
9438 my $xml = XMLin($filename);
9439 my @paths;
9440 for my $bundle (@{$xml->{SoftwareBundle}}) {
9441 my $brand = $bundle->{TargetSystems}->{Brand}->{Display}->{content};
9442 my $model = $bundle->{TargetSystems}->{Brand}->{Model}->{Display}->{content};
9443 my $oscode;
9444 if ("ARRAY" eq ref $bundle->{TargetOSes}->{OperatingSystem}) {
9445 $oscode = $bundle->{TargetOSes}->{OperatingSystem}[0]->{osCode};
9446 } else {
9447 $oscode = $bundle->{TargetOSes}->{OperatingSystem}->{osCode};
9448 }
9449 if ($mybrand eq $brand && $mymodel eq $model && "LIN" eq $oscode)
9450 {
9451 @paths = map { $_->{path} } @{$bundle->{Contents}->{Package}};
9452 }
9453 }
9454 for my $component (@{$xml->{SoftwareComponent}}) {
9455 my $componenttype = $component->{ComponentType}->{value};
9456
9457 # Drop application packages, only firmware and BIOS
9458 next if 'APAC' eq $componenttype;
9459
9460 my $cpath = $component->{path};
9461 for my $path (@paths) {
9462 if ($cpath =~ m%/$path$%) {
9463 push(@paths, $cpath);
9464 }
9465 }
9466 }
9467 return @paths;
9468 }
9469 </pre>
9470
9471 <p>The code is only tested on RedHat Enterprise Linux, but I suspect
9472 it could work on other platforms with some tweaking. Anyone know a
9473 index like Catalog.xml is available from HP for HP servers? At the
9474 moment I maintain a similar list manually and it is quickly getting
9475 outdated.</p>
9476
9477 </div>
9478 <div class="tags">
9479
9480
9481 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>.
9482
9483
9484 </div>
9485 </div>
9486 <div class="padding"></div>
9487
9488 <div class="entry">
9489 <div class="title">
9490 <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>
9491 </div>
9492 <div class="date">
9493 7th October 2011
9494 </div>
9495 <div class="body">
9496 <p>Here in Norway the public libraries are debating with the
9497 publishing houses how to handle electronic books. Surprisingly, the
9498 libraries seem to be willing to accept digital restriction mechanisms
9499 (DRM) on books and renting e-books with artificial scarcity from the
9500 publishing houses. Time limited renting (2-3 years) is one proposed
9501 model, and only allowing X borrowers for each book is another.
9502 Personally I find it amazing that libraries are even considering such
9503 models.</p>
9504
9505 <p>Anyway, while reading <a href="http://boklaben.no/?p=220">part of
9506 this debate</a>, it occurred to me that someone should present a more
9507 sensible approach to the libraries, to allow its borrowers to get used
9508 to a better model. The idea is simple:</p>
9509
9510 <p>Create a computer system for the libraries, either in the form of a
9511 Live DVD or a installable distribution, that provide a simple kiosk
9512 solution to hand out free e-books. As a start, the books distributed
9513 by <a href="http://www.gutenberg.org/">Project Gutenberg</a> (about
9514 36,000 books), <a href="http://runeberg.org/">Project Runenberg</a>
9515 (1149 books) and <a href="http://www.archive.org/details/texts">The
9516 Internet Archive</a> (3,033,748 books) could be included, but any book
9517 where the copyright has expired or with a free licence could be
9518 distributed.</p>
9519
9520 <p>The computer system would make it easy to:</p>
9521
9522 <ul>
9523
9524 <li>Copy e-books into a USB stick, reading tablets, cell phones and
9525 other relevant equipment.</li>
9526
9527 <li>Show the books for reading on the the screen in the library.</li>
9528
9529 </ul>
9530
9531 <p>In addition to such kiosk solution, there should probably be a web
9532 site as well to allow people easy access to these books without
9533 visiting the library. The site would be the distribution point for
9534 the kiosk systems, which would connect regularly to fetch any new
9535 books available.</p>
9536
9537 <p>Are there anyone working on a system like this? I guess it would
9538 fit any library in the world, and not just the Norwegian public
9539 libraries. :)</p>
9540
9541 </div>
9542 <div class="tags">
9543
9544
9545 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>.
9546
9547
9548 </div>
9549 </div>
9550 <div class="padding"></div>
9551
9552 <div class="entry">
9553 <div class="title">
9554 <a href="http://people.skolelinux.org/pere/blog/Ripping_problematic_DVDs_using_dvdbackup_and_genisoimage.html">Ripping problematic DVDs using dvdbackup and genisoimage</a>
9555 </div>
9556 <div class="date">
9557 17th September 2011
9558 </div>
9559 <div class="body">
9560 <p>For convenience, I want to store copies of all my DVDs on my file
9561 server. It allow me to save shelf space flat while still having my
9562 movie collection easily available. It also make it possible to let
9563 the kids see their favourite DVDs without wearing the physical copies
9564 down. I prefer to store the DVDs as ISOs to keep the DVD menu and
9565 subtitle options intact. It also ensure that the entire film is one
9566 file on the disk. As this is for personal use, the ripping is
9567 perfectly legal here in Norway.</p>
9568
9569 <p>Normally I rip the DVDs using dd like this:</p>
9570
9571 <blockquote><pre>
9572 #!/bin/sh
9573 # apt-get install lsdvd
9574 title=$(lsdvd 2>/dev/null|awk '/Disc Title: / {print $3}')
9575 dd if=/dev/dvd of=/storage/dvds/$title.iso bs=1M
9576 </pre></blockquote>
9577
9578 <p>But some DVDs give a input/output error when I read it, and I have
9579 been looking for a better alternative. I have no idea why this I/O
9580 error occur, but suspect my DVD drive, the Linux kernel driver or
9581 something fishy with the DVDs in question. Or perhaps all three.</p>
9582
9583 <p>Anyway, I believe I found a solution today using dvdbackup and
9584 genisoimage. This script gave me a working ISO for a problematic
9585 movie by first extracting the DVD file system and then re-packing it
9586 back as an ISO.
9587
9588 <blockquote><pre>
9589 #!/bin/sh
9590 # apt-get install lsdvd dvdbackup genisoimage
9591 set -e
9592 tmpdir=/storage/dvds/
9593 title=$(lsdvd 2>/dev/null|awk '/Disc Title: / {print $3}')
9594 dvdbackup -i /dev/dvd -M -o $tmpdir -n$title
9595 genisoimage -dvd-video -o $tmpdir/$title.iso $tmpdir/$title
9596 rm -rf $tmpdir/$title
9597 </pre></blockquote>
9598
9599 <p>Anyone know of a better way available in Debian/Squeeze?</p>
9600
9601 <p>Update 2011-09-18: I got a tip from Konstantin Khomoutov about the
9602 readom program from the wodim package. It is specially written to
9603 read optical media, and is called like this: <tt>readom dev=/dev/dvd
9604 f=image.iso</tt>. It got 6 GB along with the problematic Cars DVD
9605 before it failed, and failed right away with a Timmy Time DVD.</p>
9606
9607 <p>Next, I got a tip from Bastian Blank about
9608 <a href="http://bblank.thinkmo.de/blog/new-software-python-dvdvideo">his
9609 program python-dvdvideo</a>, which seem to be just what I am looking
9610 for. Tested it with my problematic Timmy Time DVD, and it succeeded
9611 creating a ISO image. The git source built and installed just fine in
9612 Squeeze, so I guess this will be my tool of choice in the future.</p>
9613
9614 </div>
9615 <div class="tags">
9616
9617
9618 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>.
9619
9620
9621 </div>
9622 </div>
9623 <div class="padding"></div>
9624
9625 <div class="entry">
9626 <div class="title">
9627 <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>
9628 </div>
9629 <div class="date">
9630 4th August 2011
9631 </div>
9632 <div class="body">
9633 <p>Wouter Verhelst have some
9634 <a href="http://grep.be/blog/en/retorts/pere_kubuntu_boot">interesting
9635 comments and opinions</a> on my blog post on
9636 <a href="http://people.skolelinux.org/pere/blog/What_should_start_from__etc_rcS_d__in_Debian____almost_nothing.html">the
9637 need to clean up /etc/rcS.d/ in Debian</a> and my blog post about
9638 <a href="http://people.skolelinux.org/pere/blog/What_is_missing_in_the_Debian_desktop__or_why_my_parents_use_Kubuntu.html">the
9639 default KDE desktop in Debian</a>. I only have time to address one
9640 small piece of his comment now, and though it best to address the
9641 misunderstanding he bring forward:</p>
9642
9643 <p><blockquote>
9644 Currently, a system admin has four options: [...] boot to a
9645 single-user system (by adding 'single' to the kernel command line;
9646 this runs rcS and rc1 scripts)
9647 </blockquote></p>
9648
9649 <p>This make me believe Wouter believe booting into single user mode
9650 and booting into runlevel 1 is the same. I am not surprised he
9651 believe this, because it would make sense and is a quite sensible
9652 thing to believe. But because the boot in Debian is slightly broken,
9653 runlevel 1 do not work properly and it isn't the same as single user
9654 mode. I'll try to explain what is actually happing, but it is a bit
9655 hard to explain.</p>
9656
9657 <p>Single user mode is defined like this in /etc/inittab:
9658 "<tt>~~:S:wait:/sbin/sulogin</tt>". This means the only thing that is
9659 executed in single user mode is sulogin. Single user mode is a boot
9660 state "between" the runlevels, and when booting into single user mode,
9661 only the scripts in /etc/rcS.d/ are executed before the init process
9662 enters the single user state. When switching to runlevel 1, the state
9663 is in fact not ending in runlevel 1, but it passes through runlevel 1
9664 and end up in the single user mode (see /etc/rc1.d/S03single, which
9665 runs "init -t1 S" to switch to single user mode at the end of runlevel
9666 1. It is confusing that the 'S' (single user) init mode is not the
9667 mode enabled by /etc/rcS.d/ (which is more like the initial boot
9668 mode).</p>
9669
9670 <p>This summary might make it clearer. When booting for the first
9671 time into single user mode, the following commands are executed:
9672 "<tt>/etc/init.d/rc S; /sbin/sulogin</tt>". When booting into
9673 runlevel 1, the following commands are executed: "<tt>/etc/init.d/rc
9674 S; /etc/init.d/rc 1; /sbin/sulogin</tt>". A problem show up when
9675 trying to continue after visiting single user mode. Not all services
9676 are started again as they should, causing the machine to end up in an
9677 unpredicatble state. This is why Debian admins recommend rebooting
9678 after visiting single user mode.</p>
9679
9680 <p>A similar problem with runlevel 1 is caused by the amount of
9681 scripts executed from /etc/rcS.d/. When switching from say runlevel 2
9682 to runlevel 1, the services started from /etc/rcS.d/ are not properly
9683 stopped when passing through the scripts in /etc/rc1.d/, and not
9684 started again when switching away from runlevel 1 to the runlevels
9685 2-5. I believe the problem is best fixed by moving all the scripts
9686 out of /etc/rcS.d/ that are not <strong>required</strong> to get a
9687 functioning single user mode during boot.</p>
9688
9689 <p>I have spent several years investigating the Debian boot system,
9690 and discovered this problem a few years ago. I suspect it originates
9691 from when sysvinit was introduced into Debian, a long time ago.</p>
9692
9693 </div>
9694 <div class="tags">
9695
9696
9697 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>.
9698
9699
9700 </div>
9701 </div>
9702 <div class="padding"></div>
9703
9704 <div class="entry">
9705 <div class="title">
9706 <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>
9707 </div>
9708 <div class="date">
9709 30th July 2011
9710 </div>
9711 <div class="body">
9712 <p>In the Debian boot system, several packages include scripts that
9713 are started from /etc/rcS.d/. In fact, there is a bite more of them
9714 than make sense, and this causes a few problems. What kind of
9715 problems, you might ask. There are at least two problems. The first
9716 is that it is not possible to recover a machine after switching to
9717 runlevel 1. One need to actually reboot to get the machine back to
9718 the expected state. The other is that single user boot will sometimes
9719 run into problems because some of the subsystems are activated before
9720 the root login is presented, causing problems when trying to recover a
9721 machine from a problem in that subsystem. A minor additional point is
9722 that moving more scripts out of rcS.d/ and into the other rc#.d/
9723 directories will increase the amount of scripts that can run in
9724 parallel during boot, and thus decrease the boot time.</p>
9725
9726 <p>So, which scripts should start from rcS.d/. In short, only the
9727 scripts that _have_ to execute before the root login prompt is
9728 presented during a single user boot should go there. Everything else
9729 should go into the numeric runlevels. This means things like
9730 lm-sensors, fuse and x11-common should not run from rcS.d, but from
9731 the numeric runlevels. Today in Debian, there are around 115 init.d
9732 scripts that are started from rcS.d/, and most of them should be moved
9733 out. Do your package have one of them? Please help us make single
9734 user and runlevel 1 better by moving it.</p>
9735
9736 <p>Scripts setting up the screen, keyboard, system partitions
9737 etc. should still be started from rcS.d/, but there is for example no
9738 need to have the network enabled before the single user login prompt
9739 is presented.</p>
9740
9741 <p>As always, things are not so easy to fix as they sound. To keep
9742 Debian systems working while scripts migrate and during upgrades, the
9743 scripts need to be moved from rcS.d/ to rc2.d/ in reverse dependency
9744 order, ie the scripts that nothing in rcS.d/ depend on can be moved,
9745 and the next ones can only be moved when their dependencies have been
9746 moved first. This migration must be done sequentially while we ensure
9747 that the package system upgrade packages in the right order to keep
9748 the system state correct. This will require some coordination when it
9749 comes to network related packages, but most of the packages with
9750 scripts that should migrate do not have anything in rcS.d/ depending
9751 on them. Some packages have already been updated, like the sudo
9752 package, while others are still left to do. I wish I had time to work
9753 on this myself, but real live constrains make it unlikely that I will
9754 find time to push this forward.</p>
9755
9756 </div>
9757 <div class="tags">
9758
9759
9760 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>.
9761
9762
9763 </div>
9764 </div>
9765 <div class="padding"></div>
9766
9767 <div class="entry">
9768 <div class="title">
9769 <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>
9770 </div>
9771 <div class="date">
9772 29th July 2011
9773 </div>
9774 <div class="body">
9775 <p>While at Debconf11, I have several times during discussions
9776 mentioned the issues I believe should be improved in Debian for its
9777 desktop to be useful for more people. The use case for this is my
9778 parents, which are currently running Kubuntu which solve the
9779 issues.</p>
9780
9781 <p>I suspect these four missing features are not very hard to
9782 implement. After all, they are present in Ubuntu, so if we wanted to
9783 do this in Debian we would have a source.</p>
9784
9785 <ol>
9786
9787 <li><strong>Simple GUI based upgrade of packages.</strong> When there
9788 are new packages available for upgrades, a icon in the KDE status bar
9789 indicate this, and clicking on it will activate the simple upgrade
9790 tool to handle it. I have no problem guiding both of my parents
9791 through the process over the phone. If a kernel reboot is required,
9792 this too is indicated by the status bars and the upgrade tool. Last
9793 time I checked, nothing with the same features was working in KDE in
9794 Debian.</li>
9795
9796 <li><strong>Simple handling of missing Firefox browser
9797 plugins.</strong> When the browser encounter a MIME type it do not
9798 currently have a handler for, it will ask the user if the system
9799 should search for a package that would add support for this MIME type,
9800 and if the user say yes, the APT sources will be searched for packages
9801 advertising the MIME type in their control file (visible in the
9802 Packages file in the APT archive). If one or more packages are found,
9803 it is a simple click of the mouse to add support for the missing mime
9804 type. If the package require the user to accept some non-free
9805 license, this is explained to the user. The entire process make it
9806 more clear to the user why something do not work in the browser, and
9807 make the chances higher for the user to blame the web page authors and
9808 not the browser for any missing features.</li>
9809
9810 <li><strong>Simple handling of missing multimedia codec/format
9811 handlers.</strong> When the media players encounter a format or codec
9812 it is not supporting, a dialog pop up asking the user if the system
9813 should search for a package that would add support for it. This
9814 happen with things like MP3, Windows Media or H.264. The selection
9815 and installation procedure is very similar to the Firefox browser
9816 plugin handling. This is as far as I know implemented using a
9817 gstreamer hook. The end result is that the user easily get access to
9818 the codecs that are present from the APT archives available, while
9819 explaining more on why a given format is unsupported by Ubuntu.</li>
9820
9821 <li><strong>Better browser handling of some MIME types.</strong> When
9822 displaying a text/plain file in my Debian browser, it will propose to
9823 start emacs to show it. If I remember correctly, when doing the same
9824 in Kunbutu it show the file as a text file in the browser. At least I
9825 know Opera will show text files within the browser. I much prefer the
9826 latter behaviour.</li>
9827
9828 </ol>
9829
9830 <p>There are other nice features as well, like the simplified suite
9831 upgrader, but given that I am the one mostly doing the dist-upgrade,
9832 it do not matter much.</p>
9833
9834 <p>I really hope we could get these features in place for the next
9835 Debian release. It would require the coordinated effort of several
9836 maintainers, but would make the end user experience a lot better.</p>
9837
9838 </div>
9839 <div class="tags">
9840
9841
9842 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>.
9843
9844
9845 </div>
9846 </div>
9847 <div class="padding"></div>
9848
9849 <div class="entry">
9850 <div class="title">
9851 <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>
9852 </div>
9853 <div class="date">
9854 26th July 2011
9855 </div>
9856 <div class="body">
9857 <p>The Norwegian <a href="http://www.fiksgatami.no/">FiksGataMi</A>
9858 site is build on Debian/Squeeze, and this platform was chosen because
9859 I am most familiar with Debian (being a Debian Developer for around 10
9860 years) because it is the latest stable Debian release which should get
9861 security support for a few years.</p>
9862
9863 <p>The web service is written in Perl, and depend on some perl modules
9864 that are missing in Debian at the moment. It would be great if these
9865 modules were added to the Debian archive, allowing anyone to set up
9866 their own <a href="http://www.fixmystreet.com">FixMyStreet</a> clone
9867 in their own country using only Debian packages. The list of modules
9868 missing in Debian/Squeeze isn't very long, and I hope the perl group
9869 will find time to package the 12 modules Catalyst::Plugin::SmartURI,
9870 Catalyst::Plugin::Unicode::Encoding, Catalyst::View::TT, Devel::Hide,
9871 Sort::Key, Statistics::Distributions, Template::Plugin::Comma,
9872 Template::Plugin::DateTime::Format, Term::Size::Any, Term::Size::Perl,
9873 URI::SmartURI and Web::Scraper to make the maintenance of FixMyStreet
9874 easier in the future.</p>
9875
9876 <p>Thanks to the great tools in Debian, getting the missing modules
9877 installed on my server was a simple call to 'cpan2deb Module::Name'
9878 and 'dpkg -i' to install the resulting package. But this leave me
9879 with the responsibility of tracking security problems, which I really
9880 do not have time for.</p>
9881
9882 </div>
9883 <div class="tags">
9884
9885
9886 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>.
9887
9888
9889 </div>
9890 </div>
9891 <div class="padding"></div>
9892
9893 <div class="entry">
9894 <div class="title">
9895 <a href="http://people.skolelinux.org/pere/blog/Free_Software_vs__proprietary_softare___.html">Free Software vs. proprietary softare...</a>
9896 </div>
9897 <div class="date">
9898 20th June 2011
9899 </div>
9900 <div class="body">
9901 <p>Reading
9902 <a href="http://blog.thingiverse.com/2011/06/20/open-source-vs-closed-source-eulas/">the
9903 thingiverse blog</a>, I came across two highlights of interesting
9904 parts of the
9905 <a href="http://wiki.blender.org/index.php/Autodesk_EULA">Autodesk</a>
9906 and
9907 <a href="http://blog.makezine.com/archive/2011/06/things-you-cant-do-with-the-microsoft-kinect-sdk.html">Microsoft
9908 Kinect</a> End User License Agreements (EULAs), which illustrates
9909 quite well why I stay away from software with EULAs. Whenever I take
9910 the time to read their content, the terms are simply unacceptable.</p>
9911
9912 </div>
9913 <div class="tags">
9914
9915
9916 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>.
9917
9918
9919 </div>
9920 </div>
9921 <div class="padding"></div>
9922
9923 <div class="entry">
9924 <div class="title">
9925 <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>
9926 </div>
9927 <div class="date">
9928 30th April 2011
9929 </div>
9930 <div class="body">
9931 <p>Today, the first draft implementation of an
9932 <a href="http://www.open311.org/">Open311 API</a> for the Norwegian
9933 service <a href="http://www.fiksgatami.no/">FiksGataMi</a> started to
9934 work. It is only available on the developer server for now, and I
9935 have not tested it using any existing Open311 client (I lack the
9936 platforms needed to run the clients I have found so far), but it is
9937 able to query the database and extract a list of open and closed
9938 requests within a given category and reported to a given municipality.
9939 I believe that is a good start to create a useful service for those
9940 that want to do data mining on the requests submitted so far.</p>
9941
9942 <p>Where is it? Visit
9943 <a href="http://fiksgatami-dev.nuug.no/open311.cgi/v2/">http://fiksgatami-dev.nuug.no/open311.cgi/v2/</a>
9944 to have a look. Please send feedback to the
9945 <a href="http://lists.nuug.no/mailman/listinfo/fiksgatami">fiksgatami
9946 (at) nuug.no</a> mailing list.</p>
9947
9948 </div>
9949 <div class="tags">
9950
9951
9952 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>.
9953
9954
9955 </div>
9956 </div>
9957 <div class="padding"></div>
9958
9959 <div class="entry">
9960 <div class="title">
9961 <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>
9962 </div>
9963 <div class="date">
9964 29th April 2011
9965 </div>
9966 <div class="body">
9967 <p>The last few days I have spent some time trying to add support for
9968 the <a href="http://www.open311.org/">Open311 API</a> in the
9969 <a href="http://www.fiksgatami.no/">Norwegian FixMyStreet service</a>.
9970 Earlier I believed Open311 would be a useful API to use to submit
9971 reports to the municipalities, but when I noticed that the
9972 <a href="http://fixmystreet.org.nz/">New Zealand version</a> of
9973 FixMyStreet had implemented Open311 on the server side, it occurred to
9974 me that this was a nice way to allow the public, press and
9975 municipalities to do data mining directly in the FixMyStreet service.
9976 Thus I went to work implementing the Open311 specification for
9977 FixMyStreet. The implementation is not yet ready, but I am starting
9978 to get a draft limping along. In the process, I have discovered a few
9979 issues with the Open311 specification.</p>
9980
9981 <p>One obvious missing feature is the lack of natural language
9982 handling in the specification. The specification seem to assume all
9983 reports will be written in English, and do not provide a way for the
9984 receiving end to specify which languages are understood there. To be
9985 able to use the same client and submit to several Open311 receivers,
9986 it would be useful to know which language to use when writing reports.
9987 I believe the specification should be extended to allow the receivers
9988 of problem reports to specify which language they accept, and the
9989 submitter to specify which language the report is written in.
9990 Language of a text can also be automatically guessed using statistical
9991 methods, but for multi-lingual persons like myself, it is useful to
9992 know which language to use when writing a problem report. I suspect
9993 some lang=nb,nn kind of attribute would solve it.</p>
9994
9995 <p>A key part of the Open311 API is the list of services provided,
9996 which is similar to the categories used by FixMyStreet. One issue I
9997 run into is the need to specify both name and unique identifier for
9998 each category. The specification do not state that the identifier
9999 should be numeric, but all example implementations have used numbers
10000 here. In FixMyStreet, there is no number associated with each
10001 category. As the specification do not forbid it, I will use the name
10002 as the unique identifier for now and see how open311 clients handle
10003 it.</p>
10004
10005 <p>The report format in open311 and the report format in FixMyStreet
10006 differ in a key part. FixMyStreet have a title and a description,
10007 while Open311 only have a description and lack the title. I'm not
10008 quite sure how to best handle this yet. When asking for a FixMyStreet
10009 report in Open311 format, I just merge title an description into the
10010 open311 description, but this is not going to work if the open311 API
10011 should be used for submitting new reports to FixMyStreet.</p>
10012
10013 <p>The search feature in Open311 is missing a way to ask for problems
10014 near a geographic location. I believe this is important if one is to
10015 use Open311 as the query language for mobile units. The specification
10016 should be extended to handle this, probably using some new lat=, lon=
10017 and range= options.</p>
10018
10019 <p>The final challenge I see is that the FixMyStreet code handle
10020 several administrations in one interface, while the Open311 API seem
10021 to assume only one administration. For FixMyStreet, this mean a
10022 report can be sent to several administrations, and the categories
10023 available depend on the location of the problem. Not quite sure how
10024 to best handle this. I've noticed
10025 <a href="http://seeclickfix.com/open311/">SeeClickFix</a> added
10026 latitude and longitude options to the services request, but it do not
10027 solve the problem of what to return when no location is specified.
10028 Will have to investigate this a bit more.</p>
10029
10030 <p>My distaste for web forums have kept me from bringing these issues
10031 up with the open311 developer group. I really wish they had a email
10032 list available via <a href="http://www.gmane.org/">Gmane</a> to use for
10033 discussions instead of only
10034 <a href="http://lists.open311.org/groups/discuss">a forum<a/>. Oh,
10035 well. That will probably resolve itself, one way or another. I've
10036 also tried visiting the IRC channel #open311 on FreeNode, but no-one
10037 seem to reply to my questions there. This make me wonder if I just
10038 fail to understand how the open311 community work. It sure do not
10039 work like the free software project communities I am used to.</p>
10040
10041 </div>
10042 <div class="tags">
10043
10044
10045 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>.
10046
10047
10048 </div>
10049 </div>
10050 <div class="padding"></div>
10051
10052 <div class="entry">
10053 <div class="title">
10054 <a href="http://people.skolelinux.org/pere/blog/Gnash_enteres_Google_Summer_of_Code_2011.html">Gnash enteres Google Summer of Code 2011</a>
10055 </div>
10056 <div class="date">
10057 6th April 2011
10058 </div>
10059 <div class="body">
10060 <p><a href="http://www.getgnash.org/">The Gnash project</a> is still
10061 the most promising solution for a Free Software Flash implementation.
10062 A few days ago the project
10063 <a href="http://lists.gnu.org/archive/html/gnash-dev/2011-04/msg00011.html">announced</a>
10064 that it will participate in Google Summer of Code. I hope many
10065 students apply, and that some of them succeed in getting AVM2 support
10066 into Gnash.</p>
10067
10068 </div>
10069 <div class="tags">
10070
10071
10072 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>.
10073
10074
10075 </div>
10076 </div>
10077 <div class="padding"></div>
10078
10079 <div class="entry">
10080 <div class="title">
10081 <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>
10082 </div>
10083 <div class="date">
10084 3rd April 2011
10085 </div>
10086 <div class="body">
10087 <p>Here is a small update for my English readers. Most of my blog
10088 posts have been in Norwegian the last few weeks, so here is a short
10089 update in English.</p>
10090
10091 <p>The kids still keep me too busy to get much free software work
10092 done, but I did manage to organise a project to get a Norwegian port
10093 of the British service
10094 <a href="http://www.fixmystreet.com/">FixMyStreet</a> up and running,
10095 and it has been running for a month now. The entire project has been
10096 organised by me and two others. Around Christmas we gathered sponsors
10097 to fund the development work. In January I drafted a contract with
10098 <a href="http://www.mysociety.org/">mySociety</a> on what to develop,
10099 and in February the development took place. Most of it involved
10100 converting the source to use GPS coordinates instead of British
10101 easting/northing, and the resulting code should be a lot easier to get
10102 running in any country by now. The Norwegian
10103 <a href="http://www.fiksgatami.no/">FiksGataMi</a> is using
10104 <a href="http://www.openstreetmap.org/">OpenStreetmap</a> as the map
10105 source and the source for administrative borders in Norway, and
10106 support for this had to be added/fixed.</p>
10107
10108 <p>The Norwegian version went live March 3th, and we spent the weekend
10109 polishing the system before we announced it March 7th. The system is
10110 running on a KVM instance of Debian/Squeeze, and has seen almost 3000
10111 problem reports in a few weeks. Soon we hope to announce the Android
10112 and iPhone versions making it even easier to report problems with the
10113 public infrastructure.</p>
10114
10115 <p>Perhaps something to consider for those of you in countries without
10116 such service?</p>
10117
10118 </div>
10119 <div class="tags">
10120
10121
10122 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>.
10123
10124
10125 </div>
10126 </div>
10127 <div class="padding"></div>
10128
10129 <div class="entry">
10130 <div class="title">
10131 <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>
10132 </div>
10133 <div class="date">
10134 28th January 2011
10135 </div>
10136 <div class="body">
10137 <p>The last few days I have looked at ways to track open security
10138 issues here at my work with the University of Oslo. My idea is that
10139 it should be possible to use the information about security issues
10140 available on the Internet, and check our locally
10141 maintained/distributed software against this information. It should
10142 allow us to verify that no known security issues are forgotten. The
10143 CVE database listing vulnerabilities seem like a great central point,
10144 and by using the package lists from Debian mapped to CVEs provided by
10145 the testing security team, I believed it should be possible to figure
10146 out which security holes were present in our free software
10147 collection.</p>
10148
10149 <p>After reading up on the topic, it became obvious that the first
10150 building block is to be able to name software packages in a unique and
10151 consistent way across data sources. I considered several ways to do
10152 this, for example coming up with my own naming scheme like using URLs
10153 to project home pages or URLs to the Freshmeat entries, or using some
10154 existing naming scheme. And it seem like I am not the first one to
10155 come across this problem, as MITRE already proposed and implemented a
10156 solution. Enter the <a href="http://cpe.mitre.org/index.html">Common
10157 Platform Enumeration</a> dictionary, a vocabulary for referring to
10158 software, hardware and other platform components. The CPE ids are
10159 mapped to CVEs in the <a href="http://web.nvd.nist.gov/">National
10160 Vulnerability Database</a>, allowing me to look up know security
10161 issues for any CPE name. With this in place, all I need to do is to
10162 locate the CPE id for the software packages we use at the university.
10163 This is fairly trivial (I google for 'cve cpe $package' and check the
10164 NVD entry if a CVE for the package exist).</p>
10165
10166 <p>To give you an example. The GNU gzip source package have the CPE
10167 name cpe:/a:gnu:gzip. If the old version 1.3.3 was the package to
10168 check out, one could look up
10169 <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
10170 in NVD</a> and get a list of 6 security holes with public CVE entries.
10171 The most recent one is
10172 <a href="http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-0001">CVE-2010-0001</a>,
10173 and at the bottom of the NVD page for this vulnerability the complete
10174 list of affected versions is provided.</p>
10175
10176 <p>The NVD database of CVEs is also available as a XML dump, allowing
10177 for offline processing of issues. Using this dump, I've written a
10178 small script taking a list of CPEs as input and list all CVEs
10179 affecting the packages represented by these CPEs. One give it CPEs
10180 with version numbers as specified above and get a list of open
10181 security issues out.</p>
10182
10183 <p>Of course for this approach to be useful, the quality of the NVD
10184 information need to be high. For that to happen, I believe as many as
10185 possible need to use and contribute to the NVD database. I notice
10186 RHEL is providing
10187 <a href="https://www.redhat.com/security/data/metrics/rhsamapcpe.txt">a
10188 map from CVE to CPE</a>, indicating that they are using the CPE
10189 information. I'm not aware of Debian and Ubuntu doing the same.</p>
10190
10191 <p>To get an idea about the quality for free software, I spent some
10192 time making it possible to compare the CVE database from Debian with
10193 the CVE database in NVD. The result look fairly good, but there are
10194 some inconsistencies in NVD (same software package having several
10195 CPEs), and some inaccuracies (NVD not mentioning buggy packages that
10196 Debian believe are affected by a CVE). Hope to find time to improve
10197 the quality of NVD, but that require being able to get in touch with
10198 someone maintaining it. So far my three emails with questions and
10199 corrections have not seen any reply, but I hope contact can be
10200 established soon.</p>
10201
10202 <p>An interesting application for CPEs is cross platform package
10203 mapping. It would be useful to know which packages in for example
10204 RHEL, OpenSuSe and Mandriva are missing from Debian and Ubuntu, and
10205 this would be trivial if all linux distributions provided CPE entries
10206 for their packages.</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/sikkerhet">sikkerhet</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/Which_module_is_loaded_for_a_given_PCI_and_USB_device_.html">Which module is loaded for a given PCI and USB device?</a>
10222 </div>
10223 <div class="date">
10224 23rd January 2011
10225 </div>
10226 <div class="body">
10227 <p>In the
10228 <a href="http://packages.qa.debian.org/discover-data">discover-data</a>
10229 package in Debian, there is a script to report useful information
10230 about the running hardware for use when people report missing
10231 information. One part of this script that I find very useful when
10232 debugging hardware problems, is the part mapping loaded kernel module
10233 to the PCI device it claims. It allow me to quickly see if the kernel
10234 module I expect is driving the hardware I am struggling with. To see
10235 the output, make sure discover-data is installed and run
10236 <tt>/usr/share/bug/discover-data 3>&1</tt>. The relevant output on
10237 one of my machines like this:</p>
10238
10239 <pre>
10240 loaded modules:
10241 10de:03eb i2c_nforce2
10242 10de:03f1 ohci_hcd
10243 10de:03f2 ehci_hcd
10244 10de:03f0 snd_hda_intel
10245 10de:03ec pata_amd
10246 10de:03f6 sata_nv
10247 1022:1103 k8temp
10248 109e:036e bttv
10249 109e:0878 snd_bt87x
10250 11ab:4364 sky2
10251 </pre>
10252
10253 <p>The code in question look like this, slightly modified for
10254 readability and to drop the output to file descriptor 3:</p>
10255
10256 <pre>
10257 if [ -d /sys/bus/pci/devices/ ] ; then
10258 echo loaded pci modules:
10259 (
10260 cd /sys/bus/pci/devices/
10261 for address in * ; do
10262 if [ -d "$address/driver/module" ] ; then
10263 module=`cd $address/driver/module ; pwd -P | xargs basename`
10264 if grep -q "^$module " /proc/modules ; then
10265 address=$(echo $address |sed s/0000://)
10266 id=`lspci -n -s $address | tail -n 1 | awk '{print $3}'`
10267 echo "$id $module"
10268 fi
10269 fi
10270 done
10271 )
10272 echo
10273 fi
10274 </pre>
10275
10276 <p>Similar code could be used to extract USB device module
10277 mappings:</p>
10278
10279 <pre>
10280 if [ -d /sys/bus/usb/devices/ ] ; then
10281 echo loaded usb modules:
10282 (
10283 cd /sys/bus/usb/devices/
10284 for address in * ; do
10285 if [ -d "$address/driver/module" ] ; then
10286 module=`cd $address/driver/module ; pwd -P | xargs basename`
10287 if grep -q "^$module " /proc/modules ; then
10288 address=$(echo $address |sed s/0000://)
10289 id=$(lsusb -s $address | tail -n 1 | awk '{print $6}')
10290 if [ "$id" ] ; then
10291 echo "$id $module"
10292 fi
10293 fi
10294 fi
10295 done
10296 )
10297 echo
10298 fi
10299 </pre>
10300
10301 <p>This might perhaps be something to include in other tools as
10302 well.</p>
10303
10304 </div>
10305 <div class="tags">
10306
10307
10308 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>.
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/The_video_format_most_supported_in_web_browsers_.html">The video format most supported in web browsers?</a>
10318 </div>
10319 <div class="date">
10320 16th January 2011
10321 </div>
10322 <div class="body">
10323 <p>The video format struggle on the web continues, and the three
10324 contenders seem to be Ogg Theora, H.264 and WebM. Most video sites
10325 seem to use H.264, while others use Ogg Theora. Interestingly enough,
10326 the comments I see give me the feeling that a lot of people believe
10327 H.264 is the most supported video format in browsers, but according to
10328 the Wikipedia article on
10329 <a href="http://en.wikipedia.org/wiki/HTML5_video">HTML5 video</a>,
10330 this is not true. Check out the nice table of supprted formats in
10331 different browsers there. The format supported by most browsers is
10332 Ogg Theora, supported by released versions of Mozilla Firefox, Google
10333 Chrome, Chromium, Opera, Konqueror, Epiphany, Origyn Web Browser and
10334 BOLT browser, while not supported by Internet Explorer nor Safari.
10335 The runner up is WebM supported by released versions of Google Chrome
10336 Chromium Opera and Origyn Web Browser, and test versions of Mozilla
10337 Firefox. H.264 is supported by released versions of Safari, Origyn
10338 Web Browser and BOLT browser, and the test version of Internet
10339 Explorer. Those wanting Ogg Theora support in Internet Explorer and
10340 Safari can install plugins to get it.</p>
10341
10342 <p>To me, the simple conclusion from this is that to reach most users
10343 without any extra software installed, one uses Ogg Theora with the
10344 HTML5 video tag. Of course to reach all those without a browser
10345 handling HTML5, one need fallback mechanisms. In
10346 <a href="http://www.nuug.no/">NUUG</a>, we provide first fallback to a
10347 plugin capable of playing MPEG1 video, and those without such support
10348 we have a second fallback to the Cortado java applet playing Ogg
10349 Theora. This seem to work quite well, as can be seen in an <a
10350 href="http://www.nuug.no/aktiviteter/20110111-semantic-web/">example
10351 from last week</a>.</p>
10352
10353 <p>The reason Ogg Theora is the most supported format, and H.264 is
10354 the least supported is simple. Implementing and using H.264
10355 require royalty payment to MPEG-LA, and the terms of use from MPEG-LA
10356 are incompatible with free software licensing. If you believed H.264
10357 was without royalties and license terms, check out
10358 "<a href="http://webmink.com/essays/h-264/">H.264 – Not The Kind Of
10359 Free That Matters</a>" by Simon Phipps.</p>
10360
10361 <p>A incomplete list of sites providing video in Ogg Theora is
10362 available from
10363 <a href="http://wiki.xiph.org/index.php/List_of_Theora_videos">the
10364 Xiph.org wiki</a>, if you want to have a look. I'm not aware of a
10365 similar list for WebM nor H.264.</p>
10366
10367 <p>Update 2011-01-16 09:40: A question from Tollef on IRC made me
10368 realise that I failed to make it clear enough this text is about the
10369 &lt;video&gt; tag support in browsers and not the video support
10370 provided by external plugins like the Flash plugins.</p>
10371
10372 </div>
10373 <div class="tags">
10374
10375
10376 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>.
10377
10378
10379 </div>
10380 </div>
10381 <div class="padding"></div>
10382
10383 <div class="entry">
10384 <div class="title">
10385 <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>
10386 </div>
10387 <div class="date">
10388 12th January 2011
10389 </div>
10390 <div class="body">
10391 <p>Today I discovered
10392 <a href="http://www.digi.no/860070/google-dropper-h264-stotten-i-chrome">via
10393 digi.no</a> that the Chrome developers, in a surprising announcement,
10394 <a href="http://blog.chromium.org/2011/01/html-video-codec-support-in-chrome.html">yesterday
10395 announced</a> plans to drop H.264 support for HTML5 &lt;video&gt; in
10396 the browser. The argument used is that H.264 is not a "completely
10397 open" codec technology. If you believe H.264 was free for everyone
10398 to use, I recommend having a look at the essay
10399 "<a href="http://webmink.com/essays/h-264/">H.264 – Not The Kind Of
10400 Free That Matters</a>". It is not free of cost for creators of video
10401 tools, nor those of us that want to publish on the Internet, and the
10402 terms provided by MPEG-LA excludes free software projects from
10403 licensing the patents needed for H.264. Some background information
10404 on the Google announcement is available from
10405 <a href="http://www.osnews.com/story/24243/Google_To_Drop_H264_Support_from_Chrome">OSnews</a>.
10406 A good read. :)</p>
10407
10408 <p>Personally, I believe it is great that Google is taking a stand to
10409 promote equal terms for everyone when it comes to video publishing on
10410 the Internet. This can only be done by publishing using free and open
10411 standards, which is only possible if the web browsers provide support
10412 for these free and open standards. At the moment there seem to be two
10413 camps in the web browser world when it come to video support. Some
10414 browsers support H.264, and others support
10415 <a href="http://www.theora.org/">Ogg Theora</a> and
10416 <a href="http://www.webmproject.org/">WebM</a>
10417 (<a href="http://www.diracvideo.org/">Dirac</a> is not really an option
10418 yet), forcing those of us that want to publish video on the Internet
10419 and which can not accept the terms of use presented by MPEG-LA for
10420 H.264 to not reach all potential viewers.
10421 Wikipedia keep <a href="http://en.wikipedia.org/wiki/HTML5_video">an
10422 updated summary</a> of the current browser support.</p>
10423
10424 <p>Not surprising, several people would prefer Google to keep
10425 promoting H.264, and John Gruber
10426 <a href="http://daringfireball.net/2011/01/simple_questions">presents
10427 the mind set</a> of these people quite well. His rhetorical questions
10428 provoked a reply from Thom Holwerda with another set of questions
10429 <a href="http://www.osnews.com/story/24245/10_Questions_for_John_Gruber_Regarding_H_264_WebM">presenting
10430 the issues with H.264</a>. Both are worth a read.</p>
10431
10432 <p>Some argue that if Google is dropping H.264 because it isn't free,
10433 they should also drop support for the Adobe Flash plugin. This
10434 argument was covered by Simon Phipps in
10435 <a href="http://blogs.computerworlduk.com/simon-says/2011/01/google-and-h264---far-from-hypocritical/index.htm">todays
10436 blog post</a>, which I find to put the issue in context. To me it
10437 make perfect sense to drop native H.264 support for HTML5 in the
10438 browser while still allowing plugins.</p>
10439
10440 <p>I suspect the reason this announcement make so many people protest,
10441 is that all the users and promoters of H.264 suddenly get an uneasy
10442 feeling that they might be backing the wrong horse. A lot of TV
10443 broadcasters have been moving to H.264 the last few years, and a lot
10444 of money has been invested in hardware based on the belief that they
10445 could use the same video format for both broadcasting and web
10446 publishing. Suddenly this belief is shaken.</p>
10447
10448 <p>An interesting question is why Google is doing this. While the
10449 presented argument might be true enough, I believe Google would only
10450 present the argument if the change make sense from a business
10451 perspective. One reason might be that they are currently negotiating
10452 with MPEG-LA over royalties or usage terms, and giving MPEG-LA the
10453 feeling that dropping H.264 completely from Chroome, Youtube and
10454 Google Video would improve the negotiation position of Google.
10455 Another reason might be that Google want to save money by not having
10456 to pay the video tax to MPEG-LA at all, and thus want to move to a
10457 video format not requiring royalties at all. A third reason might be
10458 that the Chrome development team simply want to avoid the
10459 Chrome/Chromium split to get more help with the development of Chrome.
10460 I guess time will tell.</p>
10461
10462 <p>Update 2011-01-15: The Google Chrome team provided
10463 <a href="http://blog.chromium.org/2011/01/more-about-chrome-html-video-codec.html">more
10464 background and information on the move</a> it a blog post yesterday.</p>
10465
10466 </div>
10467 <div class="tags">
10468
10469
10470 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>.
10471
10472
10473 </div>
10474 </div>
10475 <div class="padding"></div>
10476
10477 <div class="entry">
10478 <div class="title">
10479 <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>
10480 </div>
10481 <div class="date">
10482 30th December 2010
10483 </div>
10484 <div class="body">
10485 <p>After trying to
10486 <a href="http://people.skolelinux.org/pere/blog/Is_Ogg_Theora_a_free_and_open_standard_.html">compare
10487 Ogg Theora</a> to
10488 <a href="http://www.digistan.org/open-standard:definition">the Digistan
10489 definition</a> of a free and open standard, I concluded that this need
10490 to be done for more standards and started on a framework for doing
10491 this. As a start, I want to get the status for all the standards in
10492 the Norwegian reference directory, which include UTF-8, HTML, PDF, ODF,
10493 JPEG, PNG, SVG and others. But to be able to complete this in a
10494 reasonable time frame, I will need help.</p>
10495
10496 <p>If you want to help out with this work, please visit
10497 <a href="http://wiki.nuug.no/grupper/standard/digistan-analyse">the
10498 wiki pages I have set up for this</a>, and let me know that you want
10499 to help out. The IRC channel #nuug on irc.freenode.net is a good
10500 place to coordinate this for now, as it is the IRC channel for the
10501 NUUG association where I have created the framework (I am the leader
10502 of the Norwegian Unix User Group).</p>
10503
10504 <p>The framework is still forming, and a lot is left to do. Do not be
10505 scared by the sketchy form of the current pages. :)</p>
10506
10507 </div>
10508 <div class="tags">
10509
10510
10511 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>.
10512
10513
10514 </div>
10515 </div>
10516 <div class="padding"></div>
10517
10518 <div class="entry">
10519 <div class="title">
10520 <a href="http://people.skolelinux.org/pere/blog/The_many_definitions_of_a_open_standard.html">The many definitions of a open standard</a>
10521 </div>
10522 <div class="date">
10523 27th December 2010
10524 </div>
10525 <div class="body">
10526 <p>One of the reasons I like the Digistan definition of
10527 "<a href="http://www.digistan.org/open-standard:definition">Free and
10528 Open Standard</a>" is that this is a new term, and thus the meaning of
10529 the term has been decided by Digistan. The term "Open Standard" has
10530 become so misunderstood that it is no longer very useful when talking
10531 about standards. One end up discussing which definition is the best
10532 one and with such frame the only one gaining are the proponents of
10533 de-facto standards and proprietary solutions.</p>
10534
10535 <p>But to give us an idea about the diversity of definitions of open
10536 standards, here are a few that I know about. This list is not
10537 complete, but can be a starting point for those that want to do a
10538 complete survey. More definitions are available on the
10539 <a href="http://en.wikipedia.org/wiki/Open_standard">wikipedia
10540 page</a>.</p>
10541
10542 <p>First off is my favourite, the definition from the European
10543 Interoperability Framework version 1.0. Really sad to notice that BSA
10544 and others has succeeded in getting it removed from version 2.0 of the
10545 framework by stacking the committee drafting the new version with
10546 their own people. Anyway, the definition is still available and it
10547 include the key properties needed to make sure everyone can use a
10548 specification on equal terms.</p>
10549
10550 <blockquote>
10551
10552 <p>The following are the minimal characteristics that a specification
10553 and its attendant documents must have in order to be considered an
10554 open standard:</p>
10555
10556 <ul>
10557
10558 <li>The standard is adopted and will be maintained by a not-for-profit
10559 organisation, and its ongoing development occurs on the basis of an
10560 open decision-making procedure available to all interested parties
10561 (consensus or majority decision etc.).</li>
10562
10563 <li>The standard has been published and the standard specification
10564 document is available either freely or at a nominal charge. It must be
10565 permissible to all to copy, distribute and use it for no fee or at a
10566 nominal fee.</li>
10567
10568 <li>The intellectual property - i.e. patents possibly present - of
10569 (parts of) the standard is made irrevocably available on a royalty-
10570 free basis.</li>
10571
10572 <li>There are no constraints on the re-use of the standard.</li>
10573
10574 </ul>
10575 </blockquote>
10576
10577 <p>Another one originates from my friends over at
10578 <a href="http://www.dkuug.dk/">DKUUG</a>, who coined and gathered
10579 support for <a href="http://www.aaben-standard.dk/">this
10580 definition</a> in 2004. It even made it into the Danish parlament as
10581 <a href="http://www.ft.dk/dokumenter/tingdok.aspx?/samling/20051/beslutningsforslag/B103/som_fremsat.htm">their
10582 definition of a open standard</a>. Another from a different part of
10583 the Danish government is available from the wikipedia page.</p>
10584
10585 <blockquote>
10586
10587 <p>En åben standard opfylder følgende krav:</p>
10588
10589 <ol>
10590
10591 <li>Veldokumenteret med den fuldstændige specifikation offentligt
10592 tilgængelig.</li>
10593
10594 <li>Frit implementerbar uden økonomiske, politiske eller juridiske
10595 begrænsninger på implementation og anvendelse.</li>
10596
10597 <li>Standardiseret og vedligeholdt i et åbent forum (en såkaldt
10598 "standardiseringsorganisation") via en åben proces.</li>
10599
10600 </ol>
10601
10602 </blockquote>
10603
10604 <p>Then there is <a href="http://www.fsfe.org/projects/os/def.html">the
10605 definition</a> from Free Software Foundation Europe.</p>
10606
10607 <blockquote>
10608
10609 <p>An Open Standard refers to a format or protocol that is</p>
10610
10611 <ol>
10612
10613 <li>subject to full public assessment and use without constraints in a
10614 manner equally available to all parties;</li>
10615
10616 <li>without any components or extensions that have dependencies on
10617 formats or protocols that do not meet the definition of an Open
10618 Standard themselves;</li>
10619
10620 <li>free from legal or technical clauses that limit its utilisation by
10621 any party or in any business model;</li>
10622
10623 <li>managed and further developed independently of any single vendor
10624 in a process open to the equal participation of competitors and third
10625 parties;</li>
10626
10627 <li>available in multiple complete implementations by competing
10628 vendors, or as a complete implementation equally available to all
10629 parties.</li>
10630
10631 </ol>
10632
10633 </blockquote>
10634
10635 <p>A long time ago, SUN Microsystems, now bought by Oracle, created
10636 its
10637 <a href="http://blogs.sun.com/dennisding/resource/Open%20Standard%20Definition.pdf">Open
10638 Standards Checklist</a> with a fairly detailed description.</p>
10639
10640 <blockquote>
10641 <p>Creation and Management of an Open Standard
10642
10643 <ul>
10644
10645 <li>Its development and management process must be collaborative and
10646 democratic:
10647
10648 <ul>
10649
10650 <li>Participation must be accessible to all those who wish to
10651 participate and can meet fair and reasonable criteria
10652 imposed by the organization under which it is developed
10653 and managed.</li>
10654
10655 <li>The processes must be documented and, through a known
10656 method, can be changed through input from all
10657 participants.</li>
10658
10659 <li>The process must be based on formal and binding commitments for
10660 the disclosure and licensing of intellectual property rights.</li>
10661
10662 <li>Development and management should strive for consensus,
10663 and an appeals process must be clearly outlined.</li>
10664
10665 <li>The standard specification must be open to extensive
10666 public review at least once in its life-cycle, with
10667 comments duly discussed and acted upon, if required.</li>
10668
10669 </ul>
10670
10671 </li>
10672
10673 </ul>
10674
10675 <p>Use and Licensing of an Open Standard</p>
10676 <ul>
10677
10678 <li>The standard must describe an interface, not an implementation,
10679 and the industry must be capable of creating multiple, competing
10680 implementations to the interface described in the standard without
10681 undue or restrictive constraints. Interfaces include APIs,
10682 protocols, schemas, data formats and their encoding.</li>
10683
10684 <li> The standard must not contain any proprietary "hooks" that create
10685 a technical or economic barriers</li>
10686
10687 <li>Faithful implementations of the standard must
10688 interoperate. Interoperability means the ability of a computer
10689 program to communicate and exchange information with other computer
10690 programs and mutually to use the information which has been
10691 exchanged. This includes the ability to use, convert, or exchange
10692 file formats, protocols, schemas, interface information or
10693 conventions, so as to permit the computer program to work with other
10694 computer programs and users in all the ways in which they are
10695 intended to function.</li>
10696
10697 <li>It must be permissible for anyone to copy, distribute and read the
10698 standard for a nominal fee, or even no fee. If there is a fee, it
10699 must be low enough to not preclude widespread use.</li>
10700
10701 <li>It must be possible for anyone to obtain free (no royalties or
10702 fees; also known as "royalty free"), worldwide, non-exclusive and
10703 perpetual licenses to all essential patent claims to make, use and
10704 sell products based on the standard. The only exceptions are
10705 terminations per the reciprocity and defensive suspension terms
10706 outlined below. Essential patent claims include pending, unpublished
10707 patents, published patents, and patent applications. The license is
10708 only for the exact scope of the standard in question.
10709
10710 <ul>
10711
10712 <li> May be conditioned only on reciprocal licenses to any of
10713 licensees' patent claims essential to practice that standard
10714 (also known as a reciprocity clause)</li>
10715
10716 <li> May be terminated as to any licensee who sues the licensor
10717 or any other licensee for infringement of patent claims
10718 essential to practice that standard (also known as a
10719 "defensive suspension" clause)</li>
10720
10721 <li> The same licensing terms are available to every potential
10722 licensor</li>
10723
10724 </ul>
10725 </li>
10726
10727 <li>The licensing terms of an open standards must not preclude
10728 implementations of that standard under open source licensing terms
10729 or restricted licensing terms</li>
10730
10731 </ul>
10732
10733 </blockquote>
10734
10735 <p>It is said that one of the nice things about standards is that
10736 there are so many of them. As you can see, the same holds true for
10737 open standard definitions. Most of the definitions have a lot in
10738 common, and it is not really controversial what properties a open
10739 standard should have, but the diversity of definitions have made it
10740 possible for those that want to avoid a level marked field and real
10741 competition to downplay the significance of open standards. I hope we
10742 can turn this tide by focusing on the advantages of Free and Open
10743 Standards.</p>
10744
10745 </div>
10746 <div class="tags">
10747
10748
10749 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>.
10750
10751
10752 </div>
10753 </div>
10754 <div class="padding"></div>
10755
10756 <div class="entry">
10757 <div class="title">
10758 <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>
10759 </div>
10760 <div class="date">
10761 25th December 2010
10762 </div>
10763 <div class="body">
10764 <p><a href="http://www.digistan.org/open-standard:definition">The
10765 Digistan definition</a> of a free and open standard reads like this:</p>
10766
10767 <blockquote>
10768
10769 <p>The Digital Standards Organization defines free and open standard
10770 as follows:</p>
10771
10772 <ol>
10773
10774 <li>A free and open standard is immune to vendor capture at all stages
10775 in its life-cycle. Immunity from vendor capture makes it possible to
10776 freely use, improve upon, trust, and extend a standard over time.</li>
10777
10778 <li>The standard is adopted and will be maintained by a not-for-profit
10779 organisation, and its ongoing development occurs on the basis of an
10780 open decision-making procedure available to all interested
10781 parties.</li>
10782
10783 <li>The standard has been published and the standard specification
10784 document is available freely. It must be permissible to all to copy,
10785 distribute, and use it freely.</li>
10786
10787 <li>The patents possibly present on (parts of) the standard are made
10788 irrevocably available on a royalty-free basis.</li>
10789
10790 <li>There are no constraints on the re-use of the standard.</li>
10791
10792 </ol>
10793
10794 <p>The economic outcome of a free and open standard, which can be
10795 measured, is that it enables perfect competition between suppliers of
10796 products based on the standard.</p>
10797 </blockquote>
10798
10799 <p>For a while now I have tried to figure out of Ogg Theora is a free
10800 and open standard according to this definition. Here is a short
10801 writeup of what I have been able to gather so far. I brought up the
10802 topic on the Xiph advocacy mailing list
10803 <a href="http://lists.xiph.org/pipermail/advocacy/2009-July/001632.html">in
10804 July 2009</a>, for those that want to see some background information.
10805 According to Ivo Emanuel Gonçalves and Monty Montgomery on that list
10806 the Ogg Theora specification fulfils the Digistan definition.</p>
10807
10808 <p><strong>Free from vendor capture?</strong></p>
10809
10810 <p>As far as I can see, there is no single vendor that can control the
10811 Ogg Theora specification. It can be argued that the
10812 <a href="http://www.xiph.org/">Xiph foundation</A> is such vendor, but
10813 given that it is a non-profit foundation with the expressed goal
10814 making free and open protocols and standards available, it is not
10815 obvious that this is a real risk. One issue with the Xiph
10816 foundation is that its inner working (as in board member list, or who
10817 control the foundation) are not easily available on the web. I've
10818 been unable to find out who is in the foundation board, and have not
10819 seen any accounting information documenting how money is handled nor
10820 where is is spent in the foundation. It is thus not obvious for an
10821 external observer who control The Xiph foundation, and for all I know
10822 it is possible for a single vendor to take control over the
10823 specification. But it seem unlikely.</p>
10824
10825 <p><strong>Maintained by open not-for-profit organisation?</strong></p>
10826
10827 <p>Assuming that the Xiph foundation is the organisation its web pages
10828 claim it to be, this point is fulfilled. If Xiph foundation is
10829 controlled by a single vendor, it isn't, but I have not found any
10830 documentation indicating this.</p>
10831
10832 <p>According to
10833 <a href="http://media.hiof.no/diverse/fad/rapport_4.pdf">a report</a>
10834 prepared by Audun Vaaler og Børre Ludvigsen for the Norwegian
10835 government, the Xiph foundation is a non-commercial organisation and
10836 the development process is open, transparent and non-Discrimatory.
10837 Until proven otherwise, I believe it make most sense to believe the
10838 report is correct.</p>
10839
10840 <p><strong>Specification freely available?</strong></p>
10841
10842 <p>The specification for the <a href="http://www.xiph.org/ogg/doc/">Ogg
10843 container format</a> and both the
10844 <a href="http://www.xiph.org/vorbis/doc/">Vorbis</a> and
10845 <a href="http://theora.org/doc/">Theora</a> codeces are available on
10846 the web. This are the terms in the Vorbis and Theora specification:
10847
10848 <blockquote>
10849
10850 Anyone may freely use and distribute the Ogg and [Vorbis/Theora]
10851 specifications, whether in private, public, or corporate
10852 capacity. However, the Xiph.Org Foundation and the Ogg project reserve
10853 the right to set the Ogg [Vorbis/Theora] specification and certify
10854 specification compliance.
10855
10856 </blockquote>
10857
10858 <p>The Ogg container format is specified in IETF
10859 <a href="http://www.xiph.org/ogg/doc/rfc3533.txt">RFC 3533</a>, and
10860 this is the term:<p>
10861
10862 <blockquote>
10863
10864 <p>This document and translations of it may be copied and furnished to
10865 others, and derivative works that comment on or otherwise explain it
10866 or assist in its implementation may be prepared, copied, published and
10867 distributed, in whole or in part, without restriction of any kind,
10868 provided that the above copyright notice and this paragraph are
10869 included on all such copies and derivative works. However, this
10870 document itself may not be modified in any way, such as by removing
10871 the copyright notice or references to the Internet Society or other
10872 Internet organizations, except as needed for the purpose of developing
10873 Internet standards in which case the procedures for copyrights defined
10874 in the Internet Standards process must be followed, or as required to
10875 translate it into languages other than English.</p>
10876
10877 <p>The limited permissions granted above are perpetual and will not be
10878 revoked by the Internet Society or its successors or assigns.</p>
10879 </blockquote>
10880
10881 <p>All these terms seem to allow unlimited distribution and use, an
10882 this term seem to be fulfilled. There might be a problem with the
10883 missing permission to distribute modified versions of the text, and
10884 thus reuse it in other specifications. Not quite sure if that is a
10885 requirement for the Digistan definition.</p>
10886
10887 <p><strong>Royalty-free?</strong></p>
10888
10889 <p>There are no known patent claims requiring royalties for the Ogg
10890 Theora format.
10891 <a href="http://www.streamingmedia.com/Articles/ReadArticle.aspx?ArticleID=65782">MPEG-LA</a>
10892 and
10893 <a href="http://yro.slashdot.org/story/10/04/30/237238/Steve-Jobs-Hints-At-Theora-Lawsuit">Steve
10894 Jobs</a> in Apple claim to know about some patent claims (submarine
10895 patents) against the Theora format, but no-one else seem to believe
10896 them. Both Opera Software and the Mozilla Foundation have looked into
10897 this and decided to implement Ogg Theora support in their browsers
10898 without paying any royalties. For now the claims from MPEG-LA and
10899 Steve Jobs seem more like FUD to scare people to use the H.264 codec
10900 than any real problem with Ogg Theora.</p>
10901
10902 <p><strong>No constraints on re-use?</strong></p>
10903
10904 <p>I am not aware of any constraints on re-use.</p>
10905
10906 <p><strong>Conclusion</strong></p>
10907
10908 <p>3 of 5 requirements seem obviously fulfilled, and the remaining 2
10909 depend on the governing structure of the Xiph foundation. Given the
10910 background report used by the Norwegian government, I believe it is
10911 safe to assume the last two requirements are fulfilled too, but it
10912 would be nice if the Xiph foundation web site made it easier to verify
10913 this.</p>
10914
10915 <p>It would be nice to see other analysis of other specifications to
10916 see if they are free and open standards.</p>
10917
10918 </div>
10919 <div class="tags">
10920
10921
10922 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>.
10923
10924
10925 </div>
10926 </div>
10927 <div class="padding"></div>
10928
10929 <div class="entry">
10930 <div class="title">
10931 <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>
10932 </div>
10933 <div class="date">
10934 25th December 2010
10935 </div>
10936 <div class="body">
10937 <p>A few days ago
10938 <a href="http://www.idg.no/computerworld/article189879.ece">an
10939 article</a> in the Norwegian Computerworld magazine about how version
10940 2.0 of
10941 <a href="http://en.wikipedia.org/wiki/European_Interoperability_Framework">European
10942 Interoperability Framework</a> has been successfully lobbied by the
10943 proprietary software industry to remove the focus on free software.
10944 Nothing very surprising there, given
10945 <a href="http://news.slashdot.org/story/10/03/29/2115235/Open-Source-Open-Standards-Under-Attack-In-Europe">earlier
10946 reports</a> on how Microsoft and others have stacked the committees in
10947 this work. But I find this very sad. The definition of
10948 <a href="http://www.nuug.no/dokumenter/standard-presse-def-200506.txt">an
10949 open standard from version 1</a> was very good, and something I
10950 believe should be used also in the future, alongside
10951 <a href="http://www.digistan.org/open-standard:definition">the
10952 definition from Digistan</A>. Version 2 have removed the open
10953 standard definition from its content.</p>
10954
10955 <p>Anyway, the news reminded me of the great reply sent by Dr. Edgar
10956 Villanueva, congressman in Peru at the time, to Microsoft as a reply
10957 to Microsofts attack on his proposal regarding the use of free software
10958 in the public sector in Peru. As the text was not available from a
10959 few of the URLs where it used to be available, I copy it here from
10960 <a href="http://gnuwin.epfl.ch/articles/en/reponseperou/villanueva_to_ms.html">my
10961 source</a> to ensure it is available also in the future. Some
10962 background information about that story is available in
10963 <a href="http://www.linuxjournal.com/article/6099">an article</a> from
10964 Linux Journal in 2002.</p>
10965
10966 <blockquote>
10967 <p>Lima, 8th of April, 2002<br>
10968 To: Señor JUAN ALBERTO GONZÁLEZ<br>
10969 General Manager of Microsoft Perú</p>
10970
10971 <p>Dear Sir:</p>
10972
10973 <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>
10974
10975 <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>
10976
10977 <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>
10978
10979 <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>
10980
10981 <p>
10982 <ul>
10983 <li>Free access to public information by the citizen. </li>
10984 <li>Permanence of public data. </li>
10985 <li>Security of the State and citizens.</li>
10986 </ul>
10987 </p>
10988
10989 <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>
10990
10991 <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>
10992
10993 <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>
10994
10995 <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>
10996
10997 <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>
10998
10999
11000 <p>From reading the Bill it will be clear that once passed:<br>
11001 <li>the law does not forbid the production of proprietary software</li>
11002 <li>the law does not forbid the sale of proprietary software</li>
11003 <li>the law does not specify which concrete software to use</li>
11004 <li>the law does not dictate the supplier from whom software will be bought</li>
11005 <li>the law does not limit the terms under which a software product can be licensed.</li>
11006
11007 </p>
11008
11009 <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>
11010
11011 <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>
11012
11013 <p>As for the observations you have made, we will now go on to analyze them in detail:</p>
11014
11015 <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>
11016
11017 <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>
11018
11019 <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>
11020
11021 <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>
11022
11023 <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>
11024
11025 <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>
11026
11027 <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>
11028
11029 <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>
11030
11031 <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>
11032
11033 <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>
11034
11035 <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>
11036
11037 <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>
11038
11039 <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>
11040
11041 <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>
11042
11043 <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>
11044
11045 <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>
11046
11047 <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>
11048
11049 <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>
11050
11051 <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>
11052
11053 <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>
11054
11055 <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>
11056
11057 <p>On security:</p>
11058
11059 <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>
11060
11061 <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>
11062
11063 <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>
11064
11065 <p>In respect of the guarantee:</p>
11066
11067 <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>
11068
11069 <p>On Intellectual Property:</p>
11070
11071 <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>
11072
11073 <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>
11074
11075 <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>
11076
11077 <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>
11078
11079 <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>
11080
11081 <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>
11082
11083 <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>
11084
11085 <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>
11086
11087 <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>
11088
11089 <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>
11090
11091 <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>
11092
11093 <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>
11094
11095 <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>
11096
11097 <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>
11098
11099 <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>
11100
11101 <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>
11102
11103 <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>
11104
11105 <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>
11106
11107 <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>
11108
11109 <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>
11110
11111 <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>
11112
11113 <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>
11114
11115 <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>
11116
11117 <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>
11118
11119 <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>
11120
11121 <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>
11122
11123 <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>
11124
11125 <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>
11126
11127 <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>
11128
11129 <p>Cordially,<br>
11130 DR. EDGAR DAVID VILLANUEVA NUÑEZ<br>
11131 Congressman of the Republic of Perú.</p>
11132 </blockquote>
11133
11134 </div>
11135 <div class="tags">
11136
11137
11138 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>.
11139
11140
11141 </div>
11142 </div>
11143 <div class="padding"></div>
11144
11145 <div class="entry">
11146 <div class="title">
11147 <a href="http://people.skolelinux.org/pere/blog/Officeshots_still_going_strong.html">Officeshots still going strong</a>
11148 </div>
11149 <div class="date">
11150 25th December 2010
11151 </div>
11152 <div class="body">
11153 <p>Half a year ago I
11154 <a href="http://people.skolelinux.org/pere/blog/Officeshots_taking_shape.html">wrote
11155 a bit</a> about <a href="http://www.officeshots.org/">OfficeShots</a>,
11156 a web service to allow anyone to test how ODF documents are handled by
11157 the different programs reading and writing the ODF format.</p>
11158
11159 <p>I just had a look at the service, and it seem to be going strong.
11160 Very interesting to see the results reported in the gallery, how
11161 different Office implementations handle different ODF features. Sad
11162 to see that KOffice was not doing it very well, and happy to see that
11163 LibreOffice has been tested already (but sadly not listed as a option
11164 for OfficeShots users yet). I am glad to see that the ODF community
11165 got such a great test tool available.</p>
11166
11167 </div>
11168 <div class="tags">
11169
11170
11171 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>.
11172
11173
11174 </div>
11175 </div>
11176 <div class="padding"></div>
11177
11178 <div class="entry">
11179 <div class="title">
11180 <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>
11181 </div>
11182 <div class="date">
11183 22nd December 2010
11184 </div>
11185 <div class="body">
11186 <p>The last few days I have spent at work here at the <a
11187 href="http://www.uio.no/">University of Oslo</a> testing if the new
11188 batch of computers will work with Linux. Every year for the last few
11189 years the university have organised shared bid of a few thousand
11190 computers, and this year HP won the bid. Two different desktops and
11191 five different laptops are on the list this year. We in the UNIX
11192 group want to know which one of these computers work well with RHEL
11193 and Ubuntu, the two Linux distributions we currently handle at the
11194 university.</p>
11195
11196 <p>My test method is simple, and I share it here to get feedback and
11197 perhaps inspire others to test hardware as well. To test, I PXE
11198 install the OS version of choice, and log in as my normal user and run
11199 a few applications and plug in selected pieces of hardware. When
11200 something fail, I make a note about this in the test matrix and move
11201 on. If I have some spare time I try to report the bug to the OS
11202 vendor, but as I only have the machines for a short time, I rarely
11203 have the time to do this for all the problems I find.</p>
11204
11205 <p>Anyway, to get to the point of this post. Here is the simple tests
11206 I perform on a new model.</p>
11207
11208 <ul>
11209
11210 <li>Is PXE installation working? I'm testing with RHEL6, Ubuntu Lucid
11211 and Ubuntu Maverik at the moment. If I feel like it, I also test with
11212 RHEL5 and Debian Edu/Squeeze.</li>
11213
11214 <li>Is X.org working? If the graphical login screen show up after
11215 installation, X.org is working.</li>
11216
11217 <li>Is hardware accelerated OpenGL working? Running glxgears (in
11218 package mesa-utils on Ubuntu) and writing down the frames per second
11219 reported by the program.</li>
11220
11221 <li>Is sound working? With Gnome and KDE, a sound is played when
11222 logging in, and if I can hear this the test is successful. If there
11223 are several audio exits on the machine, I try them all and check if
11224 the Gnome/KDE audio mixer can control where to send the sound. I
11225 normally test this by playing
11226 <a href="http://www.nuug.no/aktiviteter/20101012-chef/ ">a HTML5
11227 video</a> in Firefox/Iceweasel.</li>
11228
11229 <li>Is the USB subsystem working? I test this by plugging in a USB
11230 memory stick and see if Gnome/KDE notices this.</li>
11231
11232 <li>Is the CD/DVD player working? I test this by inserting any CD/DVD
11233 I have lying around, and see if Gnome/KDE notices this.</li>
11234
11235 <li>Is any built in camera working? Test using cheese, and see if a
11236 picture from the v4l device show up.</li>
11237
11238 <li>Is bluetooth working? Use the Gnome/KDE browsing tool to see if
11239 any bluetooth devices are discovered. In my office, I normally see a
11240 few.</li>
11241
11242 <li>For laptops, is the SD or Compaq Flash reader working. I have
11243 memory modules lying around, and stick them in and see if Gnome/KDE
11244 notice this.</li>
11245
11246 <li>For laptops, is suspend/hibernate working? I'm testing if the
11247 special button work, and if the laptop continue to work after
11248 resume.</li>
11249
11250 <li>For laptops, is the extra buttons working, like audio level,
11251 adjusting background light, switching on/off external video output,
11252 switching on/off wifi, bluetooth, etc? The set of buttons differ from
11253 laptop to laptop, so I just write down which are working and which are
11254 not.</li>
11255
11256 <li>Some laptops have smart card readers, finger print readers,
11257 acceleration sensors etc. I rarely test these, as I do not know how
11258 to quickly test if they are working or not, so I only document their
11259 existence.</li>
11260
11261 </ul>
11262
11263 <p>By now I suspect you are really curious what the test results are
11264 for the HP machines I am testing. I'm not done yet, so I will report
11265 the test results later. For now I can report that HP 8100 Elite work
11266 fine, and hibernation fail with HP EliteBook 8440p on Ubuntu Lucid,
11267 and audio fail on RHEL6. Ubuntu Maverik worked with 8440p. As you
11268 can see, I have most machines left to test. One interesting
11269 observation is that Ubuntu Lucid has almost twice the frame rate than
11270 RHEL6 with glxgears. No idea why.</p>
11271
11272 </div>
11273 <div class="tags">
11274
11275
11276 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>.
11277
11278
11279 </div>
11280 </div>
11281 <div class="padding"></div>
11282
11283 <div class="entry">
11284 <div class="title">
11285 <a href="http://people.skolelinux.org/pere/blog/Some_thoughts_on_BitCoins.html">Some thoughts on BitCoins</a>
11286 </div>
11287 <div class="date">
11288 11th December 2010
11289 </div>
11290 <div class="body">
11291 <p>As I continue to explore
11292 <a href="http://www.bitcoin.org/">BitCoin</a>, I've starting to wonder
11293 what properties the system have, and how it will be affected by laws
11294 and regulations here in Norway. Here are some random notes.</p>
11295
11296 <p>One interesting thing to note is that since the transactions are
11297 verified using a peer to peer network, all details about a transaction
11298 is known to everyone. This means that if a BitCoin address has been
11299 published like I did with mine in my initial post about BitCoin, it is
11300 possible for everyone to see how many BitCoins have been transfered to
11301 that address. There is even a web service to look at the details for
11302 all transactions. There I can see that my address
11303 <a href="http://blockexplorer.com/address/15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a>
11304 have received 16.06 Bitcoin, the
11305 <a href="http://blockexplorer.com/address/1LfdGnGuWkpSJgbQySxxCWhv8MHqvwst3">1LfdGnGuWkpSJgbQySxxCWhv8MHqvwst3</a>
11306 address of Simon Phipps have received 181.97 BitCoin and the address
11307 <a href="http://blockexplorer.com/address/1MCwBbhNGp5hRm5rC1Aims2YFRe2SXPYKt">1MCwBbhNGp5hRm5rC1Aims2YFRe2SXPYKt</A>
11308 of EFF have received 2447.38 BitCoins so far. Thank you to each and
11309 every one of you that donated bitcoins to support my activity. The
11310 fact that anyone can see how much money was transfered to a given
11311 address make it more obvious why the BitCoin community recommend to
11312 generate and hand out a new address for each transaction. I'm told
11313 there is no way to track which addresses belong to a given person or
11314 organisation without the person or organisation revealing it
11315 themselves, as Simon, EFF and I have done.</p>
11316
11317 <p>In Norway, and in most other countries, there are laws and
11318 regulations limiting how much money one can transfer across the border
11319 without declaring it. There are money laundering, tax and accounting
11320 laws and regulations I would expect to apply to the use of BitCoin.
11321 If the Skolelinux foundation
11322 (<a href="http://linuxiskolen.no/slxdebianlabs/donations.html">SLX
11323 Debian Labs</a>) were to accept donations in BitCoin in addition to
11324 normal bank transfers like EFF is doing, how should this be accounted?
11325 Given that it is impossible to know if money can cross the border or
11326 not, should everything or nothing be declared? What exchange rate
11327 should be used when calculating taxes? Would receivers have to pay
11328 income tax if the foundation were to pay Skolelinux contributors in
11329 BitCoin? I have no idea, but it would be interesting to know.</p>
11330
11331 <p>For a currency to be useful and successful, it must be trusted and
11332 accepted by a lot of users. It must be possible to get easy access to
11333 the currency (as a wage or using currency exchanges), and it must be
11334 easy to spend it. At the moment BitCoin seem fairly easy to get
11335 access to, but there are very few places to spend it. I am not really
11336 a regular user of any of the vendor types currently accepting BitCoin,
11337 so I wonder when my kind of shop would start accepting BitCoins. I
11338 would like to buy electronics, travels and subway tickets, not herbs
11339 and books. :) The currency is young, and this will improve over time
11340 if it become popular, but I suspect regular banks will start to lobby
11341 to get BitCoin declared illegal if it become popular. I'm sure they
11342 will claim it is helping fund terrorism and money laundering (which
11343 probably would be true, as is any currency in existence), but I
11344 believe the problems should be solved elsewhere and not by blaming
11345 currencies.</p>
11346
11347 <p>The process of creating new BitCoins is called mining, and it is
11348 CPU intensive process that depend on a bit of luck as well (as one is
11349 competing against all the other miners currently spending CPU cycles
11350 to see which one get the next lump of cash). The "winner" get 50
11351 BitCoin when this happen. Yesterday I came across the obvious way to
11352 join forces to increase ones changes of getting at least some coins,
11353 by coordinating the work on mining BitCoins across several machines
11354 and people, and sharing the result if one is lucky and get the 50
11355 BitCoins. Check out
11356 <a href="http://www.bluishcoder.co.nz/bitcoin-pool/">BitCoin Pool</a>
11357 if this sounds interesting. I have not had time to try to set up a
11358 machine to participate there yet, but have seen that running on ones
11359 own for a few days have not yield any BitCoins througth mining
11360 yet.</p>
11361
11362 <p>Update 2010-12-15: Found an <a
11363 href="http://inertia.posterous.com/reply-to-the-underground-economist-why-bitcoi">interesting
11364 criticism</a> of bitcoin. Not quite sure how valid it is, but thought
11365 it was interesting to read. The arguments presented seem to be
11366 equally valid for gold, which was used as a currency for many years.</p>
11367
11368 </div>
11369 <div class="tags">
11370
11371
11372 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>.
11373
11374
11375 </div>
11376 </div>
11377 <div class="padding"></div>
11378
11379 <div class="entry">
11380 <div class="title">
11381 <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>
11382 </div>
11383 <div class="date">
11384 10th December 2010
11385 </div>
11386 <div class="body">
11387 <p>With this weeks lawless
11388 <a href="http://www.salon.com/news/opinion/glenn_greenwald/2010/12/06/wikileaks/index.html">governmental
11389 attacks</a> on Wikileak and
11390 <a href="http://www.salon.com/technology/dan_gillmor/2010/12/06/war_on_speech">free
11391 speech</a>, it has become obvious that PayPal, visa and mastercard can
11392 not be trusted to handle money transactions.
11393 A blog post from
11394 <a href="http://webmink.com/2010/12/06/now-accepting-bitcoin/">Simon
11395 Phipps on bitcoin</a> reminded me about a project that a friend of
11396 mine mentioned earlier. I decided to follow Simon's example, and get
11397 involved with <a href="http://www.bitcoin.org/">BitCoin</a>. I got
11398 some help from my friend to get it all running, and he even handed me
11399 some bitcoins to get started. I even donated a few bitcoins to Simon
11400 for helping me remember BitCoin.</p>
11401
11402 <p>So, what is bitcoins, you probably wonder? It is a digital
11403 crypto-currency, decentralised and handled using peer-to-peer
11404 networks. It allows anonymous transactions and prohibits central
11405 control over the transactions, making it impossible for governments
11406 and companies alike to block donations and other transactions. The
11407 source is free software, and while the key dependency wxWidgets 2.9
11408 for the graphical user interface is missing in Debian, the command
11409 line client builds just fine. Hopefully Jonas
11410 <a href="http://bugs.debian.org/578157">will get the package into
11411 Debian</a> soon.</p>
11412
11413 <p>Bitcoins can be converted to other currencies, like USD and EUR.
11414 There are <a href="http://www.bitcoin.org/trade">companies accepting
11415 bitcoins</a> when selling services and goods, and there are even
11416 currency "stock" markets where the exchange rate is decided. There
11417 are not many users so far, but the concept seems promising. If you
11418 want to get started and lack a friend with any bitcoins to spare,
11419 you can even get
11420 <a href="https://freebitcoins.appspot.com/">some for free</a> (0.05
11421 bitcoin at the time of writing). Use
11422 <a href="http://www.bitcoinwatch.com/">BitcoinWatch</a> to keep an eye
11423 on the current exchange rates.</p>
11424
11425 <p>As an experiment, I have decided to set up bitcoind on one of my
11426 machines. If you want to support my activity, please send Bitcoin
11427 donations to the address
11428 <b>15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</b>. Thank you!</p>
11429
11430 </div>
11431 <div class="tags">
11432
11433
11434 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>.
11435
11436
11437 </div>
11438 </div>
11439 <div class="padding"></div>
11440
11441 <div class="entry">
11442 <div class="title">
11443 <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>
11444 </div>
11445 <div class="date">
11446 9th December 2010
11447 </div>
11448 <div class="body">
11449 <p>A few days ago, I was introduces to some students in the robot
11450 student assosiation <a href="http://www.robotica.no/">Robotica
11451 Osloensis</a> at the University of Oslo where I work, who planned to
11452 get their own 3D printer. They wanted to learn from me based on my
11453 work in the area. After having a short lunch meeting with them, I
11454 offered them to borrow my reprap kit, as I never had time to complete
11455 the build and this seem unlike to change any time soon. I look
11456 forward to see how this goes. This monday their volunteer driver
11457 picked up my kit and drove it to their lab, and tomorrow I am told the
11458 last exam is over so they can start work on getting the 3D printer
11459 operational.</p>
11460
11461 <p>The robotic group have already build several robots on their own,
11462 and seem capable of getting the reprap operational. I really look
11463 forward to being able to print all the cool 3D designs published on
11464 <a href="http://www.thingiverse.com/">Thingiverse</a>. I even got
11465 some 3D scans I got made during Dagen@IFI when one of the groups at
11466 the computer science department at the university demonstrated their
11467 very cool 3D scanner.</p>
11468
11469 </div>
11470 <div class="tags">
11471
11472
11473 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>.
11474
11475
11476 </div>
11477 </div>
11478 <div class="padding"></div>
11479
11480 <div class="entry">
11481 <div class="title">
11482 <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>
11483 </div>
11484 <div class="date">
11485 29th November 2010
11486 </div>
11487 <div class="body">
11488 <p>On friday, the first Debian Edu / Skolelinux
11489 <a href="http://www.friprogramvareiskolen.no/Gathering/2010-12-03-05-Oslo">development
11490 gathering</a> in a long time take place here in Oslo, Norway. I
11491 really look forward to seeing all the good people working on the
11492 Squeeze release. The gathering is open for everyone interested in
11493 learning more about Debian Edu / Skolelinux.</p>
11494
11495 <p>On Saturday, the Norwegian member organization taking care of
11496 organizing these development gatherings, Fri Programvare i Skolen,
11497 will hold its
11498 <a href="http://friprogramvareiskolen.no/Genfors/2010">General Assembly
11499 for 2010</a>. Membership is open for all, and currently there are 388
11500 people registered as members. Last year 32 members cast their vote in
11501 the memberdb based election system. I hope more people find time to
11502 vote this year.</p>
11503
11504 </div>
11505 <div class="tags">
11506
11507
11508 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>.
11509
11510
11511 </div>
11512 </div>
11513 <div class="padding"></div>
11514
11515 <div class="entry">
11516 <div class="title">
11517 <a href="http://people.skolelinux.org/pere/blog/Why_isn_t_Debian_Edu_using_VLC_.html">Why isn't Debian Edu using VLC?</a>
11518 </div>
11519 <div class="date">
11520 27th November 2010
11521 </div>
11522 <div class="body">
11523 <p>In the latest issue of Linux Journal, the readers choices were
11524 presented, and the winner among the multimedia player were VLC.
11525 Personally, I like VLC, and it is my player of choice when I first try
11526 to play a video file or stream. Only if VLC fail will I drag out
11527 gmplayer to see if it can do better. The reason is mostly the failure
11528 model and trust. When VLC fail, it normally pop up a error message
11529 reporting the problem. When mplayer fail, it normally segfault or
11530 just hangs. The latter failure mode drain my trust in the program.<p>
11531
11532 <p>But even if VLC is my player of choice, we have choosen to use
11533 mplayer in <a href="http://www.skolelinux.org/">Debian
11534 Edu/Skolelinux</a>. The reason is simple. We need a good browser
11535 plugin to play web videos seamlessly, and the VLC browser plugin is
11536 not very good. For example, it lack in-line control buttons, so there
11537 is no way for the user to pause the video. Also, when I
11538 <a href="http://wiki.debian.org/DebianEdu/BrowserMultimedia">last
11539 tested the browser plugins</a> available in Debian, the VLC plugin
11540 failed on several video pages where mplayer based plugins worked. If
11541 the browser plugin for VLC was as good as the gecko-mediaplayer
11542 package (which uses mplayer), we would switch.</P>
11543
11544 <p>While VLC is a good player, its user interface is slightly
11545 annoying. The most annoying feature is its inconsistent use of
11546 keyboard shortcuts. When the player is in full screen mode, its
11547 shortcuts are different from when it is playing the video in a window.
11548 For example, space only work as pause when in full screen mode. I
11549 wish it had consisten shortcuts and that space also would work when in
11550 window mode. Another nice shortcut in gmplayer is [enter] to restart
11551 the current video. It is very nice when playing short videos from the
11552 web and want to restart it when new people arrive to have a look at
11553 what is going on.</p>
11554
11555 </div>
11556 <div class="tags">
11557
11558
11559 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>.
11560
11561
11562 </div>
11563 </div>
11564 <div class="padding"></div>
11565
11566 <div class="entry">
11567 <div class="title">
11568 <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>
11569 </div>
11570 <div class="date">
11571 22nd November 2010
11572 </div>
11573 <div class="body">
11574 <p>Michael Biebl suggested to me on IRC, that I changed my automated
11575 upgrade testing of the
11576 <a href="http://people.skolelinux.org/~pere/debian-upgrade-testing/">Lenny
11577 Gnome and KDE Desktop</a> to do <tt>apt-get autoremove</tt> when using apt-get.
11578 This seem like a very good idea, so I adjusted by test scripts and
11579 can now present the updated result from today:</p>
11580
11581 <p>This is for Gnome:</p>
11582
11583 <p>Installed using apt-get, missing with aptitude</p>
11584
11585 <blockquote><p>
11586 apache2.2-bin
11587 aptdaemon
11588 baobab
11589 binfmt-support
11590 browser-plugin-gnash
11591 cheese-common
11592 cli-common
11593 cups-pk-helper
11594 dmz-cursor-theme
11595 empathy
11596 empathy-common
11597 freedesktop-sound-theme
11598 freeglut3
11599 gconf-defaults-service
11600 gdm-themes
11601 gedit-plugins
11602 geoclue
11603 geoclue-hostip
11604 geoclue-localnet
11605 geoclue-manual
11606 geoclue-yahoo
11607 gnash
11608 gnash-common
11609 gnome
11610 gnome-backgrounds
11611 gnome-cards-data
11612 gnome-codec-install
11613 gnome-core
11614 gnome-desktop-environment
11615 gnome-disk-utility
11616 gnome-screenshot
11617 gnome-search-tool
11618 gnome-session-canberra
11619 gnome-system-log
11620 gnome-themes-extras
11621 gnome-themes-more
11622 gnome-user-share
11623 gstreamer0.10-fluendo-mp3
11624 gstreamer0.10-tools
11625 gtk2-engines
11626 gtk2-engines-pixbuf
11627 gtk2-engines-smooth
11628 hamster-applet
11629 libapache2-mod-dnssd
11630 libapr1
11631 libaprutil1
11632 libaprutil1-dbd-sqlite3
11633 libaprutil1-ldap
11634 libart2.0-cil
11635 libboost-date-time1.42.0
11636 libboost-python1.42.0
11637 libboost-thread1.42.0
11638 libchamplain-0.4-0
11639 libchamplain-gtk-0.4-0
11640 libcheese-gtk18
11641 libclutter-gtk-0.10-0
11642 libcryptui0
11643 libdiscid0
11644 libelf1
11645 libepc-1.0-2
11646 libepc-common
11647 libepc-ui-1.0-2
11648 libfreerdp-plugins-standard
11649 libfreerdp0
11650 libgconf2.0-cil
11651 libgdata-common
11652 libgdata7
11653 libgdu-gtk0
11654 libgee2
11655 libgeoclue0
11656 libgexiv2-0
11657 libgif4
11658 libglade2.0-cil
11659 libglib2.0-cil
11660 libgmime2.4-cil
11661 libgnome-vfs2.0-cil
11662 libgnome2.24-cil
11663 libgnomepanel2.24-cil
11664 libgpod-common
11665 libgpod4
11666 libgtk2.0-cil
11667 libgtkglext1
11668 libgtksourceview2.0-common
11669 libmono-addins-gui0.2-cil
11670 libmono-addins0.2-cil
11671 libmono-cairo2.0-cil
11672 libmono-corlib2.0-cil
11673 libmono-i18n-west2.0-cil
11674 libmono-posix2.0-cil
11675 libmono-security2.0-cil
11676 libmono-sharpzip2.84-cil
11677 libmono-system2.0-cil
11678 libmtp8
11679 libmusicbrainz3-6
11680 libndesk-dbus-glib1.0-cil
11681 libndesk-dbus1.0-cil
11682 libopal3.6.8
11683 libpolkit-gtk-1-0
11684 libpt2.6.7
11685 libpython2.6
11686 librpm1
11687 librpmio1
11688 libsdl1.2debian
11689 libsrtp0
11690 libssh-4
11691 libtelepathy-farsight0
11692 libtelepathy-glib0
11693 libtidy-0.99-0
11694 media-player-info
11695 mesa-utils
11696 mono-2.0-gac
11697 mono-gac
11698 mono-runtime
11699 nautilus-sendto
11700 nautilus-sendto-empathy
11701 p7zip-full
11702 pkg-config
11703 python-aptdaemon
11704 python-aptdaemon-gtk
11705 python-axiom
11706 python-beautifulsoup
11707 python-bugbuddy
11708 python-clientform
11709 python-coherence
11710 python-configobj
11711 python-crypto
11712 python-cupshelpers
11713 python-elementtree
11714 python-epsilon
11715 python-evolution
11716 python-feedparser
11717 python-gdata
11718 python-gdbm
11719 python-gst0.10
11720 python-gtkglext1
11721 python-gtksourceview2
11722 python-httplib2
11723 python-louie
11724 python-mako
11725 python-markupsafe
11726 python-mechanize
11727 python-nevow
11728 python-notify
11729 python-opengl
11730 python-openssl
11731 python-pam
11732 python-pkg-resources
11733 python-pyasn1
11734 python-pysqlite2
11735 python-rdflib
11736 python-serial
11737 python-tagpy
11738 python-twisted-bin
11739 python-twisted-conch
11740 python-twisted-core
11741 python-twisted-web
11742 python-utidylib
11743 python-webkit
11744 python-xdg
11745 python-zope.interface
11746 remmina
11747 remmina-plugin-data
11748 remmina-plugin-rdp
11749 remmina-plugin-vnc
11750 rhythmbox-plugin-cdrecorder
11751 rhythmbox-plugins
11752 rpm-common
11753 rpm2cpio
11754 seahorse-plugins
11755 shotwell
11756 software-center
11757 system-config-printer-udev
11758 telepathy-gabble
11759 telepathy-mission-control-5
11760 telepathy-salut
11761 tomboy
11762 totem
11763 totem-coherence
11764 totem-mozilla
11765 totem-plugins
11766 transmission-common
11767 xdg-user-dirs
11768 xdg-user-dirs-gtk
11769 xserver-xephyr
11770 </p></blockquote>
11771
11772 <p>Installed using apt-get, removed with aptitude</p>
11773
11774 <blockquote><p>
11775 cheese
11776 ekiga
11777 eog
11778 epiphany-extensions
11779 evolution-exchange
11780 fast-user-switch-applet
11781 file-roller
11782 gcalctool
11783 gconf-editor
11784 gdm
11785 gedit
11786 gedit-common
11787 gnome-games
11788 gnome-games-data
11789 gnome-nettool
11790 gnome-system-tools
11791 gnome-themes
11792 gnuchess
11793 gucharmap
11794 guile-1.8-libs
11795 libavahi-ui0
11796 libdmx1
11797 libgalago3
11798 libgtk-vnc-1.0-0
11799 libgtksourceview2.0-0
11800 liblircclient0
11801 libsdl1.2debian-alsa
11802 libspeexdsp1
11803 libsvga1
11804 rhythmbox
11805 seahorse
11806 sound-juicer
11807 system-config-printer
11808 totem-common
11809 transmission-gtk
11810 vinagre
11811 vino
11812 </p></blockquote>
11813
11814 <p>Installed using aptitude, missing with apt-get</p>
11815
11816 <blockquote><p>
11817 gstreamer0.10-gnomevfs
11818 </p></blockquote>
11819
11820 <p>Installed using aptitude, removed with apt-get</p>
11821
11822 <blockquote><p>
11823 [nothing]
11824 </p></blockquote>
11825
11826 <p>This is for KDE:</p>
11827
11828 <p>Installed using apt-get, missing with aptitude</p>
11829
11830 <blockquote><p>
11831 ksmserver
11832 </p></blockquote>
11833
11834 <p>Installed using apt-get, removed with aptitude</p>
11835
11836 <blockquote><p>
11837 kwin
11838 network-manager-kde
11839 </p></blockquote>
11840
11841 <p>Installed using aptitude, missing with apt-get</p>
11842
11843 <blockquote><p>
11844 arts
11845 dolphin
11846 freespacenotifier
11847 google-gadgets-gst
11848 google-gadgets-xul
11849 kappfinder
11850 kcalc
11851 kcharselect
11852 kde-core
11853 kde-plasma-desktop
11854 kde-standard
11855 kde-window-manager
11856 kdeartwork
11857 kdeartwork-emoticons
11858 kdeartwork-style
11859 kdeartwork-theme-icon
11860 kdebase
11861 kdebase-apps
11862 kdebase-workspace
11863 kdebase-workspace-bin
11864 kdebase-workspace-data
11865 kdeeject
11866 kdelibs
11867 kdeplasma-addons
11868 kdeutils
11869 kdewallpapers
11870 kdf
11871 kfloppy
11872 kgpg
11873 khelpcenter4
11874 kinfocenter
11875 konq-plugins-l10n
11876 konqueror-nsplugins
11877 kscreensaver
11878 kscreensaver-xsavers
11879 ktimer
11880 kwrite
11881 libgle3
11882 libkde4-ruby1.8
11883 libkonq5
11884 libkonq5-templates
11885 libnetpbm10
11886 libplasma-ruby
11887 libplasma-ruby1.8
11888 libqt4-ruby1.8
11889 marble-data
11890 marble-plugins
11891 netpbm
11892 nuvola-icon-theme
11893 plasma-dataengines-workspace
11894 plasma-desktop
11895 plasma-desktopthemes-artwork
11896 plasma-runners-addons
11897 plasma-scriptengine-googlegadgets
11898 plasma-scriptengine-python
11899 plasma-scriptengine-qedje
11900 plasma-scriptengine-ruby
11901 plasma-scriptengine-webkit
11902 plasma-scriptengines
11903 plasma-wallpapers-addons
11904 plasma-widget-folderview
11905 plasma-widget-networkmanagement
11906 ruby
11907 sweeper
11908 update-notifier-kde
11909 xscreensaver-data-extra
11910 xscreensaver-gl
11911 xscreensaver-gl-extra
11912 xscreensaver-screensaver-bsod
11913 </p></blockquote>
11914
11915 <p>Installed using aptitude, removed with apt-get</p>
11916
11917 <blockquote><p>
11918 ark
11919 google-gadgets-common
11920 google-gadgets-qt
11921 htdig
11922 kate
11923 kdebase-bin
11924 kdebase-data
11925 kdepasswd
11926 kfind
11927 klipper
11928 konq-plugins
11929 konqueror
11930 ksysguard
11931 ksysguardd
11932 libarchive1
11933 libcln6
11934 libeet1
11935 libeina-svn-06
11936 libggadget-1.0-0b
11937 libggadget-qt-1.0-0b
11938 libgps19
11939 libkdecorations4
11940 libkephal4
11941 libkonq4
11942 libkonqsidebarplugin4a
11943 libkscreensaver5
11944 libksgrd4
11945 libksignalplotter4
11946 libkunitconversion4
11947 libkwineffects1a
11948 libmarblewidget4
11949 libntrack-qt4-1
11950 libntrack0
11951 libplasma-geolocation-interface4
11952 libplasmaclock4a
11953 libplasmagenericshell4
11954 libprocesscore4a
11955 libprocessui4a
11956 libqalculate5
11957 libqedje0a
11958 libqtruby4shared2
11959 libqzion0a
11960 libruby1.8
11961 libscim8c2a
11962 libsmokekdecore4-3
11963 libsmokekdeui4-3
11964 libsmokekfile3
11965 libsmokekhtml3
11966 libsmokekio3
11967 libsmokeknewstuff2-3
11968 libsmokeknewstuff3-3
11969 libsmokekparts3
11970 libsmokektexteditor3
11971 libsmokekutils3
11972 libsmokenepomuk3
11973 libsmokephonon3
11974 libsmokeplasma3
11975 libsmokeqtcore4-3
11976 libsmokeqtdbus4-3
11977 libsmokeqtgui4-3
11978 libsmokeqtnetwork4-3
11979 libsmokeqtopengl4-3
11980 libsmokeqtscript4-3
11981 libsmokeqtsql4-3
11982 libsmokeqtsvg4-3
11983 libsmokeqttest4-3
11984 libsmokeqtuitools4-3
11985 libsmokeqtwebkit4-3
11986 libsmokeqtxml4-3
11987 libsmokesolid3
11988 libsmokesoprano3
11989 libtaskmanager4a
11990 libtidy-0.99-0
11991 libweather-ion4a
11992 libxklavier16
11993 libxxf86misc1
11994 okteta
11995 oxygencursors
11996 plasma-dataengines-addons
11997 plasma-scriptengine-superkaramba
11998 plasma-widget-lancelot
11999 plasma-widgets-addons
12000 plasma-widgets-workspace
12001 polkit-kde-1
12002 ruby1.8
12003 systemsettings
12004 update-notifier-common
12005 </p></blockquote>
12006
12007 <p>Running apt-get autoremove made the results using apt-get and
12008 aptitude a bit more similar, but there are still quite a lott of
12009 differences. I have no idea what packages should be installed after
12010 the upgrade, but hope those that do can have a look.</p>
12011
12012 </div>
12013 <div class="tags">
12014
12015
12016 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>.
12017
12018
12019 </div>
12020 </div>
12021 <div class="padding"></div>
12022
12023 <div class="entry">
12024 <div class="title">
12025 <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>
12026 </div>
12027 <div class="date">
12028 22nd November 2010
12029 </div>
12030 <div class="body">
12031 <p>Most of the computers in use by the
12032 <a href="http://www.skolelinux.org/">Debian Edu/Skolelinux project</a>
12033 are virtual machines. And they have been Xen machines running on a
12034 fairly old IBM eserver xseries 345 machine, and we wanted to migrate
12035 them to KVM on a newer Dell PowerEdge 2950 host machine. This was a
12036 bit harder that it could have been, because we set up the Xen virtual
12037 machines to get the virtual partitions from LVM, which as far as I
12038 know is not supported by KVM. So to migrate, we had to convert
12039 several LVM logical volumes to partitions on a virtual disk file.</p>
12040
12041 <p>I found
12042 <a href="http://searchnetworking.techtarget.com.au/articles/35011-Six-steps-for-migrating-Xen-virtual-machines-to-KVM">a
12043 nice recipe</a> to do this, and wrote the following script to do the
12044 migration. It uses qemu-img from the qemu package to make the disk
12045 image, parted to partition it, losetup and kpartx to present the disk
12046 image partions as devices, and dd to copy the data. I NFS mounted the
12047 new servers storage area on the old server to do the migration.</p>
12048
12049 <pre>
12050 #!/bin/sh
12051
12052 # Based on
12053 # http://searchnetworking.techtarget.com.au/articles/35011-Six-steps-for-migrating-Xen-virtual-machines-to-KVM
12054
12055 set -e
12056 set -x
12057
12058 if [ -z "$1" ] ; then
12059 echo "Usage: $0 &lt;hostname&gt;"
12060 exit 1
12061 else
12062 host="$1"
12063 fi
12064
12065 if [ ! -e /dev/vg_data/$host-disk ] ; then
12066 echo "error: unable to find LVM volume for $host"
12067 exit 1
12068 fi
12069
12070 # Partitions need to be a bit bigger than the LVM LVs. not sure why.
12071 disksize=$( lvs --units m | grep $host-disk | awk '{sum = sum + $4} END { print int(sum * 1.05) }')
12072 swapsize=$( lvs --units m | grep $host-swap | awk '{sum = sum + $4} END { print int(sum * 1.05) }')
12073 totalsize=$(( ( $disksize + $swapsize ) ))
12074
12075 img=$host.img
12076 #dd if=/dev/zero of=$img bs=1M count=$(( $disksize + $swapsize ))
12077 qemu-img create $img ${totalsize}MMaking room on the Debian Edu/Sqeeze DVD
12078
12079 parted $img mklabel msdos
12080 parted $img mkpart primary linux-swap 0 $disksize
12081 parted $img mkpart primary ext2 $disksize $totalsize
12082 parted $img set 1 boot on
12083
12084 modprobe dm-mod
12085 losetup /dev/loop0 $img
12086 kpartx -a /dev/loop0
12087
12088 dd if=/dev/vg_data/$host-disk of=/dev/mapper/loop0p1 bs=1M
12089 fsck.ext3 -f /dev/mapper/loop0p1 || true
12090 mkswap /dev/mapper/loop0p2
12091
12092 kpartx -d /dev/loop0
12093 losetup -d /dev/loop0
12094 </pre>
12095
12096 <p>The script is perhaps so simple that it is not copyrightable, but
12097 if it is, it is licenced using GPL v2 or later at your discretion.</p>
12098
12099 <p>After doing this, I booted a Debian CD in rescue mode in KVM with
12100 the new disk image attached, installed grub-pc and linux-image-686 and
12101 set up grub to boot from the disk image. After this, the KVM machines
12102 seem to work just fine.</p>
12103
12104 </div>
12105 <div class="tags">
12106
12107
12108 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>.
12109
12110
12111 </div>
12112 </div>
12113 <div class="padding"></div>
12114
12115 <div class="entry">
12116 <div class="title">
12117 <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>
12118 </div>
12119 <div class="date">
12120 20th November 2010
12121 </div>
12122 <div class="body">
12123 <p>I'm still running upgrade testing of the
12124 <a href="http://people.skolelinux.org/~pere/debian-upgrade-testing/">Lenny
12125 Gnome and KDE Desktop</a>, but have not had time to spend on reporting the
12126 status. Here is a short update based on a test I ran 20101118.</p>
12127
12128 <p>I still do not know what a correct migration should look like, so I
12129 report any differences between apt and aptitude and hope someone else
12130 can see if anything should be changed.</p>
12131
12132 <p>This is for Gnome:</p>
12133
12134 <p>Installed using apt-get, missing with aptitude</p>
12135
12136 <blockquote><p>
12137 apache2.2-bin aptdaemon at-spi baobab binfmt-support
12138 browser-plugin-gnash cheese-common cli-common cpp-4.3 cups-pk-helper
12139 dmz-cursor-theme empathy empathy-common finger
12140 freedesktop-sound-theme freeglut3 gconf-defaults-service gdm-themes
12141 gedit-plugins geoclue geoclue-hostip geoclue-localnet geoclue-manual
12142 geoclue-yahoo gnash gnash-common gnome gnome-backgrounds
12143 gnome-cards-data gnome-codec-install gnome-core
12144 gnome-desktop-environment gnome-disk-utility gnome-screenshot
12145 gnome-search-tool gnome-session-canberra gnome-spell
12146 gnome-system-log gnome-themes-extras gnome-themes-more
12147 gnome-user-share gs-common gstreamer0.10-fluendo-mp3
12148 gstreamer0.10-tools gtk2-engines gtk2-engines-pixbuf
12149 gtk2-engines-smooth hal-info hamster-applet libapache2-mod-dnssd
12150 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap
12151 libart2.0-cil libatspi1.0-0 libboost-date-time1.42.0
12152 libboost-python1.42.0 libboost-thread1.42.0 libchamplain-0.4-0
12153 libchamplain-gtk-0.4-0 libcheese-gtk18 libclutter-gtk-0.10-0
12154 libcryptui0 libcupsys2 libdiscid0 libeel2-data libelf1 libepc-1.0-2
12155 libepc-common libepc-ui-1.0-2 libfreerdp-plugins-standard
12156 libfreerdp0 libgail-common libgconf2.0-cil libgdata-common libgdata7
12157 libgdl-1-common libgdu-gtk0 libgee2 libgeoclue0 libgexiv2-0 libgif4
12158 libglade2.0-cil libglib2.0-cil libgmime2.4-cil libgnome-vfs2.0-cil
12159 libgnome2.24-cil libgnomepanel2.24-cil libgnomeprint2.2-data
12160 libgnomeprintui2.2-common libgnomevfs2-bin libgpod-common libgpod4
12161 libgtk2.0-cil libgtkglext1 libgtksourceview-common
12162 libgtksourceview2.0-common libmono-addins-gui0.2-cil
12163 libmono-addins0.2-cil libmono-cairo2.0-cil libmono-corlib2.0-cil
12164 libmono-i18n-west2.0-cil libmono-posix2.0-cil
12165 libmono-security2.0-cil libmono-sharpzip2.84-cil
12166 libmono-system2.0-cil libmtp8 libmusicbrainz3-6
12167 libndesk-dbus-glib1.0-cil libndesk-dbus1.0-cil libopal3.6.8
12168 libpolkit-gtk-1-0 libpt-1.10.10-plugins-alsa
12169 libpt-1.10.10-plugins-v4l libpt2.6.7 libpython2.6 librpm1 librpmio1
12170 libsdl1.2debian libservlet2.4-java libsrtp0 libssh-4
12171 libtelepathy-farsight0 libtelepathy-glib0 libtidy-0.99-0
12172 libxalan2-java libxerces2-java media-player-info mesa-utils
12173 mono-2.0-gac mono-gac mono-runtime nautilus-sendto
12174 nautilus-sendto-empathy openoffice.org-writer2latex
12175 openssl-blacklist p7zip p7zip-full pkg-config python-4suite-xml
12176 python-aptdaemon python-aptdaemon-gtk python-axiom
12177 python-beautifulsoup python-bugbuddy python-clientform
12178 python-coherence python-configobj python-crypto python-cupshelpers
12179 python-cupsutils python-eggtrayicon python-elementtree
12180 python-epsilon python-evolution python-feedparser python-gdata
12181 python-gdbm python-gst0.10 python-gtkglext1 python-gtkmozembed
12182 python-gtksourceview2 python-httplib2 python-louie python-mako
12183 python-markupsafe python-mechanize python-nevow python-notify
12184 python-opengl python-openssl python-pam python-pkg-resources
12185 python-pyasn1 python-pysqlite2 python-rdflib python-serial
12186 python-tagpy python-twisted-bin python-twisted-conch
12187 python-twisted-core python-twisted-web python-utidylib python-webkit
12188 python-xdg python-zope.interface remmina remmina-plugin-data
12189 remmina-plugin-rdp remmina-plugin-vnc rhythmbox-plugin-cdrecorder
12190 rhythmbox-plugins rpm-common rpm2cpio seahorse-plugins shotwell
12191 software-center svgalibg1 system-config-printer-udev
12192 telepathy-gabble telepathy-mission-control-5 telepathy-salut tomboy
12193 totem totem-coherence totem-mozilla totem-plugins
12194 transmission-common xdg-user-dirs xdg-user-dirs-gtk xserver-xephyr
12195 zip
12196 </p></blockquote>
12197
12198 Installed using apt-get, removed with aptitude
12199
12200 <blockquote><p>
12201 arj bluez-utils cheese dhcdbd djvulibre-desktop ekiga eog
12202 epiphany-extensions epiphany-gecko evolution-exchange
12203 fast-user-switch-applet file-roller gcalctool gconf-editor gdm gedit
12204 gedit-common gnome-app-install gnome-games gnome-games-data
12205 gnome-nettool gnome-system-tools gnome-themes gnome-utils
12206 gnome-vfs-obexftp gnome-volume-manager gnuchess gucharmap
12207 guile-1.8-libs hal libavahi-compat-libdnssd1 libavahi-core5
12208 libavahi-ui0 libbind9-50 libbluetooth2 libcamel1.2-11 libcdio7
12209 libcucul0 libcurl3 libdirectfb-1.0-0 libdmx1 libdvdread3
12210 libedata-cal1.2-6 libedataserver1.2-9 libeel2-2.20 libepc-1.0-1
12211 libepc-ui-1.0-1 libexchange-storage1.2-3 libfaad0 libgadu3
12212 libgalago3 libgd2-noxpm libgda3-3 libgda3-common libggz2 libggzcore9
12213 libggzmod4 libgksu1.2-0 libgksuui1.0-1 libgmyth0 libgnome-desktop-2
12214 libgnome-pilot2 libgnomecups1.0-1 libgnomeprint2.2-0
12215 libgnomeprintui2.2-0 libgpod3 libgraphviz4 libgtk-vnc-1.0-0
12216 libgtkhtml2-0 libgtksourceview1.0-0 libgtksourceview2.0-0
12217 libgucharmap6 libhesiod0 libicu38 libisccc50 libisccfg50 libiw29
12218 libjaxp1.3-java-gcj libkpathsea4 liblircclient0 libltdl3 liblwres50
12219 libmagick++10 libmagick10 libmalaga7 libmozjs1d libmpfr1ldbl libmtp7
12220 libmysqlclient15off libnautilus-burn4 libneon27 libnm-glib0
12221 libnm-util0 libopal-2.2 libosp5 libparted1.8-10 libpisock9
12222 libpisync1 libpoppler-glib3 libpoppler3 libpt-1.10.10 libraw1394-8
12223 libsdl1.2debian-alsa libsensors3 libsexy2 libsmbios2 libsoup2.2-8
12224 libspeexdsp1 libssh2-1 libsuitesparse-3.1.0 libsvga1
12225 libswfdec-0.6-90 libtalloc1 libtotem-plparser10 libtrackerclient0
12226 libvoikko1 libxalan2-java-gcj libxerces2-java-gcj libxklavier12
12227 libxtrap6 libxxf86misc1 libzephyr3 mysql-common rhythmbox seahorse
12228 sound-juicer swfdec-gnome system-config-printer totem-common
12229 totem-gstreamer transmission-gtk vinagre vino w3c-dtd-xhtml wodim
12230 </p></blockquote>
12231
12232 <p>Installed using aptitude, missing with apt-get</p>
12233
12234 <blockquote><p>
12235 gstreamer0.10-gnomevfs
12236 </p></blockquote>
12237
12238 <p>Installed using aptitude, removed with apt-get</p>
12239
12240 <blockquote><p>
12241 [nothing]
12242 </p></blockquote>
12243
12244 <p>This is for KDE:</p>
12245
12246 <p>Installed using apt-get, missing with aptitude</p>
12247
12248 <blockquote><p>
12249 autopoint bomber bovo cantor cantor-backend-kalgebra cpp-4.3 dcoprss
12250 edict espeak espeak-data eyesapplet fifteenapplet finger gettext
12251 ghostscript-x git gnome-audio gnugo granatier gs-common
12252 gstreamer0.10-pulseaudio indi kaddressbook-plugins kalgebra
12253 kalzium-data kanjidic kapman kate-plugins kblocks kbreakout kbstate
12254 kde-icons-mono kdeaccessibility kdeaddons-kfile-plugins
12255 kdeadmin-kfile-plugins kdeartwork-misc kdeartwork-theme-window
12256 kdeedu kdeedu-data kdeedu-kvtml-data kdegames kdegames-card-data
12257 kdegames-mahjongg-data kdegraphics-kfile-plugins kdelirc
12258 kdemultimedia-kfile-plugins kdenetwork-kfile-plugins
12259 kdepim-kfile-plugins kdepim-kio-plugins kdessh kdetoys kdewebdev
12260 kdiamond kdnssd kfilereplace kfourinline kgeography-data kigo
12261 killbots kiriki klettres-data kmoon kmrml knewsticker-scripts
12262 kollision kpf krosspython ksirk ksmserver ksquares kstars-data
12263 ksudoku kubrick kweather libasound2-plugins libboost-python1.42.0
12264 libcfitsio3 libconvert-binhex-perl libcrypt-ssleay-perl libdb4.6++
12265 libdjvulibre-text libdotconf1.0 liberror-perl libespeak1
12266 libfinance-quote-perl libgail-common libgsl0ldbl libhtml-parser-perl
12267 libhtml-tableextract-perl libhtml-tagset-perl libhtml-tree-perl
12268 libio-stringy-perl libkdeedu4 libkdegames5 libkiten4 libkpathsea5
12269 libkrossui4 libmailtools-perl libmime-tools-perl
12270 libnews-nntpclient-perl libopenbabel3 libportaudio2 libpulse-browse0
12271 libservlet2.4-java libspeechd2 libtiff-tools libtimedate-perl
12272 libunistring0 liburi-perl libwww-perl libxalan2-java libxerces2-java
12273 lirc luatex marble networkstatus noatun-plugins
12274 openoffice.org-writer2latex palapeli palapeli-data parley
12275 parley-data poster psutils pulseaudio pulseaudio-esound-compat
12276 pulseaudio-module-x11 pulseaudio-utils quanta-data rocs rsync
12277 speech-dispatcher step svgalibg1 texlive-binaries texlive-luatex
12278 ttf-sazanami-gothic
12279 </p></blockquote>
12280
12281 <p>Installed using apt-get, removed with aptitude</p>
12282
12283 <blockquote><p>
12284 amor artsbuilder atlantik atlantikdesigner blinken bluez-utils cvs
12285 dhcdbd djvulibre-desktop imlib-base imlib11 kalzium kanagram kandy
12286 kasteroids katomic kbackgammon kbattleship kblackbox kbounce kbruch
12287 kcron kdat kdemultimedia-kappfinder-data kdeprint kdict kdvi kedit
12288 keduca kenolaba kfax kfaxview kfouleggs kgeography kghostview
12289 kgoldrunner khangman khexedit kiconedit kig kimagemapeditor
12290 kitchensync kiten kjumpingcube klatin klettres klickety klines
12291 klinkstatus kmag kmahjongg kmailcvt kmenuedit kmid kmilo kmines
12292 kmousetool kmouth kmplot knetwalk kodo kolf kommander konquest kooka
12293 kpager kpat kpdf kpercentage kpilot kpoker kpovmodeler krec
12294 kregexpeditor kreversi ksame ksayit kshisen ksig ksim ksirc ksirtet
12295 ksmiletris ksnake ksokoban kspaceduel kstars ksvg ksysv kteatime
12296 ktip ktnef ktouch ktron kttsd ktuberling kturtle ktux kuickshow
12297 kverbos kview kviewshell kvoctrain kwifimanager kwin kwin4 kwordquiz
12298 kworldclock kxsldbg libakode2 libarts1-akode libarts1-audiofile
12299 libarts1-mpeglib libarts1-xine libavahi-compat-libdnssd1
12300 libavahi-core5 libavc1394-0 libbind9-50 libbluetooth2
12301 libboost-python1.34.1 libcucul0 libcurl3 libcvsservice0
12302 libdirectfb-1.0-0 libdjvulibre21 libdvdread3 libfaad0 libfreebob0
12303 libgd2-noxpm libgraphviz4 libgsmme1c2a libgtkhtml2-0 libicu38
12304 libiec61883-0 libindex0 libisccc50 libisccfg50 libiw29
12305 libjaxp1.3-java-gcj libk3b3 libkcal2b libkcddb1 libkdeedu3
12306 libkdegames1 libkdepim1a libkgantt0 libkleopatra1 libkmime2
12307 libkpathsea4 libkpimexchange1 libkpimidentities1 libkscan1
12308 libksieve0 libktnef1 liblockdev1 libltdl3 liblwres50 libmagick10
12309 libmimelib1c2a libmodplug0c2 libmozjs1d libmpcdec3 libmpfr1ldbl
12310 libneon27 libnm-util0 libopensync0 libpisock9 libpoppler-glib3
12311 libpoppler-qt2 libpoppler3 libraw1394-8 librss1 libsensors3
12312 libsmbios2 libssh2-1 libsuitesparse-3.1.0 libswfdec-0.6-90
12313 libtalloc1 libxalan2-java-gcj libxerces2-java-gcj libxtrap6 lskat
12314 mpeglib network-manager-kde noatun pmount tex-common texlive-base
12315 texlive-common texlive-doc-base texlive-fonts-recommended tidy
12316 ttf-dustin ttf-kochi-gothic ttf-sjfonts
12317 </p></blockquote>
12318
12319 <p>Installed using aptitude, missing with apt-get</p>
12320
12321 <blockquote><p>
12322 dolphin kde-core kde-plasma-desktop kde-standard kde-window-manager
12323 kdeartwork kdebase kdebase-apps kdebase-workspace
12324 kdebase-workspace-bin kdebase-workspace-data kdeutils kscreensaver
12325 kscreensaver-xsavers libgle3 libkonq5 libkonq5-templates libnetpbm10
12326 netpbm plasma-widget-folderview plasma-widget-networkmanagement
12327 xscreensaver-data-extra xscreensaver-gl xscreensaver-gl-extra
12328 xscreensaver-screensaver-bsod
12329 </p></blockquote>
12330
12331 <p>Installed using aptitude, removed with apt-get</p>
12332
12333 <blockquote><p>
12334 kdebase-bin konq-plugins konqueror
12335 </p></blockquote>
12336
12337 </div>
12338 <div class="tags">
12339
12340
12341 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>.
12342
12343
12344 </div>
12345 </div>
12346 <div class="padding"></div>
12347
12348 <div class="entry">
12349 <div class="title">
12350 <a href="http://people.skolelinux.org/pere/blog/Gnash_buildbot_slave_and_Debian_kfreebsd.html">Gnash buildbot slave and Debian kfreebsd</a>
12351 </div>
12352 <div class="date">
12353 20th November 2010
12354 </div>
12355 <div class="body">
12356 <p>Answering
12357 <a href="http://www.listware.net/201011/gnash-dev/67431-gnash-dev-buildbot-looking-for-slaves.html">the
12358 call from the Gnash project</a> for
12359 <a href="http://www.gnashdev.org:8010">buildbot</a> slaves to test the
12360 current source, I have set up a virtual KVM machine on the Debian
12361 Edu/Skolelinux virtualization host to test the git source on
12362 Debian/Squeeze. I hope this can help the developers in getting new
12363 releases out more often.</p>
12364
12365 <p>As the developers want less main-stream build platforms tested to,
12366 I have considered setting up a <a
12367 href="http://www.debian.org/ports/kfreebsd-gnu/">Debian/kfreebsd</a>
12368 machine as well. I have also considered using the kfreebsd
12369 architecture in Debian as a file server in NUUG to get access to the 5
12370 TB zfs volume we currently use to store DV video. Because of this, I
12371 finally got around to do a test installation of Debian/Squeeze with
12372 kfreebsd. Installation went fairly smooth, thought I noticed some
12373 visual glitches in the cdebconf dialogs (black cursor left on the
12374 screen at random locations). Have not gotten very far with the
12375 testing. Noticed cfdisk did not work, but fdisk did so it was not a
12376 fatal problem. Have to spend some more time on it to see if it is
12377 useful as a file server for NUUG. Will try to find time to set up a
12378 gnash buildbot slave on the Debian Edu/Skolelinux this weekend.</p>
12379
12380 </div>
12381 <div class="tags">
12382
12383
12384 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>.
12385
12386
12387 </div>
12388 </div>
12389 <div class="padding"></div>
12390
12391 <div class="entry">
12392 <div class="title">
12393 <a href="http://people.skolelinux.org/pere/blog/Debian_in_3D.html">Debian in 3D</a>
12394 </div>
12395 <div class="date">
12396 9th November 2010
12397 </div>
12398 <div class="body">
12399 <p><img src="http://thingiverse-production.s3.amazonaws.com/renders/23/e0/c4/f9/2b/debswagtdose_preview_medium.jpg"></p>
12400
12401 <p>3D printing is just great. I just came across this Debian logo in
12402 3D linked in from
12403 <a href="http://blog.thingiverse.com/2010/11/09/participatory-branding/">the
12404 thingiverse blog</a>.</p>
12405
12406 </div>
12407 <div class="tags">
12408
12409
12410 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>.
12411
12412
12413 </div>
12414 </div>
12415 <div class="padding"></div>
12416
12417 <div class="entry">
12418 <div class="title">
12419 <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>
12420 </div>
12421 <div class="date">
12422 7th November 2010
12423 </div>
12424 <div class="body">
12425 <p>Prioritising packages for the Debian Edu /
12426 <a href="http://www.skolelinux.org/">Skolelinux</a> DVD, which is
12427 supposed provide a school with all the services and user applications
12428 needed on the pupils computer network has always been hard. Even
12429 schools without Internet connections should be able to get Debian Edu
12430 working using this DVD.</p>
12431
12432 <p>The job became a lot harder when apt and aptitude started
12433 installing recommended packages by default. We want the same set of
12434 packages to be installed when using the DVD and the netinst CD, and
12435 that means all recommended packages need to be on the DVD. I created
12436 a patch for debian-cd in <a href="http://bugs.debian.org/601203">BTS
12437 report #601203</a> to do this, and since this change was applied to
12438 the Debian Edu DVD build, we have been seriously short on space.</p>
12439
12440 <p>A few days ago we decided to drop blender, wxmaxima and kicad from
12441 the default installation to save space on the DVD, believing that
12442 those needing these applications are few and can get them from the
12443 Debian archive.</p>
12444
12445 <p>Yesterday, I had a look what source packages to see which packages
12446 were using most space. A few large packages are well know;
12447 openoffice.org, openclipart and fluid-soundfont. But I also
12448 discovered that lilypond used 106 MiB and fglrx-driver used 53 MiB.
12449 The lilypond package is pulled in as a dependency for rosegarden, and
12450 when looking a bit closer I discovered that 99 MiB of the 106 MiB were
12451 the documentation package, which is recommended by the binary package.
12452 I decided to drop this documentation package from our DVD, as most of
12453 our users will use the GUI front-ends and do not need the lilypond
12454 documentation. Similarly, I dropped the non-free fglrx-driver package
12455 which might be installed by d-i when its hardware is detected, as the
12456 free X driver should work.</p>
12457
12458 <p>With this change, we finally got space for the LXDE and Gnome
12459 desktop packages as well as the language specific packages making the
12460 DVD more useful again.</p>
12461
12462 </div>
12463 <div class="tags">
12464
12465
12466 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>.
12467
12468
12469 </div>
12470 </div>
12471 <div class="padding"></div>
12472
12473 <div class="entry">
12474 <div class="title">
12475 <a href="http://people.skolelinux.org/pere/blog/Software_updates_2010_10_24.html">Software updates 2010-10-24</a>
12476 </div>
12477 <div class="date">
12478 24th October 2010
12479 </div>
12480 <div class="body">
12481 <p>Some updates.</p>
12482
12483 <p>My <a href="http://pledgebank.com/gnash-avm2">gnash pledge</a> to
12484 raise money for the project is going well. The lower limit of 10
12485 signers was reached in 24 hours, and so far 13 people have signed it.
12486 More signers and more funding is most welcome, and I am really curious
12487 how far we can get before the time limit of December 24 is reached.
12488 :)</p>
12489
12490 <p>On the #gnash IRC channel on irc.freenode.net, I was just tipped
12491 about what appear to be a great code coverage tool capable of
12492 generating code coverage stats without any changes to the source code.
12493 It is called
12494 <a href="http://simonkagstrom.github.com/kcov/index.html">kcov</a>,
12495 and can be used using <tt>kcov &lt;directory&gt; &lt;binary&gt;</tt>.
12496 It is missing in Debian, but the git source built just fine in Squeeze
12497 after I installed libelf-dev, libdwarf-dev, pkg-config and
12498 libglib2.0-dev. Failed to build in Lenny, but suspect that is
12499 solvable. I hope kcov make it into Debian soon.</p>
12500
12501 <p>Finally found time to wrap up the release notes for <a
12502 href="http://lists.debian.org/debian-edu-announce/2010/10/msg00002.html">a
12503 new alpha release of Debian Edu</a>, and just published the second
12504 alpha test release of the Squeeze based Debian Edu /
12505 <a href="http://www.skolelinux.org/">Skolelinux</a>
12506 release. Give it a try if you need a complete linux solution for your
12507 school, including central infrastructure server, workstations, thin
12508 client servers and diskless workstations. A nice touch added
12509 yesterday is RDP support on the thin client servers, for windows
12510 clients to get a Linux desktop on request.</p>
12511
12512 </div>
12513 <div class="tags">
12514
12515
12516 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>.
12517
12518
12519 </div>
12520 </div>
12521 <div class="padding"></div>
12522
12523 <div class="entry">
12524 <div class="title">
12525 <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>
12526 </div>
12527 <div class="date">
12528 19th October 2010
12529 </div>
12530 <div class="body">
12531 <p><a href="http://www.getgnash.org/">The Gnash project</a> is the
12532 most promising solution for a Free Software Flash implementation. It
12533 has done great so far, but there is still far to go, and recently its
12534 funding has dried up. I believe AVM2 support in Gnash is vital to the
12535 continued progress of the project, as more and more sites show up with
12536 AVM2 flash files.</p>
12537
12538 <p>To try to get funding for developing such support, I have started
12539 <a href="http://www.pledgebank.com/gnash-avm2">a pledge</a> with the
12540 following text:</P>
12541
12542 <p><blockquote>
12543
12544 <p>"I will pay 100$ to the Gnash project to develop AVM2 support but
12545 only if 10 other people will do the same."</p>
12546
12547 <p>- Petter Reinholdtsen, free software developer</p>
12548
12549 <p>Deadline to sign up by: 24th December 2010</p>
12550
12551 <p>The Gnash project need to get support for the new Flash file
12552 format AVM2 to work with a lot of sites using Flash on the
12553 web. Gnash already work with a lot of Flash sites using the old AVM1
12554 format, but more and more sites are using the AVM2 format these
12555 days. The project web page is available from
12556 http://www.getgnash.org/ . Gnash is a free software implementation
12557 of Adobe Flash, allowing those of us that do not accept the terms of
12558 the Adobe Flash license to get access to Flash sites.</p>
12559
12560 <p>The project need funding to get developers to put aside enough
12561 time to develop the AVM2 support, and this pledge is my way to try
12562 to get this to happen.</p>
12563
12564 <p>The project accept donations via the OpenMediaNow foundation,
12565 <a href="http://www.openmedianow.org/?q=node/32">http://www.openmedianow.org/?q=node/32</a> .</p>
12566
12567 </blockquote></p>
12568
12569 <p>I hope you will support this effort too. I hope more than 10
12570 people will participate to make this happen. The more money the
12571 project gets, the more features it can develop using these funds.
12572 :)</p>
12573
12574 </div>
12575 <div class="tags">
12576
12577
12578 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>.
12579
12580
12581 </div>
12582 </div>
12583 <div class="padding"></div>
12584
12585 <div class="entry">
12586 <div class="title">
12587 <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>
12588 </div>
12589 <div class="date">
12590 9th October 2010
12591 </div>
12592 <div class="body">
12593 <p>This summer I got the chance to buy cheap Spykee robots, and since
12594 then I have worked on getting Linux software in place to control them.
12595 The firmware for the robot is available from the producer, and using
12596 that source it was trivial to figure out the protocol specification.
12597 I've started on a perl library to control it, and made some demo
12598 programs using this perl library to allow one to control the
12599 robots.</p>
12600
12601 <p>The library is quite functional already, and capable of controlling
12602 the driving, fetching video, uploading MP3s and play them. There are
12603 a few less important features too.</p>
12604
12605 <p>Since a few weeks ago, I ran out of time to spend on this project,
12606 but I never got around to releasing the current source. I decided
12607 today that it was time to do something about it, and uploaded the
12608 source to my Debian package store at people.skolelinux.org.</p>
12609
12610 <p>Because it was simpler for me, I made a Debian package and
12611 published the source and deb. If you got a spykee robot, grab the
12612 source or binary package:</p>
12613
12614 <p><ul>
12615 <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>
12616 <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>
12617 <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>
12618 </ul></p>
12619
12620 <p>If you are interested in helping out with developing this library,
12621 please let me know.</p>
12622
12623 </div>
12624 <div class="tags">
12625
12626
12627 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>.
12628
12629
12630 </div>
12631 </div>
12632 <div class="padding"></div>
12633
12634 <div class="entry">
12635 <div class="title">
12636 <a href="http://people.skolelinux.org/pere/blog/Links_for_2010_10_03.html">Links for 2010-10-03</a>
12637 </div>
12638 <div class="date">
12639 3rd October 2010
12640 </div>
12641 <div class="body">
12642 <p><ul>
12643
12644 <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
12645 is no Plan B: why the IPv4-to-IPv6 transition will be ugly</a></li>
12646
12647 <li>Scanner looking under clothes
12648 <a href="http://www.dagbladet.no/2010/10/03/nyheter/utenriks/reise/overvakingskamera/flyplasser/13667192/">has
12649 already been misused at Heathrow</a>.</li>
12650
12651 <li><a href="http://wiki.softwarelivre.org/Landell">Landell
12652 Webcasting</a> - interesting alternative for
12653 <ahref="http://dvswitch.alioth.debian.org/wiki/">DVSwitch</a> with
12654 simple setup.
12655
12656 </ul></p>
12657
12658 </div>
12659 <div class="tags">
12660
12661
12662 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>.
12663
12664
12665 </div>
12666 </div>
12667 <div class="padding"></div>
12668
12669 <div class="entry">
12670 <div class="title">
12671 <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>
12672 </div>
12673 <div class="date">
12674 9th September 2010
12675 </div>
12676 <div class="body">
12677 <p>A few days ago I had the mixed pleasure of bying a new digital
12678 camera, a Canon IXUS 130. It was instructive and very disturbing to
12679 be able to verify that also this camera producer have the nerve to
12680 specify how I can or can not use the videos produced with the camera.
12681 Even thought I was aware of the issue, the options with new cameras
12682 are limited and I ended up bying the camera anyway. What is the
12683 problem, you might ask? It is software patents, MPEG-4, H.264 and the
12684 MPEG-LA that is the problem, and our right to record our experiences
12685 without asking for permissions that is at risk.
12686
12687 <p>On page 27 of the Danish instruction manual, this section is
12688 written:</p>
12689
12690 <blockquote>
12691 <p>This product is licensed under AT&T patents for the MPEG-4 standard
12692 and may be used for encoding MPEG-4 compliant video and/or decoding
12693 MPEG-4 compliant video that was encoded only (1) for a personal and
12694 non-commercial purpose or (2) by a video provider licensed under the
12695 AT&T patents to provide MPEG-4 compliant video.</p>
12696
12697 <p>No license is granted or implied for any other use for MPEG-4
12698 standard.</p>
12699 </blockquote>
12700
12701 <p>In short, the camera producer have chosen to use technology
12702 (MPEG-4/H.264) that is only provided if I used it for personal and
12703 non-commercial purposes, or ask for permission from the organisations
12704 holding the knowledge monopoly (patent) for technology used.</p>
12705
12706 <p>This issue has been brewing for a while, and I recommend you to
12707 read
12708 "<a href="http://www.osnews.com/story/23236/Why_Our_Civilization_s_Video_Art_and_Culture_is_Threatened_by_the_MPEG-LA">Why
12709 Our Civilization's Video Art and Culture is Threatened by the
12710 MPEG-LA</a>" by Eugenia Loli-Queru and
12711 "<a href="http://webmink.com/2010/09/03/h-264-and-foss/">H.264 Is Not
12712 The Sort Of Free That Matters</a>" by Simon Phipps to learn more about
12713 the issue. The solution is to support the
12714 <a href="http://www.digistan.org/open-standard:definition">free and
12715 open standards</a> for video, like <a href="http://www.theora.org/">Ogg
12716 Theora</a>, and avoid MPEG-4 and H.264 if you can.</p>
12717
12718 </div>
12719 <div class="tags">
12720
12721
12722 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>.
12723
12724
12725 </div>
12726 </div>
12727 <div class="padding"></div>
12728
12729 <div class="entry">
12730 <div class="title">
12731 <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>
12732 </div>
12733 <div class="date">
12734 4th September 2010
12735 </div>
12736 <div class="body">
12737 <p>In the <a href="http://popcon.debian.org/unknown/by_vote">Debian
12738 popularity-contest numbers</a>, the adobe-flashplugin package the
12739 second most popular used package that is missing in Debian. The sixth
12740 most popular is flashplayer-mozilla. This is a clear indication that
12741 working flash is important for Debian users. Around 10 percent of the
12742 users submitting data to popcon.debian.org have this package
12743 installed.</p>
12744
12745 <p>In the report written by Lars Risan in August 2008
12746 («<a href="http://wiki.skolelinux.no/Dokumentasjon/Rapporter?action=AttachFile&do=view&target=Skolelinux_i_bruk_rapport_1.0.pdf">Skolelinux
12747 i bruk – Rapport for Hurum kommune, Universitetet i Agder og
12748 stiftelsen SLX Debian Labs</a>»), one of the most important problems
12749 schools experienced with <a href="http://www.skolelinux.org/">Debian
12750 Edu/Skolelinux</a> was the lack of working Flash. A lot of educational
12751 web sites require Flash to work, and lacking working Flash support in
12752 the web browser and the problems with installing it was perceived as a
12753 good reason to stay with Windows.</p>
12754
12755 <p>I once saw a funny and sad comment in a web forum, where Linux was
12756 said to be the retarded cousin that did not really understand
12757 everything you told him but could work fairly well. This was a
12758 comment regarding the problems Linux have with proprietary formats and
12759 non-standard web pages, and is sad because it exposes a fairly common
12760 understanding of whose fault it is if web pages that only work in for
12761 example Internet Explorer 6 fail to work on Firefox, and funny because
12762 it explain very well how annoying it is for users when Linux
12763 distributions do not work with the documents they receive or the web
12764 pages they want to visit.</p>
12765
12766 <p>This is part of the reason why I believe it is important for Debian
12767 and Debian Edu to have a well working Flash implementation in the
12768 distribution, to get at least popular sites as Youtube and Google
12769 Video to working out of the box. For Squeeze, Debian have the chance
12770 to include the latest version of Gnash that will make this happen, as
12771 the new release 0.8.8 was published a few weeks ago and is resting in
12772 unstable. The new version work with more sites that version 0.8.7.
12773 The Gnash maintainers have asked for a freeze exception, but the
12774 release team have not had time to reply to it yet. I hope they agree
12775 with me that Flash is important for the Debian desktop users, and thus
12776 accept the new package into Squeeze.</p>
12777
12778 </div>
12779 <div class="tags">
12780
12781
12782 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>.
12783
12784
12785 </div>
12786 </div>
12787 <div class="padding"></div>
12788
12789 <div class="entry">
12790 <div class="title">
12791 <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>
12792 </div>
12793 <div class="date">
12794 1st September 2010
12795 </div>
12796 <div class="body">
12797 <p>This evening I made my first Perl GUI application. The last few
12798 days I have worked on a Perl module for controlling my recently
12799 aquired Spykee robots, and the module is now getting complete enought
12800 that it is possible to use it to control the robot driving at least.
12801 It was now time to figure out how to use it to create some GUI to
12802 allow me to drive the robot around. I picked PerlQt as I have had
12803 positive experiences with the Qt API before, and spent a few minutes
12804 browsing the web for examples. Using Qt Designer seemed like a short
12805 cut, so I ended up writing the perl GUI using Qt Designer and
12806 compiling it into a perl program using the puic program from
12807 libqt-perl. Nothing fancy yet, but it got buttons to connect and
12808 drive around.</p>
12809
12810 <p>The perl module I have written provide a object oriented API for
12811 controlling the robot. Here is an small example on how to use it:</p>
12812
12813 <p><pre>
12814 use Spykee;
12815 Spykee::discover(sub {$robot{$_[0]} = $_[1]});
12816 my $host = (keys %robot)[0];
12817 my $spykee = Spykee->new();
12818 $spykee->contact($host, "admin", "admin");
12819 $spykee->left();
12820 sleep 2;
12821 $spykee->right();
12822 sleep 2;
12823 $spykee->forward();
12824 sleep 2;
12825 $spykee->back();
12826 sleep 2;
12827 $spykee->stop();
12828 </pre></p>
12829
12830 <p>Thanks to the release of the source of the robot firmware, I could
12831 peek into the implementation at the other end to figure out how to
12832 implement the protocol used by the robot. I've implemented several of
12833 the commands the robot understand, but is still missing the camera
12834 support to make it possible to control the robot from remote. First I
12835 want to implement support for uploading new firmware and configuring
12836 the wireless network, to make it possible to bootstrap a Spykee robot
12837 without the producers Windows and MacOSX software (I only have Linux,
12838 so I had to ask a friend to come over to get the robot testing
12839 going. :).</p>
12840
12841 <p>Will release the source to the public soon, but need to figure out
12842 where to make it available first. I will add a link to
12843 <a href="http://wiki.nuug.no/grupper/robot/">the NUUG wiki</a> for
12844 those that want to check back later to find it.</p>
12845
12846 </div>
12847 <div class="tags">
12848
12849
12850 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>.
12851
12852
12853 </div>
12854 </div>
12855 <div class="padding"></div>
12856
12857 <div class="entry">
12858 <div class="title">
12859 <a href="http://people.skolelinux.org/pere/blog/Broken_hard_link_handling_with_sshfs.html">Broken hard link handling with sshfs</a>
12860 </div>
12861 <div class="date">
12862 30th August 2010
12863 </div>
12864 <div class="body">
12865 <p>Just got an email from Tobias Gruetzmacher as a followup on my
12866 <a href="http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html">previous
12867 post about sshfs</a>. He reported another problem with sshfs. It
12868 fail to handle hard links properly. A simple way to spot this is to
12869 look at the . and .. entries in the directory tree. These should have
12870 a link count >1, but on sshfs the count is 1. I just tested to see
12871 what happen when trying to hardlink, and this fail as well:</p>
12872
12873 <pre>
12874 % ln foo bar
12875 ln: creating hard link `bar' => `foo': Function not implemented
12876 %
12877 </pre>
12878
12879 <p>I have not yet found time to implement a test for this in my file
12880 system test code, but believe having working hard links is useful to
12881 avoid surprised unix programs. Not as useful as working file locking
12882 and symlinks, which are required to get a working desktop, but useful
12883 nevertheless. :)</p>
12884
12885 <p>The latest version of the file system test code is available via
12886 git from
12887 <a href="http://github.com/gebi/fs-test">http://github.com/gebi/fs-test</a></p>
12888
12889 </div>
12890 <div class="tags">
12891
12892
12893 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>.
12894
12895
12896 </div>
12897 </div>
12898 <div class="padding"></div>
12899
12900 <div class="entry">
12901 <div class="title">
12902 <a href="http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html">Broken umask handling with sshfs</a>
12903 </div>
12904 <div class="date">
12905 26th August 2010
12906 </div>
12907 <div class="body">
12908 <p>My file system sematics program
12909 <a href="http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html">presented
12910 a few days ago</a> is very useful to verify that a file system can
12911 work as a unix home directory,and today I had to extend it a bit. I'm
12912 looking into alternatives for home directory access here at the
12913 University of Oslo, and one of the options is sshfs. My friend
12914 Finn-Arne mentioned a while back that they had used sshfs with Debian
12915 Edu, but stopped because of problems. I asked today what the problems
12916 where, and he mentioned that sshfs failed to handle umask properly.
12917 Trying to detect the problem I wrote this addition to my fs testing
12918 script:</p>
12919
12920 <pre>
12921 mode_t touch_get_mode(const char *name, mode_t mode) {
12922 mode_t retval = 0;
12923 int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, mode);
12924 if (-1 != fd) {
12925 unlink(name);
12926 struct stat statbuf;
12927 if (-1 != fstat(fd, &statbuf)) {
12928 retval = statbuf.st_mode & 0x1ff;
12929 }
12930 close(fd);
12931 }
12932 return retval;
12933 }
12934
12935 /* Try to detect problem discovered using sshfs */
12936 int test_umask(void) {
12937 printf("info: testing umask effect on file creation\n");
12938
12939 mode_t orig_umask = umask(000);
12940 mode_t newmode;
12941 if (0666 != (newmode = touch_get_mode("foobar", 0666))) {
12942 printf(" error: Wrong file mode %o when creating using mode 666 and umask 000\n",
12943 newmode);
12944 }
12945 umask(007);
12946 if (0660 != (newmode = touch_get_mode("foobar", 0666))) {
12947 printf(" error: Wrong file mode %o when creating using mode 666 and umask 007\n",
12948 newmode);
12949 }
12950
12951 umask (orig_umask);
12952 return 0;
12953 }
12954
12955 int main(int argc, char **argv) {
12956 [...]
12957 test_umask();
12958 return 0;
12959 }
12960 </pre>
12961
12962 <p>Sure enough. On NFS to a netapp, I get this result:</p>
12963
12964 <pre>
12965 Testing POSIX/Unix sematics on file system
12966 info: testing symlink creation
12967 info: testing subdirectory creation
12968 info: testing fcntl locking
12969 Read-locking 1 byte from 1073741824
12970 Read-locking 510 byte from 1073741826
12971 Unlocking 1 byte from 1073741824
12972 Write-locking 1 byte from 1073741824
12973 Write-locking 510 byte from 1073741826
12974 Unlocking 2 byte from 1073741824
12975 info: testing umask effect on file creation
12976 </pre>
12977
12978 <p>When mounting the same directory using sshfs, I get this
12979 result:</p>
12980
12981 <pre>
12982 Testing POSIX/Unix sematics on file system
12983 info: testing symlink creation
12984 info: testing subdirectory creation
12985 info: testing fcntl locking
12986 Read-locking 1 byte from 1073741824
12987 Read-locking 510 byte from 1073741826
12988 Unlocking 1 byte from 1073741824
12989 Write-locking 1 byte from 1073741824
12990 Write-locking 510 byte from 1073741826
12991 Unlocking 2 byte from 1073741824
12992 info: testing umask effect on file creation
12993 error: Wrong file mode 644 when creating using mode 666 and umask 000
12994 error: Wrong file mode 640 when creating using mode 666 and umask 007
12995 </pre>
12996
12997 <p>So, I can conclude that sshfs is better than smb to a Netapp or a
12998 Windows server, but not good enough to be used as a home
12999 directory.</p>
13000
13001 <p>Update 2010-08-26: Reported the issue in
13002 <a href="http://bugs.debian.org/594498">BTS report #594498</a></p>
13003
13004 <p>Update 2010-08-27: Michael Gebetsroither report that he found the
13005 script so useful that he created a GIT repository and stored it in
13006 <a href="http://github.com/gebi/fs-test">http://github.com/gebi/fs-test</a>.</p>
13007
13008 </div>
13009 <div class="tags">
13010
13011
13012 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>.
13013
13014
13015 </div>
13016 </div>
13017 <div class="padding"></div>
13018
13019 <div class="entry">
13020 <div class="title">
13021 <a href="http://people.skolelinux.org/pere/blog/Rob_Weir__How_to_Crush_Dissent.html">Rob Weir: How to Crush Dissent</a>
13022 </div>
13023 <div class="date">
13024 15th August 2010
13025 </div>
13026 <div class="body">
13027 <p>I found the notes from Rob Weir on
13028 <a href="http://feedproxy.google.com/~r/robweir/antic-atom/~3/VGb23-kta8c/how-to-crush-dissent.html">how
13029 to crush dissent</a> matching my own thoughts on the matter quite
13030 well. Highly recommended for those wondering which road our society
13031 should go down. In my view we have been heading the wrong way for a
13032 long time.</p>
13033
13034 </div>
13035 <div class="tags">
13036
13037
13038 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>.
13039
13040
13041 </div>
13042 </div>
13043 <div class="padding"></div>
13044
13045 <div class="entry">
13046 <div class="title">
13047 <a href="http://people.skolelinux.org/pere/blog/No_hardcoded_config_on_Debian_Edu_clients.html">No hardcoded config on Debian Edu clients</a>
13048 </div>
13049 <div class="date">
13050 9th August 2010
13051 </div>
13052 <div class="body">
13053 <p>As reported earlier, the last few days I have looked at how Debian
13054 Edu clients are configured, and tried to get rid of all hardcoded
13055 configuration settings on the clients. I believe the work to be
13056 mostly done, and the clients seem to work just fine with dynamically
13057 generated configuration.</p>
13058
13059 <p>What is the point, you might ask? The point is to allow a Debian
13060 Edu desktop to integrate into an existing network infrastructure
13061 without any manual configuration.</p>
13062
13063 <p>This is what happens when installing a Debian Edu client here at
13064 the University of Oslo using PXE. With the PXE installation, I am
13065 asked for language (Norwegian Bokmål), locality (Norway) and keyboard
13066 layout (no-latin1), Debian Edu profile (Roaming Workstation), if I
13067 accept to reformat the hard drive (yes), if I want to submit info to
13068 popcon.debian.org (no) and root password (secret). After answering
13069 these questions, the installer goes ahead and does its thing, and
13070 after around 50 minutes it is done. I press enter to finish the
13071 installation, and the machine reboots into KDE. When the machine is
13072 ready and kdm asks for login information, I enter my university
13073 username and password, am told by kdm that a local home directory has
13074 been created and that I must log in again, and finally log in with the
13075 same username and password to the KDE 4.4 desktop. At no point during
13076 this process did it ask for university specific settings, and all the
13077 required configuration was dynamically detected using information
13078 fetched via DHCP and DNS. The roaming workstation is now ready for
13079 use.</p>
13080
13081 <p>How was this done, you might wonder? First of all, here is the
13082 list of things that need to be configured on the client to get it
13083 working properly out of the box:</p>
13084
13085 <ul>
13086 <li>IP address/netmask and DNS server.</li>
13087 <li>Web proxy URL.</li>
13088 <li>LDAP server for NSS directory information (user, group, etc).</li>
13089 <li>Kerberos server for PAM password checking.</li>
13090 <li>SMB mount point to access the network home directory. (*)</li>
13091 <li>Central syslog server to send syslog messages to. (*)</li>
13092 <li>Sitesummary collector URL to submit info to central server. (*)</li>
13093 </ul>
13094
13095 <p>(Hm, did I forget anything? Let me knew if I did.)</p>
13096
13097 <p>The points marked (*) are not required to be able to use the
13098 machine, but needed to provide central storage and allowing system
13099 administrators to track their machines. Since yesterday, everything
13100 but the sitesummary collector URL is dynamically discovered at boot
13101 and installation time in the svn version of Debian Edu.</p>
13102
13103 <p>The IP and DNS setup is fetched during boot using DHCP as usual.
13104 When a DHCP update arrives, the proxy setup is updated by looking for
13105 http://wpat/wpad.dat and using the content of this WPAD file to
13106 configure the http and ftp proxy in /etc/environment and
13107 /etc/apt/apt.conf. I decided to update the proxy setup using a DHCP
13108 hook to ensure that the client stops using the Debian Edu proxy when
13109 it is moved outside the Debian Edu network, and instead uses any local
13110 proxy present on the new network when it moves around.</p>
13111
13112 <p>The DNS names of the LDAP, Kerberos and syslog server and related
13113 configuration are generated using DNS information at boot. First the
13114 installer looks for a host named ldap in the current DNS domain. If
13115 not found, it looks for _ldap._tcp SRV records in DNS instead. If an
13116 LDAP server is found, its root DSE entry is requested and the
13117 attributes namingContexts and defaultNamingContext are used to
13118 determine which LDAP base to use for NSS. If there are several
13119 namingContexts attibutes and the defaultNamingContext is present, that
13120 LDAP subtree is used as the base. If defaultNamingContext is missing,
13121 the subtrees listed as namingContexts are searched in sequence for any
13122 object with class posixAccount or posixGroup, and the first one with
13123 such an object is used as the LDAP base. For Kerberos, a similar
13124 search is done by first looking for a host named kerberos, and then
13125 for the _kerberos._tcp SRV record. I've been unable to find a way to
13126 look up the Kerberos realm, so for this the upper case string of the
13127 current DNS domain is used.</p>
13128
13129 <p>For the syslog server, the hosts syslog and loghost are searched
13130 for, and the _syslog._udp SRV record is consulted if no such host is
13131 found. This algorithm works for both Debian Edu and the University of
13132 Oslo. A similar strategy would work for locating the sitesummary
13133 server, but have not been implemented yet. I decided to fetch and
13134 save these settings during installation, to make sure moving to a
13135 different network does not change the set of users being allowed to
13136 log in nor the passwords required to log in. Usernames and passwords
13137 will be cached by sssd when the user logs in on the Debian Edu
13138 network, and will not change as the laptop move around. For a
13139 non-roaming machine, there is no caching, but given that it is
13140 supposed to stay in place it should not matter much. Perhaps we
13141 should switch those to use sssd too?</p>
13142
13143 <p>The user's SMB mount point for the network home directory is
13144 located when the user logs in for the first time. The LDAP server is
13145 consulted to look for the user's LDAP object and the sambaHomePath
13146 attribute is used if found. If it isn't found, the home directory
13147 path fetched from NSS is used instead. Assuming the path is of the
13148 form /site/server/directory/username, the second part is looked up in
13149 DNS and used to generate a SMB URL of the form
13150 smb://server.domain/username. This algorithm works for both Debian
13151 edu and the University of Oslo. Perhaps there are better attributes
13152 to use or a better algorithm that works for more sites, but this will
13153 do for now. :)</p>
13154
13155 <p>This work should make it easier to integrate the Debian Edu clients
13156 into any LDAP/Kerberos infrastructure, and make the current setup even
13157 more flexible than before. I suspect it will also work for thin
13158 client servers, allowing one to easily set up LTSP and hook it into a
13159 existing network infrastructure, but I have not had time to test this
13160 yet.</p>
13161
13162 <p>If you want to help out with implementing these things for Debian
13163 Edu, please contact us on debian-edu@lists.debian.org.</p>
13164
13165 <p>Update 2010-08-09: Simon Farnsworth gave me a heads-up on how to
13166 detect Kerberos realm from DNS, by looking for _kerberos TXT entries
13167 before falling back to the upper case DNS domain name. Will have to
13168 implement it for Debian Edu. :)</p>
13169
13170 </div>
13171 <div class="tags">
13172
13173
13174 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>.
13175
13176
13177 </div>
13178 </div>
13179 <div class="padding"></div>
13180
13181 <div class="entry">
13182 <div class="title">
13183 <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>
13184 </div>
13185 <div class="date">
13186 8th August 2010
13187 </div>
13188 <div class="body">
13189 <p>A few years ago, I was involved in a project planning to use
13190 Windows file servers as home directory servers for Debian
13191 Edu/Skolelinux machines. This was thought to be no problem, as the
13192 access would be through the SMB network file system protocol, and we
13193 knew other sites used SMB with unix and samba as the file server to
13194 mount home directories without any problems. But, after months of
13195 struggling, we had to conclude that our goal was impossible.</p>
13196
13197 <p>The reason is simply that while SMB can be used for home
13198 directories when the file server is Samba running on Unix, this only
13199 work because of Samba have some extensions and the fact that the
13200 underlying file system is a unix file system. When using a Windows
13201 file server, the underlying file system do not have POSIX semantics,
13202 and several programs will fail if the users home directory where they
13203 want to store their configuration lack POSIX semantics.</p>
13204
13205 <p>As part of this work, I wrote a small C program I want to share
13206 with you all, to replicate a few of the problematic applications (like
13207 OpenOffice.org and GCompris) and see if the file system was working as
13208 it should. If you find yourself in spooky file system land, it might
13209 help you find your way out again. This is the fs-test.c source:</p>
13210
13211 <pre>
13212 /*
13213 * Some tests to check the file system sematics. Used to verify that
13214 * CIFS from a windows server do not work properly as a linux home
13215 * directory.
13216 * License: GPL v2 or later
13217 *
13218 * needs libsqlite3-dev and build-essential installed
13219 * compile with: gcc -Wall -lsqlite3 -DTEST_SQLITE fs-test.c -o fs-test
13220 */
13221
13222 #define _FILE_OFFSET_BITS 64
13223 #define _LARGEFILE_SOURCE 1
13224 #define _LARGEFILE64_SOURCE 1
13225
13226 #define _GNU_SOURCE /* for asprintf() */
13227
13228 #include &lt;errno.h>
13229 #include &lt;fcntl.h>
13230 #include &lt;stdio.h>
13231 #include &lt;string.h>
13232 #include &lt;stdlib.h>
13233 #include &lt;sys/file.h>
13234 #include &lt;sys/stat.h>
13235 #include &lt;sys/types.h>
13236 #include &lt;unistd.h>
13237
13238 #ifdef TEST_SQLITE
13239 /*
13240 * Test sqlite open, as done by gcompris require the libsqlite3-dev
13241 * package and linking with -lsqlite3. A more low level test is
13242 * below.
13243 * See also &lt;URL: http://www.sqlite.org./faq.html#q5 >.
13244 */
13245 #include &lt;sqlite3.h>
13246 #define CREATE_TABLE_USERS \
13247 "CREATE TABLE users (user_id INT UNIQUE, login TEXT, lastname TEXT, firstname TEXT, birthdate TEXT, class_id INT ); "
13248 int test_sqlite_open(void) {
13249 char *zErrMsg;
13250 char *name = "testsqlite.db";
13251 sqlite3 *db=NULL;
13252 unlink(name);
13253 int rc = sqlite3_open(name, &db);
13254 if( rc ){
13255 printf("error: sqlite open of %s failed: %s\n", name, sqlite3_errmsg(db));
13256 sqlite3_close(db);
13257 return -1;
13258 }
13259
13260 /* create tables */
13261 rc = sqlite3_exec(db,CREATE_TABLE_USERS, NULL, 0, &zErrMsg);
13262 if( rc != SQLITE_OK ){
13263 printf("error: sqlite table create failed: %s\n", zErrMsg);
13264 sqlite3_close(db);
13265 return -1;
13266 }
13267 printf("info: sqlite worked\n");
13268 sqlite3_close(db);
13269 return 0;
13270 }
13271 #endif /* TEST_SQLITE */
13272
13273 /*
13274 * Demonstrate locking issue found in gcompris using sqlite3. This
13275 * work with ext3, but not with cifs server on Windows 2003. This is
13276 * done in the sqlite3 library.
13277 * See also
13278 * &lt;URL:http://www.cygwin.com/ml/cygwin/2001-08/msg00854.html> and the
13279 * POSIX specification
13280 * &lt;URL:http://www.opengroup.org/onlinepubs/009695399/functions/fcntl.html>.
13281 */
13282 int test_gcompris_locking(void) {
13283 struct flock fl;
13284 char *name = "testsqlite.db";
13285 unlink(name);
13286 int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, 0644);
13287 printf("info: testing fcntl locking\n");
13288
13289 fl.l_whence = SEEK_SET;
13290 fl.l_pid = getpid();
13291 printf(" Read-locking 1 byte from 1073741824");
13292 fl.l_start = 1073741824;
13293 fl.l_len = 1;
13294 fl.l_type = F_RDLCK;
13295 if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
13296
13297 printf(" Read-locking 510 byte from 1073741826");
13298 fl.l_start = 1073741826;
13299 fl.l_len = 510;
13300 fl.l_type = F_RDLCK;
13301 if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
13302
13303 printf(" Unlocking 1 byte from 1073741824");
13304 fl.l_start = 1073741824;
13305 fl.l_len = 1;
13306 fl.l_type = F_UNLCK;
13307 if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
13308
13309 printf(" Write-locking 1 byte from 1073741824");
13310 fl.l_start = 1073741824;
13311 fl.l_len = 1;
13312 fl.l_type = F_WRLCK;
13313 if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
13314
13315 printf(" Write-locking 510 byte from 1073741826");
13316 fl.l_start = 1073741826;
13317 fl.l_len = 510;
13318 if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
13319
13320 printf(" Unlocking 2 byte from 1073741824");
13321 fl.l_start = 1073741824;
13322 fl.l_len = 2;
13323 fl.l_type = F_UNLCK;
13324 if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
13325
13326 close(fd);
13327 return 0;
13328 }
13329
13330 /*
13331 * Test if permissions of freshly created directories allow entries
13332 * below them. This was a problem with OpenOffice.org and gcompris.
13333 * Mounting with option 'sync' seem to solve this problem while
13334 * slowing down file operations.
13335 */
13336 int test_subdirectory_creation(void) {
13337 #define LEVELS 5
13338 char *path = strdup("test");
13339 char *dirs[LEVELS];
13340 int level;
13341 printf("info: testing subdirectory creation\n");
13342 for (level = 0; level &lt; LEVELS; level++) {
13343 char *newpath = NULL;
13344 if (-1 == mkdir(path, 0777)) {
13345 printf(" error: Unable to create directory '%s': %s\n",
13346 path, strerror(errno));
13347 break;
13348 }
13349 asprintf(&newpath, "%s/%s", path, "test");
13350 free(path);
13351 path = newpath;
13352 }
13353 return 0;
13354 }
13355
13356 /*
13357 * Test if symlinks can be created. This was a problem detected with
13358 * KDE.
13359 */
13360 int test_symlinks(void) {
13361 printf("info: testing symlink creation\n");
13362 unlink("symlink");
13363 if (-1 == symlink("file", "symlink"))
13364 printf(" error: Unable to create symlink\n");
13365 return 0;
13366 }
13367
13368 int main(int argc, char **argv) {
13369 printf("Testing POSIX/Unix sematics on file system\n");
13370 test_symlinks();
13371 test_subdirectory_creation();
13372 #ifdef TEST_SQLITE
13373 test_sqlite_open();
13374 #endif /* TEST_SQLITE */
13375 test_gcompris_locking();
13376 return 0;
13377 }
13378 </pre>
13379
13380 <p>When everything is working, it should print something like
13381 this:</p>
13382
13383 <pre>
13384 Testing POSIX/Unix sematics on file system
13385 info: testing symlink creation
13386 info: testing subdirectory creation
13387 info: sqlite worked
13388 info: testing fcntl locking
13389 Read-locking 1 byte from 1073741824
13390 Read-locking 510 byte from 1073741826
13391 Unlocking 1 byte from 1073741824
13392 Write-locking 1 byte from 1073741824
13393 Write-locking 510 byte from 1073741826
13394 Unlocking 2 byte from 1073741824
13395 </pre>
13396
13397 <p>I do not remember the exact details of the problems we saw, but one
13398 of them was with locking, where if I remember correctly, POSIX allow a
13399 read-only lock to be upgraded to a read-write lock without unlocking
13400 the read-only lock (while Windows do not). Another was a bug in the
13401 CIFS/SMB client implementation in the Linux kernel where directory
13402 meta information would be wrong for a fraction of a second, making
13403 OpenOffice.org fail to create its deep directory tree because it was
13404 not allowed to create files in its freshly created directory.</p>
13405
13406 <p>Anyway, here is a nice tool for your tool box, might you never need
13407 it. :)</p>
13408
13409 <p>Update 2010-08-27: Michael Gebetsroither report that he found the
13410 script so useful that he created a GIT repository and stored it in
13411 <a href="http://github.com/gebi/fs-test">http://github.com/gebi/fs-test</a>.</p>
13412
13413 </div>
13414 <div class="tags">
13415
13416
13417 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>.
13418
13419
13420 </div>
13421 </div>
13422 <div class="padding"></div>
13423
13424 <div class="entry">
13425 <div class="title">
13426 <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>
13427 </div>
13428 <div class="date">
13429 7th August 2010
13430 </div>
13431 <div class="body">
13432 <p>A few days ago, I
13433 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html">tried
13434 to install</a> a Roaming workation profile from Debian Edu/Squeeze
13435 while on the university network here at the University of Oslo, and
13436 noticed how much had to change to get it operational using the
13437 university infrastructure. It was fairly easy, but it occured to me
13438 that Debian Edu would improve a lot if I could get the client to
13439 connect without any changes at all, and thus let the client configure
13440 itself during installation and first boot to use the infrastructure
13441 around it. Now I am a huge step further along that road.</p>
13442
13443 <p>With our current squeeze-test packages, I can select the roaming
13444 workstation profile and get a working laptop connecting to the
13445 university LDAP server for user and group and our active directory
13446 servers for Kerberos authentication. All this without any
13447 configuration at all during installation. My users home directory got
13448 a bookmark in the KDE menu to mount it via SMB, with the correct URL.
13449 In short, openldap and sssd is correctly configured. In addition to
13450 this, the client look for http://wpad/wpad.dat to configure a web
13451 proxy, and when it fail to find it no proxy settings are stored in
13452 /etc/environment and /etc/apt/apt.conf. Iceweasel and KDE is
13453 configured to look for the same wpad configuration and also do not use
13454 a proxy when at the university network. If the machine is moved to a
13455 network with such wpad setup, it would automatically use it when DHCP
13456 gave it a IP address.</p>
13457
13458 <p>The LDAP server is located using DNS, by first looking for the DNS
13459 entry ldap.$domain. If this do not exist, it look for the
13460 _ldap._tcp.$domain SRV records and use the first one as the LDAP
13461 server. Next, it connects to the LDAP server and search all
13462 namingContexts entries for posixAccount or posixGroup objects, and
13463 pick the first one as the LDAP base. For Kerberos, a similar
13464 algorithm is used to locate the LDAP server, and the realm is the
13465 uppercase version of $domain.</p>
13466
13467 <p>So, what is not working, you might ask. SMB mounting my home
13468 directory do not work. No idea why, but suspected the incorrect
13469 Kerberos settings in /etc/krb5.conf and /etc/samba/smb.conf might be
13470 the cause. These are not properly configured during installation, and
13471 had to be hand-edited to get the correct Kerberos realm and server,
13472 but SMB mounting still do not work. :(</p>
13473
13474 <p>With this automatic configuration in place, I expect a Debian Edu
13475 roaming profile installation would be able to automatically detect and
13476 connect to any site using LDAP and Kerberos for NSS directory and PAM
13477 authentication. It should also work out of the box in a Active
13478 Directory environment providing posixAccount and posixGroup objects
13479 with UID and GID values.</p>
13480
13481 <p>If you want to help out with implementing these things for Debian
13482 Edu, please contact us on debian-edu@lists.debian.org.</p>
13483
13484 </div>
13485 <div class="tags">
13486
13487
13488 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>.
13489
13490
13491 </div>
13492 </div>
13493 <div class="padding"></div>
13494
13495 <div class="entry">
13496 <div class="title">
13497 <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>
13498 </div>
13499 <div class="date">
13500 3rd August 2010
13501 </div>
13502 <div class="body">
13503 <p>The new roaming workstation profile in Debian Edu/Squeeze is fairly
13504 similar to the laptop setup am I working on using Ubuntu for the
13505 University of Oslo, and just for the heck of it, I tested today how
13506 hard it would be to integrate that profile into the university
13507 infrastructure. In this case, it is the university LDAP server,
13508 Active Directory Kerberos server and SMB mounting from the Netapp file
13509 servers.</p>
13510
13511 <p>I was pleasantly surprised that the only three files needed to be
13512 changed (/etc/sssd/sssd.conf, /etc/ldap.conf and
13513 /etc/mklocaluser.d/20-debian-edu-config) and one file had to be added
13514 (/usr/share/perl5/Debian/Edu_Local.pm), to get the client working.
13515 Most of the changes were to get the client to use the university LDAP
13516 for NSS and Kerberos server for PAM, but one was to change a hard
13517 coded DNS domain name in the mklocaluser hook from .intern to
13518 .uio.no.</p>
13519
13520 <p>This testing was so encouraging, that I went ahead and adjusted the
13521 Debian Edu scripts and setup in subversion to centralise the roaming
13522 workstation setup a bit more and avoid the hardcoded DNS domain name,
13523 so that when I test this tomorrow, I expect to get away with modifying
13524 only /etc/sssd/sssd.conf and /etc/ldap.conf to get it to use the
13525 university servers.</p>
13526
13527 <p>My goal is to get the clients to have no hardcoded settings and
13528 fetch all their initial setup during installation and first boot, to
13529 allow them to be inserted also into environments where the default
13530 setup in Debian Edu has been changed or as with the university, where
13531 the environment is different but provides the protocols Debian Edu
13532 uses.</p>
13533
13534 </div>
13535 <div class="tags">
13536
13537
13538 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>.
13539
13540
13541 </div>
13542 </div>
13543 <div class="padding"></div>
13544
13545 <div class="entry">
13546 <div class="title">
13547 <a href="http://people.skolelinux.org/pere/blog/Circular_package_dependencies_harms_apt_recovery.html">Circular package dependencies harms apt recovery</a>
13548 </div>
13549 <div class="date">
13550 27th July 2010
13551 </div>
13552 <div class="body">
13553 <p>I discovered this while doing
13554 <a href="http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html">automated
13555 testing of upgrades from Debian Lenny to Squeeze</a>. A few packages
13556 in Debian still got circular dependencies, and it is often claimed
13557 that apt and aptitude should be able to handle this just fine, but
13558 some times these dependency loops causes apt to fail.</p>
13559
13560 <p>An example is from todays
13561 <a href="http://people.skolelinux.org/~pere/debian-upgrade-testing//test-20100727-lenny-squeeze-kde-aptitude.txt">upgrade
13562 of KDE using aptitude</a>. In it, a bug in kdebase-workspace-data
13563 causes perl-modules to fail to upgrade. The cause is simple. If a
13564 package fail to unpack, then only part of packages with the circular
13565 dependency might end up being unpacked when unpacking aborts, and the
13566 ones already unpacked will fail to configure in the recovery phase
13567 because its dependencies are unavailable.</p>
13568
13569 <p>In this log, the problem manifest itself with this error:</p>
13570
13571 <blockquote><pre>
13572 dpkg: dependency problems prevent configuration of perl-modules:
13573 perl-modules depends on perl (>= 5.10.1-1); however:
13574 Version of perl on system is 5.10.0-19lenny2.
13575 dpkg: error processing perl-modules (--configure):
13576 dependency problems - leaving unconfigured
13577 </pre></blockquote>
13578
13579 <p>The perl/perl-modules circular dependency is already
13580 <a href="http://bugs.debian.org/527917">reported as a bug</a>, and will
13581 hopefully be solved as soon as possible, but it is not the only one,
13582 and each one of these loops in the dependency tree can cause similar
13583 failures. Of course, they only occur when there are bugs in other
13584 packages causing the unpacking to fail, but it is rather nasty when
13585 the failure of one package causes the problem to become worse because
13586 of dependency loops.</p>
13587
13588 <p>Thanks to
13589 <a href="http://lists.debian.org/debian-devel/2010/06/msg00116.html">the
13590 tireless effort by Bill Allombert</a>, the number of circular
13591 dependencies
13592 <a href="http://debian.semistable.com/debgraph.out.html">left in Debian
13593 is dropping</a>, and perhaps it will reach zero one day. :)</p>
13594
13595 <p>Todays testing also exposed a bug in
13596 <a href="http://bugs.debian.org/590605">update-notifier</a> and
13597 <a href="http://bugs.debian.org/590604">different behaviour</a> between
13598 apt-get and aptitude, the latter possibly caused by some circular
13599 dependency. Reported both to BTS to try to get someone to look at
13600 it.</p>
13601
13602 </div>
13603 <div class="tags">
13604
13605
13606 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>.
13607
13608
13609 </div>
13610 </div>
13611 <div class="padding"></div>
13612
13613 <div class="entry">
13614 <div class="title">
13615 <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>
13616 </div>
13617 <div class="date">
13618 27th July 2010
13619 </div>
13620 <div class="body">
13621 <p>I just posted this announcement culminating several months of work
13622 with the next Debian Edu release. Not nearly done, but one major step
13623 completed.</p>
13624
13625 <blockquote>
13626 <p>This is the first test release based on Squeeze. The focus of this
13627 release is to test the user application selection. To have a look,
13628 install the standalone profile and let the developers know if the set
13629 of installed packages i.e. applications should be modified. If some
13630 user application is missing, or if there are some applications that no
13631 longer make sense to be included in Debian Edu, please let us know.
13632 Also, if a useful application is missing the translation for your
13633 language of choice, please let us know too.</p>
13634
13635 <p>In addition, feedback and help to polish the desktop (menus,
13636 artwork, starters, etc.) is appreciated. We would like to ship a nice
13637 and handy KDE4 desktop targeted for schools out of the box.</p>
13638
13639 <p>The other profiles should be installable, but there is a lot more
13640 work left to be done before they are ready, so do not expect to
13641 much.</p>
13642
13643 <p>Changes compared to the lenny based version</p>
13644
13645 <ul>
13646 <li>Everything from Debian Squeeze
13647 <ul>
13648 <li>Desktop environment KDE 4.4 => the new KDE desktop in
13649 combination with some new artwork
13650 <li>Web browser Iceweasel 3.5
13651 <li>OpenOffice.org 3.2
13652 <li>Educational toolbox GCompris 9.3
13653 <li>Music creator Rosegarden 10.04.2
13654 <li>Image editor Gimp 2.6.10
13655 <li>Virtual universe Celestia 1.6.0
13656 <li>Virtual stargazer Stellarium 0.10.4
13657 <li>3D modeler Blender 2.49.2 (new application)
13658 <li>Video editor Kdenlive 0.7.7 (new application)
13659 </ul></li>
13660 <li>Now using Kerberos for password checking (migration not finished).
13661 Enabled for:
13662 <ul>
13663 <li>PAM
13664 <li>LDAP
13665 <li>IMAP
13666 <li>SMTP (sender verification)
13667 </ul>
13668 </li>
13669 <li>New experimental roaming workstation profile for laptops.</li>
13670 <li>Show welcome page to users when they first log in. The URL is
13671 fetched from LDAP.</li>
13672 <li>New LXDE desktop option, in addition to KDE (default) and Gnome.</li>
13673 <li>General cleanup (not finished)</li>
13674 </ul>
13675 <p>The following features are not working as they should</p>
13676
13677 <ul>
13678 <li>No web based administration tool for creating users and groups. The
13679 scripts ldap-createuser-krb and ldap-add-user-to-group can be used
13680 for testing.</li>
13681 <li>DVD installs are missing debian-installer images for the PXE boot,
13682 and do not set up the PXE menu on eth0 because of this. LTSP
13683 clients should still boot from eth1 on thin client servers.</li>
13684 <li>The restructured KDE menu is not implemented.</li>
13685 <li>The LDAP server setup need to be reviewed for security.</li>
13686 <li>The LDAP directory structure need to be reworked.</li>
13687 <li>Different sets of packages are installed when using the DVD and the
13688 netinst CD. More packages are installed using the netinst CD.</li>
13689 <li>The jackd package fail to install. This is believed to be caused by
13690 some ongoing transition, and hopefully should be solved soon. The
13691 jackd1 package can be installed manually for those that need it.</li>
13692 <li>Some packages lack translations. See
13693 http://wiki.debian.org/DebianEdu/Status/Squeeze for updated status,
13694 and help out with translations.</li>
13695 </ul>
13696
13697 <p>To download this multiarch netinstall release you can use</p>
13698
13699 <ul>
13700 <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>
13701 <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>
13702 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso</li>
13703 </ul>
13704 <p>To download this multiarch dvd release you can use</p>
13705
13706 <ul>
13707 <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>
13708 <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>
13709 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso</li>
13710 </ul>
13711
13712 <p>There is no source DVD available yet. It will be prepared when we
13713 get closer to the final release.</p>
13714
13715 <p>The MD5SUM of these images are</p>
13716
13717 <ul>
13718 <li>3dbf45d59f42a53518b6e3c9ec3b5eb6 debian-edu-6.0.0+edua0-CD.iso</li>
13719 <li>22f2cbfce281d1c6e478be452638675d debian-edu-6.0.0+edua0-DVD.iso</li>
13720 </ul>
13721
13722 <p>The SHA1SUM of these images are</p>
13723 <ul>
13724 <li>c53d1b69b40cf37cd27aefaf33f6f6a3821bedf0 debian-edu-6.0.0+edua0-CD.iso</li>
13725 <li>2ec29d7db676d59d32197b05c277ffe16348376c debian-edu-6.0.0+edua0-DVD.iso</li>
13726 </ul>
13727 <p>How to report bugs:
13728 http://wiki.debian.org/DebianEdu/HowTo/ReportBugsInBugzilla</p>
13729
13730 <p>Please direct replies to debian-edu@lists.debian.org</p>
13731 </blockquote>
13732
13733 </div>
13734 <div class="tags">
13735
13736
13737 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>.
13738
13739
13740 </div>
13741 </div>
13742 <div class="padding"></div>
13743
13744 <div class="entry">
13745 <div class="title">
13746 <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>
13747 </div>
13748 <div class="date">
13749 25th July 2010
13750 </div>
13751 <div class="body">
13752 <p>The last few months me and the other Debian Edu developers have
13753 been working hard to get the Debian/Squeeze based version of Debian
13754 Edu/Skolelinux into shape. This future version will use Kerberos for
13755 authentication, and services are slowly migrated to single signon,
13756 getting rid of password questions one at the time.</p>
13757
13758 <p>It will also feature a roaming workstation profile with local home
13759 directory, for laptops that are only some times on the Skolelinux
13760 network, and for this profile a shortcut is created in Gnome and KDE
13761 to gain access to the users home directory on the file server. This
13762 shortcut uses SMB at the moment, and yesterday I had time to test if
13763 SMB mounting had started working in KDE after we added the cifs-utils
13764 package. I was pleasantly surprised how well it worked.</p>
13765
13766 <p>Thanks to the recent changes to our samba configuration to get it
13767 to use Kerberos for authentication, there were no question about user
13768 password when mounting the SMB volume. A simple click on the shortcut
13769 in the KDE menu, and a window with the home directory popped
13770 up. :)</p>
13771
13772 <p>One step closer to a single signon solution out of the box in
13773 Debian Edu. We already had PAM, LDAP, IMAP and SMTP in place, and now
13774 also Samba. Next step is Cups and hopefully also NFS.</p>
13775
13776 <p>We had planned a alpha0 release of Debian Edu for today, but thanks
13777 to the autobuilder administrators for some architectures being slow to
13778 sign packages, we are still missing the fixed LTSP package we need for
13779 the release. It was uploaded three days ago with urgency=high, and if
13780 it had entered testing yesterday we would have been able to test it in
13781 time for a alpha0 release today. As the binaries for ia64 and powerpc
13782 still not uploaded to the Debian archive, we need to delay the alpha
13783 release another day.</p>
13784
13785 <p>If you want to help out with implementing Kerberos for Debian Edu,
13786 please contact us on debian-edu@lists.debian.org.</p>
13787
13788 </div>
13789 <div class="tags">
13790
13791
13792 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>.
13793
13794
13795 </div>
13796 </div>
13797 <div class="padding"></div>
13798
13799 <div class="entry">
13800 <div class="title">
13801 <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>
13802 </div>
13803 <div class="date">
13804 18th July 2010
13805 </div>
13806 <div class="body">
13807 <p>Thanks to
13808 <a href="http://feedproxy.google.com/~r/Opengeodata/~3/wUTCzDZk3lc/project-of-the-week-which-way-home">todays
13809 opengeodata blog entry</a>, I just discovered that the
13810 OpenStreetmap.org site have gotten
13811 <a href="http://nroets.dev.openstreetmap.org/demo/index.html?layers=B000FTFTT">support
13812 for calculating routes</a>. The support is still experimental and
13813 only available from the development server, until more experience is
13814 gathered on the user interface and any scalability issues.</p>
13815
13816 <p>Earlier, the routing I knew about using the OpenStreetmap.org data
13817 was provided by <a href="http://maps.cloudmade.com/">Cloudmade</a>,
13818 but having it on the main page is required to make everyone aware of
13819 the issue. I've had people reject Openstreetmap.org as a viable
13820 alternative for them because the front page lacked routing support,
13821 and I hope their needs will be catered for when routing show up on the
13822 www.openstreetmap.org front page.</p>
13823
13824 </div>
13825 <div class="tags">
13826
13827
13828 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>.
13829
13830
13831 </div>
13832 </div>
13833 <div class="padding"></div>
13834
13835 <div class="entry">
13836 <div class="title">
13837 <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>
13838 </div>
13839 <div class="date">
13840 17th July 2010
13841 </div>
13842 <div class="body">
13843 <p>This is a
13844 <a href="http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html">followup</a>
13845 on my
13846 <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
13847 work</a> on
13848 <a href="http://people.skolelinux.org/pere/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html">merging
13849 all</a> the computer related LDAP objects in Debian Edu.</p>
13850
13851 <p>As a step to try to see if it possible to merge the DNS and DHCP
13852 LDAP objects, I have had a look at how the packages pdns-backend-ldap
13853 and dhcp3-server-ldap in Debian use the LDAP server. The two
13854 implementations are quite different in how they use LDAP.</p>
13855
13856 To get this information, I started slapd with debugging enabled and
13857 dumped the debug output to a file to get the LDAP searches performed
13858 on a Debian Edu main-server. Here is a summary.
13859
13860 <p><strong>powerdns</strong></p>
13861
13862 <a href="http://www.linuxnetworks.de/doc/index.php/PowerDNS_LDAP_Backend">Clues
13863 on how to</a> set up PowerDNS to use a LDAP backend is available on
13864 the web.
13865
13866 <p>PowerDNS have two modes of operation using LDAP as its backend.
13867 One "strict" mode where the forward and reverse DNS lookups are done
13868 using the same LDAP objects, and a "tree" mode where the forward and
13869 reverse entries are in two different subtrees in LDAP with a structure
13870 based on the DNS names, as in tjener.intern and
13871 2.2.0.10.in-addr.arpa.</p>
13872
13873 <p>In tree mode, the server is set up to use a LDAP subtree as its
13874 base, and uses a "base" scoped search for the DNS name by adding
13875 "dc=tjener,dc=intern," to the base with a filter for
13876 "(associateddomain=tjener.intern)" for the forward entry and
13877 "dc=2,dc=2,dc=0,dc=10,dc=in-addr,dc=arpa," with a filter for
13878 "(associateddomain=2.2.0.10.in-addr.arpa)" for the reverse entry. For
13879 forward entries, it is looking for attributes named dnsttl, arecord,
13880 nsrecord, cnamerecord, soarecord, ptrrecord, hinforecord, mxrecord,
13881 txtrecord, rprecord, afsdbrecord, keyrecord, aaaarecord, locrecord,
13882 srvrecord, naptrrecord, kxrecord, certrecord, dsrecord, sshfprecord,
13883 ipseckeyrecord, rrsigrecord, nsecrecord, dnskeyrecord, dhcidrecord,
13884 spfrecord and modifytimestamp. For reverse entries it is looking for
13885 the attributes dnsttl, arecord, nsrecord, cnamerecord, soarecord,
13886 ptrrecord, hinforecord, mxrecord, txtrecord, rprecord, aaaarecord,
13887 locrecord, srvrecord, naptrrecord and modifytimestamp. The equivalent
13888 ldapsearch commands could look like this:</p>
13889
13890 <blockquote><pre>
13891 ldapsearch -h ldap \
13892 -b dc=tjener,dc=intern,ou=hosts,dc=skole,dc=skolelinux,dc=no \
13893 -s base -x '(associateddomain=tjener.intern)' dNSTTL aRecord nSRecord \
13894 cNAMERecord sOARecord pTRRecord hInfoRecord mXRecord tXTRecord \
13895 rPRecord aFSDBRecord KeyRecord aAAARecord lOCRecord sRVRecord \
13896 nAPTRRecord kXRecord certRecord dSRecord sSHFPRecord iPSecKeyRecord \
13897 rRSIGRecord nSECRecord dNSKeyRecord dHCIDRecord sPFRecord modifyTimestamp
13898
13899 ldapsearch -h ldap \
13900 -b dc=2,dc=2,dc=0,dc=10,dc=in-addr,dc=arpa,ou=hosts,dc=skole,dc=skolelinux,dc=no \
13901 -s base -x '(associateddomain=2.2.0.10.in-addr.arpa)'
13902 dnsttl, arecord, nsrecord, cnamerecord soarecord ptrrecord \
13903 hinforecord mxrecord txtrecord rprecord aaaarecord locrecord \
13904 srvrecord naptrrecord modifytimestamp
13905 </pre></blockquote>
13906
13907 <p>In Debian Edu/Lenny, the PowerDNS tree mode is used with
13908 ou=hosts,dc=skole,dc=skolelinux,dc=no as the base, and these are two
13909 example LDAP objects used there. In addition to these objects, the
13910 parent objects all th way up to ou=hosts,dc=skole,dc=skolelinux,dc=no
13911 also exist.</p>
13912
13913 <blockquote><pre>
13914 dn: dc=tjener,dc=intern,ou=hosts,dc=skole,dc=skolelinux,dc=no
13915 objectclass: top
13916 objectclass: dnsdomain
13917 objectclass: domainrelatedobject
13918 dc: tjener
13919 arecord: 10.0.2.2
13920 associateddomain: tjener.intern
13921
13922 dn: dc=2,dc=2,dc=0,dc=10,dc=in-addr,dc=arpa,ou=hosts,dc=skole,dc=skolelinux,dc=no
13923 objectclass: top
13924 objectclass: dnsdomain2
13925 objectclass: domainrelatedobject
13926 dc: 2
13927 ptrrecord: tjener.intern
13928 associateddomain: 2.2.0.10.in-addr.arpa
13929 </pre></blockquote>
13930
13931 <p>In strict mode, the server behaves differently. When looking for
13932 forward DNS entries, it is doing a "subtree" scoped search with the
13933 same base as in the tree mode for a object with filter
13934 "(associateddomain=tjener.intern)" and requests the attributes dnsttl,
13935 arecord, nsrecord, cnamerecord, soarecord, ptrrecord, hinforecord,
13936 mxrecord, txtrecord, rprecord, aaaarecord, locrecord, srvrecord,
13937 naptrrecord and modifytimestamp. For reverse entires it also do a
13938 subtree scoped search but this time the filter is "(arecord=10.0.2.2)"
13939 and the requested attributes are associateddomain, dnsttl and
13940 modifytimestamp. In short, in strict mode the objects with ptrrecord
13941 go away, and the arecord attribute in the forward object is used
13942 instead.</p>
13943
13944 <p>The forward and reverse searches can be simulated using ldapsearch
13945 like this:</p>
13946
13947 <blockquote><pre>
13948 ldapsearch -h ldap -b ou=hosts,dc=skole,dc=skolelinux,dc=no -s sub -x \
13949 '(associateddomain=tjener.intern)' dNSTTL aRecord nSRecord \
13950 cNAMERecord sOARecord pTRRecord hInfoRecord mXRecord tXTRecord \
13951 rPRecord aFSDBRecord KeyRecord aAAARecord lOCRecord sRVRecord \
13952 nAPTRRecord kXRecord certRecord dSRecord sSHFPRecord iPSecKeyRecord \
13953 rRSIGRecord nSECRecord dNSKeyRecord dHCIDRecord sPFRecord modifyTimestamp
13954
13955 ldapsearch -h ldap -b ou=hosts,dc=skole,dc=skolelinux,dc=no -s sub -x \
13956 '(arecord=10.0.2.2)' associateddomain dnsttl modifytimestamp
13957 </pre></blockquote>
13958
13959 <p>In addition to the forward and reverse searches , there is also a
13960 search for SOA records, which behave similar to the forward and
13961 reverse lookups.</p>
13962
13963 <p>A thing to note with the PowerDNS behaviour is that it do not
13964 specify any objectclass names, and instead look for the attributes it
13965 need to generate a DNS reply. This make it able to work with any
13966 objectclass that provide the needed attributes.</p>
13967
13968 <p>The attributes are normally provided in the cosine (RFC 1274) and
13969 dnsdomain2 schemas. The latter is used for reverse entries like
13970 ptrrecord and recent DNS additions like aaaarecord and srvrecord.</p>
13971
13972 <p>In Debian Edu, we have created DNS objects using the object classes
13973 dcobject (for dc), dnsdomain or dnsdomain2 (structural, for the DNS
13974 attributes) and domainrelatedobject (for associatedDomain). The use
13975 of structural object classes make it impossible to combine these
13976 classes with the object classes used by DHCP.</p>
13977
13978 <p>There are other schemas that could be used too, for example the
13979 dnszone structural object class used by Gosa and bind-sdb for the DNS
13980 attributes combined with the domainrelatedobject object class, but in
13981 this case some unused attributes would have to be included as well
13982 (zonename and relativedomainname).</p>
13983
13984 <p>My proposal for Debian Edu would be to switch PowerDNS to strict
13985 mode and not use any of the existing objectclasses (dnsdomain,
13986 dnsdomain2 and dnszone) when one want to combine the DNS information
13987 with DHCP information, and instead create a auxiliary object class
13988 defined something like this (using the attributes defined for
13989 dnsdomain and dnsdomain2 or dnszone):</p>
13990
13991 <blockquote><pre>
13992 objectclass ( some-oid NAME 'dnsDomainAux'
13993 SUP top
13994 AUXILIARY
13995 MAY ( ARecord $ MDRecord $ MXRecord $ NSRecord $ SOARecord $ CNAMERecord $
13996 DNSTTL $ DNSClass $ PTRRecord $ HINFORecord $ MINFORecord $
13997 TXTRecord $ SIGRecord $ KEYRecord $ AAAARecord $ LOCRecord $
13998 NXTRecord $ SRVRecord $ NAPTRRecord $ KXRecord $ CERTRecord $
13999 A6Record $ DNAMERecord
14000 ))
14001 </pre></blockquote>
14002
14003 <p>This will allow any object to become a DNS entry when combined with
14004 the domainrelatedobject object class, and allow any entity to include
14005 all the attributes PowerDNS wants. I've sent an email to the PowerDNS
14006 developers asking for their view on this schema and if they are
14007 interested in providing such schema with PowerDNS, and I hope my
14008 message will be accepted into their mailing list soon.</p>
14009
14010 <p><strong>ISC dhcp</strong></p>
14011
14012 <p>The DHCP server searches for specific objectclass and requests all
14013 the object attributes, and then uses the attributes it want. This
14014 make it harder to figure out exactly what attributes are used, but
14015 thanks to the working example in Debian Edu I can at least get an idea
14016 what is needed without having to read the source code.</p>
14017
14018 <p>In the DHCP server configuration, the LDAP base to use and the
14019 search filter to use to locate the correct dhcpServer entity is
14020 stored. These are the relevant entries from
14021 /etc/dhcp3/dhcpd.conf:</p>
14022
14023 <blockquote><pre>
14024 ldap-base-dn "dc=skole,dc=skolelinux,dc=no";
14025 ldap-dhcp-server-cn "dhcp";
14026 </pre></blockquote>
14027
14028 <p>The DHCP server uses this information to nest all the DHCP
14029 configuration it need. The cn "dhcp" is located using the given LDAP
14030 base and the filter "(&(objectClass=dhcpServer)(cn=dhcp))". The
14031 search result is this entry:</p>
14032
14033 <blockquote><pre>
14034 dn: cn=dhcp,dc=skole,dc=skolelinux,dc=no
14035 cn: dhcp
14036 objectClass: top
14037 objectClass: dhcpServer
14038 dhcpServiceDN: cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
14039 </pre></blockquote>
14040
14041 <p>The content of the dhcpServiceDN attribute is next used to locate the
14042 subtree with DHCP configuration. The DHCP configuration subtree base
14043 is located using a base scope search with base "cn=DHCP
14044 Config,dc=skole,dc=skolelinux,dc=no" and filter
14045 "(&(objectClass=dhcpService)(|(dhcpPrimaryDN=cn=dhcp,dc=skole,dc=skolelinux,dc=no)(dhcpSecondaryDN=cn=dhcp,dc=skole,dc=skolelinux,dc=no)))".
14046 The search result is this entry:</p>
14047
14048 <blockquote><pre>
14049 dn: cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
14050 cn: DHCP Config
14051 objectClass: top
14052 objectClass: dhcpService
14053 objectClass: dhcpOptions
14054 dhcpPrimaryDN: cn=dhcp, dc=skole,dc=skolelinux,dc=no
14055 dhcpStatements: ddns-update-style none
14056 dhcpStatements: authoritative
14057 dhcpOption: smtp-server code 69 = array of ip-address
14058 dhcpOption: www-server code 72 = array of ip-address
14059 dhcpOption: wpad-url code 252 = text
14060 </pre></blockquote>
14061
14062 <p>Next, the entire subtree is processed, one level at the time. When
14063 all the DHCP configuration is loaded, it is ready to receive requests.
14064 The subtree in Debian Edu contain objects with object classes
14065 top/dhcpService/dhcpOptions, top/dhcpSharedNetwork/dhcpOptions,
14066 top/dhcpSubnet, top/dhcpGroup and top/dhcpHost. These provide options
14067 and information about netmasks, dynamic range etc. Leaving out the
14068 details here because it is not relevant for the focus of my
14069 investigation, which is to see if it is possible to merge dns and dhcp
14070 related computer objects.</p>
14071
14072 <p>When a DHCP request come in, LDAP is searched for the MAC address
14073 of the client (00:00:00:00:00:00 in this example), using a subtree
14074 scoped search with "cn=DHCP Config,dc=skole,dc=skolelinux,dc=no" as
14075 the base and "(&(objectClass=dhcpHost)(dhcpHWAddress=ethernet
14076 00:00:00:00:00:00))" as the filter. This is what a host object look
14077 like:</p>
14078
14079 <blockquote><pre>
14080 dn: cn=hostname,cn=group1,cn=THINCLIENTS,cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
14081 cn: hostname
14082 objectClass: top
14083 objectClass: dhcpHost
14084 dhcpHWAddress: ethernet 00:00:00:00:00:00
14085 dhcpStatements: fixed-address hostname
14086 </pre></blockquote>
14087
14088 <p>There is less flexiblity in the way LDAP searches are done here.
14089 The object classes need to have fixed names, and the configuration
14090 need to be stored in a fairly specific LDAP structure. On the
14091 positive side, the invidiual dhcpHost entires can be anywhere without
14092 the DN pointed to by the dhcpServer entries. The latter should make
14093 it possible to group all host entries in a subtree next to the
14094 configuration entries, and this subtree can also be shared with the
14095 DNS server if the schema proposed above is combined with the dhcpHost
14096 structural object class.
14097
14098 <p><strong>Conclusion</strong></p>
14099
14100 <p>The PowerDNS implementation seem to be very flexible when it come
14101 to which LDAP schemas to use. While its "tree" mode is rigid when it
14102 come to the the LDAP structure, the "strict" mode is very flexible,
14103 allowing DNS objects to be stored anywhere under the base cn specified
14104 in the configuration.</p>
14105
14106 <p>The DHCP implementation on the other hand is very inflexible, both
14107 regarding which LDAP schemas to use and which LDAP structure to use.
14108 I guess one could implement ones own schema, as long as the
14109 objectclasses and attributes have the names used, but this do not
14110 really help when the DHCP subtree need to have a fairly fixed
14111 structure.</p>
14112
14113 <p>Based on the observed behaviour, I suspect a LDAP structure like
14114 this might work for Debian Edu:</p>
14115
14116 <blockquote><pre>
14117 ou=services
14118 cn=machine-info (dhcpService) - dhcpServiceDN points here
14119 cn=dhcp (dhcpServer)
14120 cn=dhcp-internal (dhcpSharedNetwork/dhcpOptions)
14121 cn=10.0.2.0 (dhcpSubnet)
14122 cn=group1 (dhcpGroup/dhcpOptions)
14123 cn=dhcp-thinclients (dhcpSharedNetwork/dhcpOptions)
14124 cn=192.168.0.0 (dhcpSubnet)
14125 cn=group1 (dhcpGroup/dhcpOptions)
14126 ou=machines - PowerDNS base points here
14127 cn=hostname (dhcpHost/domainrelatedobject/dnsDomainAux)
14128 </pre></blockquote>
14129
14130 <P>This is not tested yet. If the DHCP server require the dhcpHost
14131 entries to be in the dhcpGroup subtrees, the entries can be stored
14132 there instead of a common machines subtree, and the PowerDNS base
14133 would have to be moved one level up to the machine-info subtree.</p>
14134
14135 <p>The combined object under the machines subtree would look something
14136 like this:</p>
14137
14138 <blockquote><pre>
14139 dn: dc=hostname,ou=machines,cn=machine-info,dc=skole,dc=skolelinux,dc=no
14140 dc: hostname
14141 objectClass: top
14142 objectClass: dhcpHost
14143 objectclass: domainrelatedobject
14144 objectclass: dnsDomainAux
14145 associateddomain: hostname.intern
14146 arecord: 10.11.12.13
14147 dhcpHWAddress: ethernet 00:00:00:00:00:00
14148 dhcpStatements: fixed-address hostname.intern
14149 </pre></blockquote>
14150
14151 </p>One could even add the LTSP configuration associated with a given
14152 machine, as long as the required attributes are available in a
14153 auxiliary object class.</p>
14154
14155 </div>
14156 <div class="tags">
14157
14158
14159 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>.
14160
14161
14162 </div>
14163 </div>
14164 <div class="padding"></div>
14165
14166 <div class="entry">
14167 <div class="title">
14168 <a href="http://people.skolelinux.org/pere/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html">Combining PowerDNS and ISC DHCP LDAP objects</a>
14169 </div>
14170 <div class="date">
14171 14th July 2010
14172 </div>
14173 <div class="body">
14174 <p>For a while now, I have wanted to find a way to change the DNS and
14175 DHCP services in Debian Edu to use the same LDAP objects for a given
14176 computer, to avoid the possibility of having a inconsistent state for
14177 a computer in LDAP (as in DHCP but no DNS entry or the other way
14178 around) and make it easier to add computers to LDAP.</p>
14179
14180 <p>I've looked at how powerdns and dhcpd is using LDAP, and using this
14181 information finally found a solution that seem to work.</p>
14182
14183 <p>The old setup required three LDAP objects for a given computer.
14184 One forward DNS entry, one reverse DNS entry and one DHCP entry. If
14185 we switch powerdns to use its strict LDAP method (ldap-method=strict
14186 in pdns-debian-edu.conf), the forward and reverse DNS entries are
14187 merged into one while making it impossible to transfer the reverse map
14188 to a slave DNS server.</p>
14189
14190 <p>If we also replace the object class used to get the DNS related
14191 attributes to one allowing these attributes to be combined with the
14192 dhcphost object class, we can merge the DNS and DHCP entries into one.
14193 I've written such object class in the dnsdomainaux.schema file (need
14194 proper OIDs, but that is a minor issue), and tested the setup. It
14195 seem to work.</p>
14196
14197 <p>With this test setup in place, we can get away with one LDAP object
14198 for both DNS and DHCP, and even the LTSP configuration I suggested in
14199 an earlier email. The combined LDAP object will look something like
14200 this:</p>
14201
14202 <blockquote><pre>
14203 dn: cn=hostname,cn=group1,cn=THINCLIENTS,cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
14204 cn: hostname
14205 objectClass: dhcphost
14206 objectclass: domainrelatedobject
14207 objectclass: dnsdomainaux
14208 associateddomain: hostname.intern
14209 arecord: 10.11.12.13
14210 dhcphwaddress: ethernet 00:00:00:00:00:00
14211 dhcpstatements: fixed-address hostname
14212 ldapconfigsound: Y
14213 </pre></blockquote>
14214
14215 <p>The DNS server uses the associateddomain and arecord entries, while
14216 the DHCP server uses the dhcphwaddress and dhcpstatements entries
14217 before asking DNS to resolve the fixed-adddress. LTSP will use
14218 dhcphwaddress or associateddomain and the ldapconfig* attributes.</p>
14219
14220 <p>I am not yet sure if I can get the DHCP server to look for its
14221 dhcphost in a different location, to allow us to put the objects
14222 outside the "DHCP Config" subtree, but hope to figure out a way to do
14223 that. If I can't figure out a way to do that, we can still get rid of
14224 the hosts subtree and move all its content into the DHCP Config tree
14225 (which probably should be renamed to be more related to the new
14226 content. I suspect cn=dnsdhcp,ou=services or something like that
14227 might be a good place to put it.</p>
14228
14229 <p>If you want to help out with implementing this for Debian Edu,
14230 please contact us on debian-edu@lists.debian.org.</p>
14231
14232 </div>
14233 <div class="tags">
14234
14235
14236 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>.
14237
14238
14239 </div>
14240 </div>
14241 <div class="padding"></div>
14242
14243 <div class="entry">
14244 <div class="title">
14245 <a href="http://people.skolelinux.org/pere/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html">Idea for storing LTSP configuration in LDAP</a>
14246 </div>
14247 <div class="date">
14248 11th July 2010
14249 </div>
14250 <div class="body">
14251 <p>Vagrant mentioned on IRC today that ltsp_config now support
14252 sourcing files from /usr/share/ltsp/ltsp_config.d/ on the thin
14253 clients, and that this can be used to fetch configuration from LDAP if
14254 Debian Edu choose to store configuration there.</p>
14255
14256 <p>Armed with this information, I got inspired and wrote a test module
14257 to get configuration from LDAP. The idea is to look up the MAC
14258 address of the client in LDAP, and look for attributes on the form
14259 ltspconfigsetting=value, and use this to export SETTING=value to the
14260 LTSP clients.</p>
14261
14262 <p>The goal is to be able to store the LTSP configuration attributes
14263 in a "computer" LDAP object used by both DNS and DHCP, and thus
14264 allowing us to store all information about a computer in one place.</p>
14265
14266 <p>This is a untested draft implementation, and I welcome feedback on
14267 this approach. A real LDAP schema for the ltspClientAux objectclass
14268 need to be written. Comments, suggestions, etc?</p>
14269
14270 <blockquote><pre>
14271 # Store in /opt/ltsp/$arch/usr/share/ltsp/ltsp_config.d/ldap-config
14272 #
14273 # Fetch LTSP client settings from LDAP based on MAC address
14274 #
14275 # Uses ethernet address as stored in the dhcpHost objectclass using
14276 # the dhcpHWAddress attribute or ethernet address stored in the
14277 # ieee802Device objectclass with the macAddress attribute.
14278 #
14279 # This module is written to be schema agnostic, and only depend on the
14280 # existence of attribute names.
14281 #
14282 # The LTSP configuration variables are saved directly using a
14283 # ltspConfig prefix and uppercasing the rest of the attribute name.
14284 # To set the SERVER variable, set the ltspConfigServer attribute.
14285 #
14286 # Some LDAP schema should be created with all the relevant
14287 # configuration settings. Something like this should work:
14288 #
14289 # objectclass ( 1.1.2.2 NAME 'ltspClientAux'
14290 # SUP top
14291 # AUXILIARY
14292 # MAY ( ltspConfigServer $ ltsConfigSound $ ... )
14293
14294 LDAPSERVER=$(debian-edu-ldapserver)
14295 if [ "$LDAPSERVER" ] ; then
14296 LDAPBASE=$(debian-edu-ldapserver -b)
14297 for MAC in $(LANG=C ifconfig |grep -i hwaddr| awk '{print $5}'|sort -u) ; do
14298 filter="(|(dhcpHWAddress=ethernet $MAC)(macAddress=$MAC))"
14299 ldapsearch -h "$LDAPSERVER" -b "$LDAPBASE" -v -x "$filter" | \
14300 grep '^ltspConfig' | while read attr value ; do
14301 # Remove prefix and convert to upper case
14302 attr=$(echo $attr | sed 's/^ltspConfig//i' | tr a-z A-Z)
14303 # bass value on to clients
14304 eval "$attr=$value; export $attr"
14305 done
14306 done
14307 fi
14308 </pre></blockquote>
14309
14310 <p>I'm not sure this shell construction will work, because I suspect
14311 the while block might end up in a subshell causing the variables set
14312 there to not show up in ltsp-config, but if that is the case I am sure
14313 the code can be restructured to make sure the variables are passed on.
14314 I expect that can be solved with some testing. :)</p>
14315
14316 <p>If you want to help out with implementing this for Debian Edu,
14317 please contact us on debian-edu@lists.debian.org.</p>
14318
14319 <p>Update 2010-07-17: I am aware of another effort to store LTSP
14320 configuration in LDAP that was created around year 2000 by
14321 <a href="http://www.pcxperience.com/thinclient/documentation/ldap.html">PC
14322 Xperience, Inc., 2000</a>. I found its
14323 <a href="http://people.redhat.com/alikins/ltsp/ldap/">files</a> on a
14324 personal home page over at redhat.com.</p>
14325
14326 </div>
14327 <div class="tags">
14328
14329
14330 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>.
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/jXplorer__a_very_nice_LDAP_GUI.html">jXplorer, a very nice LDAP GUI</a>
14340 </div>
14341 <div class="date">
14342 9th July 2010
14343 </div>
14344 <div class="body">
14345 <p>Since
14346 <a href="http://people.skolelinux.org/pere/blog/LUMA__a_very_nice_LDAP_GUI.html">my
14347 last post</a> about available LDAP tools in Debian, I was told about a
14348 LDAP GUI that is even better than luma. The java application
14349 <a href="http://jxplorer.org/">jXplorer</a> is claimed to be capable of
14350 moving LDAP objects and subtrees using drag-and-drop, and can
14351 authenticate using Kerberos. I have only tested the Kerberos
14352 authentication, but do not have a LDAP setup allowing me to rewrite
14353 LDAP with my test user yet. It is
14354 <a href="http://packages.qa.debian.org/j/jxplorer.html">available in
14355 Debian</a> testing and unstable at the moment. The only problem I
14356 have with it is how it handle errors. If something go wrong, its
14357 non-intuitive behaviour require me to go through some query work list
14358 and remove the failing query. Nothing big, but very annoying.</p>
14359
14360 </div>
14361 <div class="tags">
14362
14363
14364 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>.
14365
14366
14367 </div>
14368 </div>
14369 <div class="padding"></div>
14370
14371 <div class="entry">
14372 <div class="title">
14373 <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>
14374 </div>
14375 <div class="date">
14376 3rd July 2010
14377 </div>
14378 <div class="body">
14379 <p>Here is a short update on my <a
14380 href="http://people.skolelinux.org/~pere/debian-upgrade-testing/">my
14381 Debian Lenny->Squeeze upgrade testing</a>. Here is a summary of the
14382 difference for Gnome when it is upgraded by apt-get and aptitude. I'm
14383 not reporting the status for KDE, because the upgrade crashes when
14384 aptitude try because of missing conflicts
14385 (<a href="http://bugs.debian.org/584861">#584861</a> and
14386 <a href="http://bugs.debian.org/585716">#585716</a>).</p>
14387
14388 <p>At the end of the upgrade test script, dpkg -l is executed to get a
14389 complete list of the installed packages. Based on this I see these
14390 differences when I did a test run today. As usual, I do not really
14391 know what the correct set of packages would be, but thought it best to
14392 publish the difference.</p>
14393
14394 <p>Installed using apt-get, missing with aptitude</p>
14395
14396 <blockquote><p>
14397 at-spi cpp-4.3 finger gnome-spell gstreamer0.10-gnomevfs
14398 libatspi1.0-0 libcupsys2 libeel2-data libgail-common libgdl-1-common
14399 libgnomeprint2.2-data libgnomeprintui2.2-common libgnomevfs2-bin
14400 libgtksourceview-common libpt-1.10.10-plugins-alsa
14401 libpt-1.10.10-plugins-v4l libservlet2.4-java libxalan2-java
14402 libxerces2-java openoffice.org-writer2latex openssl-blacklist p7zip
14403 python-4suite-xml python-eggtrayicon python-gtkhtml2
14404 python-gtkmozembed svgalibg1 xserver-xephyr zip
14405 </p></blockquote>
14406
14407 <p>Installed using apt-get, removed with aptitude</p>
14408
14409 <blockquote><p>
14410 bluez-utils dhcdbd djvulibre-desktop epiphany-gecko
14411 gnome-app-install gnome-mount gnome-vfs-obexftp gnome-volume-manager
14412 libao2 libavahi-compat-libdnssd1 libavahi-core5 libbind9-50
14413 libbluetooth2 libcamel1.2-11 libcdio7 libcucul0 libcurl3
14414 libdirectfb-1.0-0 libdvdread3 libedata-cal1.2-6 libedataserver1.2-9
14415 libeel2-2.20 libepc-1.0-1 libepc-ui-1.0-1 libexchange-storage1.2-3
14416 libfaad0 libgd2-noxpm libgda3-3 libgda3-common libggz2 libggzcore9
14417 libggzmod4 libgksu1.2-0 libgksuui1.0-1 libgmyth0 libgnome-desktop-2
14418 libgnome-pilot2 libgnomecups1.0-1 libgnomeprint2.2-0
14419 libgnomeprintui2.2-0 libgpod3 libgraphviz4 libgtkhtml2-0
14420 libgtksourceview1.0-0 libgucharmap6 libhesiod0 libicu38 libisccc50
14421 libisccfg50 libiw29 libkpathsea4 libltdl3 liblwres50 libmagick++10
14422 libmagick10 libmalaga7 libmtp7 libmysqlclient15off libnautilus-burn4
14423 libneon27 libnm-glib0 libnm-util0 libopal-2.2 libosp5
14424 libparted1.8-10 libpisock9 libpisync1 libpoppler-glib3 libpoppler3
14425 libpt-1.10.10 libraw1394-8 libsensors3 libsmbios2 libsoup2.2-8
14426 libssh2-1 libsuitesparse-3.1.0 libswfdec-0.6-90 libtalloc1
14427 libtotem-plparser10 libtrackerclient0 libvoikko1 libxalan2-java-gcj
14428 libxerces2-java-gcj libxklavier12 libxtrap6 libxxf86misc1 libzephyr3
14429 mysql-common swfdec-gnome totem-gstreamer wodim
14430 </p></blockquote>
14431
14432 <p>Installed using aptitude, missing with apt-get</p>
14433
14434 <blockquote><p>
14435 gnome gnome-desktop-environment hamster-applet python-gnomeapplet
14436 python-gnomekeyring python-wnck rhythmbox-plugins xorg
14437 xserver-xorg-input-all xserver-xorg-input-evdev
14438 xserver-xorg-input-kbd xserver-xorg-input-mouse
14439 xserver-xorg-input-synaptics xserver-xorg-video-all
14440 xserver-xorg-video-apm xserver-xorg-video-ark xserver-xorg-video-ati
14441 xserver-xorg-video-chips xserver-xorg-video-cirrus
14442 xserver-xorg-video-dummy xserver-xorg-video-fbdev
14443 xserver-xorg-video-glint xserver-xorg-video-i128
14444 xserver-xorg-video-i740 xserver-xorg-video-mach64
14445 xserver-xorg-video-mga xserver-xorg-video-neomagic
14446 xserver-xorg-video-nouveau xserver-xorg-video-nv
14447 xserver-xorg-video-r128 xserver-xorg-video-radeon
14448 xserver-xorg-video-radeonhd xserver-xorg-video-rendition
14449 xserver-xorg-video-s3 xserver-xorg-video-s3virge
14450 xserver-xorg-video-savage xserver-xorg-video-siliconmotion
14451 xserver-xorg-video-sis xserver-xorg-video-sisusb
14452 xserver-xorg-video-tdfx xserver-xorg-video-tga
14453 xserver-xorg-video-trident xserver-xorg-video-tseng
14454 xserver-xorg-video-vesa xserver-xorg-video-vmware
14455 xserver-xorg-video-voodoo
14456 </p></blockquote>
14457
14458 <p>Installed using aptitude, removed with apt-get</p>
14459
14460 <blockquote><p>
14461 deskbar-applet xserver-xorg xserver-xorg-core
14462 xserver-xorg-input-wacom xserver-xorg-video-intel
14463 xserver-xorg-video-openchrome
14464 </p></blockquote>
14465
14466 <p>I was told on IRC that the xorg-xserver package was
14467 <a href="http://git.debian.org/?p=pkg-xorg/xserver/xorg-server.git;a=commit;h=9c8080d06c457932d3bfec021c69ac000aa60120">changed
14468 in git</a> today to try to get apt-get to not remove xorg completely.
14469 No idea when it hits Squeeze, but when it does I hope it will reduce
14470 the difference somewhat.
14471
14472 </div>
14473 <div class="tags">
14474
14475
14476 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>.
14477
14478
14479 </div>
14480 </div>
14481 <div class="padding"></div>
14482
14483 <div class="entry">
14484 <div class="title">
14485 <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>
14486 </div>
14487 <div class="date">
14488 1st July 2010
14489 </div>
14490 <div class="body">
14491 <p>For a laptop, centralized user directories and password checking is
14492 a bit troubling. Laptops are typically used also when not connected
14493 to the network, and it is vital for a user to be able to log in or
14494 unlock the screen saver also when a central server is unavailable.
14495 This is possible by caching passwords and directory information (user
14496 and group attributes) locally, and the packages to do so are available
14497 in Debian. Here follow two recipes to set this up in Debian/Squeeze.
14498 It is also possible to set up in Debian/Lenny, but require more manual
14499 setup there because pam-auth-update is missing in Lenny.</p>
14500
14501 <h2>LDAP/Kerberos + nscd + libpam-ccreds + libpam-mklocaluser/pam_mkhomedir</h2>
14502
14503 This is the traditional method with a twist. The password caching is
14504 provided by libpam-ccreds (version 10-4 or later is needed on
14505 Squeeze), and the directory caching is done by nscd. The directory
14506 lookup and password checking is done using LDAP. If one want to use
14507 Kerberos for password checking the libpam-ldapd package can be
14508 replaced with libpam-krb5 or libpam-heimdal. If one is happy having a
14509 local home directory with the path listed in LDAP, one can use the
14510 pam_mkhomedir module from pam-modules to make this happen instead of
14511 using libpam-mklocaluser. A setup for pam-auth-update to enable
14512 pam_mkhomedir will have to be written until a fix for
14513 <a href="http://bugs.debian.org/568577">bug #568577</a> is in the
14514 archive. Because I believe it is a bad idea to have local home
14515 directories using misleading paths like /site/server/partition/, I
14516 prefer to create a local user with the home directory in /home/. This
14517 is done using the libpam-mklocaluser package.</p>
14518
14519 <p>These packages need to be installed and configured</p>
14520
14521 <blockquote><pre>
14522 libnss-ldapd libpam-ldapd nscd libpam-ccreds libpam-mklocaluser
14523 </pre></blockquote>
14524
14525 <p>The ldapd packages will ask for LDAP connection information, and
14526 one have to fill in the values that fits ones own site. Make sure the
14527 PAM part uses encrypted connections, to make sure the password is not
14528 sent in clear text to the LDAP server. I've been unable to get TLS
14529 certificate checking for a self signed certificate working, which make
14530 LDAP authentication unsafe for Debian Edu (nslcd is not checking if it
14531 is talking to the correct LDAP server), and very much welcome feedback
14532 on how to get this working.</p>
14533
14534 <p>Because nscd do not have a default configuration fit for offline
14535 caching until <a href="http://bugs.debian.org/485282">bug #485282</a>
14536 is fixed, this configuration should be used instead of the one
14537 currently in /etc/nscd.conf. The changes are in the fields
14538 reload-count and positive-time-to-live, and is based on the
14539 instructions I found in the
14540 <a href="http://www.flyn.org/laptopldap/">LDAP for Mobile Laptops</a>
14541 instructions by Flyn Computing.</p>
14542
14543 <blockquote><pre>
14544 debug-level 0
14545 reload-count unlimited
14546 paranoia no
14547
14548 enable-cache passwd yes
14549 positive-time-to-live passwd 2592000
14550 negative-time-to-live passwd 20
14551 suggested-size passwd 211
14552 check-files passwd yes
14553 persistent passwd yes
14554 shared passwd yes
14555 max-db-size passwd 33554432
14556 auto-propagate passwd yes
14557
14558 enable-cache group yes
14559 positive-time-to-live group 2592000
14560 negative-time-to-live group 20
14561 suggested-size group 211
14562 check-files group yes
14563 persistent group yes
14564 shared group yes
14565 max-db-size group 33554432
14566 auto-propagate group yes
14567
14568 enable-cache hosts no
14569 positive-time-to-live hosts 2592000
14570 negative-time-to-live hosts 20
14571 suggested-size hosts 211
14572 check-files hosts yes
14573 persistent hosts yes
14574 shared hosts yes
14575 max-db-size hosts 33554432
14576
14577 enable-cache services yes
14578 positive-time-to-live services 2592000
14579 negative-time-to-live services 20
14580 suggested-size services 211
14581 check-files services yes
14582 persistent services yes
14583 shared services yes
14584 max-db-size services 33554432
14585 </pre></blockquote>
14586
14587 <p>While we wait for a mechanism to update /etc/nsswitch.conf
14588 automatically like the one provided in
14589 <a href="http://bugs.debian.org/496915">bug #496915</a>, the file
14590 content need to be manually replaced to ensure LDAP is used as the
14591 directory service on the machine. /etc/nsswitch.conf should normally
14592 look like this:</p>
14593
14594 <blockquote><pre>
14595 passwd: files ldap
14596 group: files ldap
14597 shadow: files ldap
14598 hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
14599 networks: files
14600 protocols: files
14601 services: files
14602 ethers: files
14603 rpc: files
14604 netgroup: files ldap
14605 </pre></blockquote>
14606
14607 <p>The important parts are that ldap is listed last for passwd, group,
14608 shadow and netgroup.</p>
14609
14610 <p>With these changes in place, any user in LDAP will be able to log
14611 in locally on the machine using for example kdm, get a local home
14612 directory created and have the password as well as user and group
14613 attributes cached.
14614
14615 <h2>LDAP/Kerberos + nss-updatedb + libpam-ccreds +
14616 libpam-mklocaluser/pam_mkhomedir</h2>
14617
14618 <p>Because nscd have had its share of problems, and seem to have
14619 problems doing proper caching, I've seen suggestions and recipes to
14620 use nss-updatedb to copy parts of the LDAP database locally when the
14621 LDAP database is available. I have not tested such setup, because I
14622 discovered sssd.</p>
14623
14624 <h2>LDAP/Kerberos + sssd + libpam-mklocaluser</h2>
14625
14626 <p>A more flexible and robust setup than the nscd combination
14627 mentioned earlier that has shown up recently, is the
14628 <a href="https://fedorahosted.org/sssd/">sssd</a> package from Redhat.
14629 It is part of the <a href="http://www.freeipa.org/">FreeIPA</A> project
14630 to provide a Active Directory like directory service for Linux
14631 machines. The sssd system combines the caching of passwords and user
14632 information into one package, and remove the need for nscd and
14633 libpam-ccreds. It support LDAP and Kerberos, but not NIS. Version
14634 1.2 do not support netgroups, but it is said that it will support this
14635 in version 1.5 expected to show up later in 2010. Because the
14636 <a href="http://packages.qa.debian.org/s/sssd.html">sssd package</a>
14637 was missing in Debian, I ended up co-maintaining it with Werner, and
14638 version 1.2 is now in testing.
14639
14640 <p>These packages need to be installed and configured to get the
14641 roaming setup I want</p>
14642
14643 <blockquote><pre>
14644 libpam-sss libnss-sss libpam-mklocaluser
14645 </pre></blockquote>
14646
14647 The complete setup of sssd is done by editing/creating
14648 <tt>/etc/sssd/sssd.conf</tt>.
14649
14650 <blockquote><pre>
14651 [sssd]
14652 config_file_version = 2
14653 reconnection_retries = 3
14654 sbus_timeout = 30
14655 services = nss, pam
14656 domains = INTERN
14657
14658 [nss]
14659 filter_groups = root
14660 filter_users = root
14661 reconnection_retries = 3
14662
14663 [pam]
14664 reconnection_retries = 3
14665
14666 [domain/INTERN]
14667 enumerate = false
14668 cache_credentials = true
14669
14670 id_provider = ldap
14671 auth_provider = ldap
14672 chpass_provider = ldap
14673
14674 ldap_uri = ldap://ldap
14675 ldap_search_base = dc=skole,dc=skolelinux,dc=no
14676 ldap_tls_reqcert = never
14677 ldap_tls_cacert = /etc/ssl/certs/ca-certificates.crt
14678 </pre></blockquote>
14679
14680 <p>I got the same problem here with certificate checking. Had to set
14681 "ldap_tls_reqcert = never" to get it working.</p>
14682
14683 <p>With the libnss-sss package in testing at the moment, the
14684 nsswitch.conf file is update automatically, so there is no need to
14685 modify it manually.</p>
14686
14687 <p>If you want to help out with implementing this for Debian Edu,
14688 please contact us on debian-edu@lists.debian.org.</p>
14689
14690 </div>
14691 <div class="tags">
14692
14693
14694 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>.
14695
14696
14697 </div>
14698 </div>
14699 <div class="padding"></div>
14700
14701 <div class="entry">
14702 <div class="title">
14703 <a href="http://people.skolelinux.org/pere/blog/LUMA__a_very_nice_LDAP_GUI.html">LUMA, a very nice LDAP GUI</a>
14704 </div>
14705 <div class="date">
14706 28th June 2010
14707 </div>
14708 <div class="body">
14709 <p>The last few days I have been looking into the status of the LDAP
14710 directory in Debian Edu, and in the process I started to miss a GUI
14711 tool to browse the LDAP tree. The only one I was able to find in
14712 Debian/Squeeze and Lenny is
14713 <a href="http://luma.sourceforge.net/">LUMA</a>, which has proved to
14714 be a great tool to get a overview of the current LDAP directory
14715 populated by default in Skolelinux. Thanks to it, I have been able to
14716 find empty and obsolete subtrees, misplaced objects and duplicate
14717 objects. It will be installed by default in Debian/Squeeze. If you
14718 are working with LDAP, give it a go. :)</p>
14719
14720 <p>I did notice one problem with it I have not had time to report to
14721 the BTS yet. There is no .desktop file in the package, so the tool do
14722 not show up in the Gnome and KDE menus, but only deep down in in the
14723 Debian submenu in KDE. I hope that can be fixed before Squeeze is
14724 released.</p>
14725
14726 <p>I have not yet been able to get it to modify the tree yet. I would
14727 like to move objects and remove subtrees directly in the GUI, but have
14728 not found a way to do that with LUMA yet. So in the mean time, I use
14729 <a href="http://www.lichteblau.com/ldapvi/">ldapvi</a> for that.</p>
14730
14731 <p>If you have tips on other GUI tools for LDAP that might be useful
14732 in Debian Edu, please contact us on debian-edu@lists.debian.org.</p>
14733
14734 <p>Update 2010-06-29: Ross Reedstrom tipped us about the
14735 <a href="http://packages.qa.debian.org/g/gq.html">gq</a> package as a
14736 useful GUI alternative. It seem like a good tool, but is unmaintained
14737 in Debian and got a RC bug keeping it out of Squeeze. Unless that
14738 changes, it will not be an option for Debian Edu based on Squeeze.</p>
14739
14740 </div>
14741 <div class="tags">
14742
14743
14744 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>.
14745
14746
14747 </div>
14748 </div>
14749 <div class="padding"></div>
14750
14751 <div class="entry">
14752 <div class="title">
14753 <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>
14754 </div>
14755 <div class="date">
14756 24th June 2010
14757 </div>
14758 <div class="body">
14759 <p>A while back, I
14760 <a href="http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html">complained
14761 about the fact</a> that it is not possible with the provided schemas
14762 for storing DNS and DHCP information in LDAP to combine the two sets
14763 of information into one LDAP object representing a computer.</p>
14764
14765 <p>In the mean time, I discovered that a simple fix would be to make
14766 the dhcpHost object class auxiliary, to allow it to be combined with
14767 the dNSDomain object class, and thus forming one object for one
14768 computer when storing both DHCP and DNS information in LDAP.</p>
14769
14770 <p>If I understand this correctly, it is not safe to do this change
14771 without also changing the assigned number for the object class, and I
14772 do not know enough about LDAP schema design to do that properly for
14773 Debian Edu.</p>
14774
14775 <p>Anyway, for future reference, this is how I believe we could change
14776 the
14777 <a href="http://tools.ietf.org/html/draft-ietf-dhc-ldap-schema-00">DHCP
14778 schema</a> to solve at least part of the problem with the LDAP schemas
14779 available today from IETF.</p>
14780
14781 <pre>
14782 --- dhcp.schema (revision 65192)
14783 +++ dhcp.schema (working copy)
14784 @@ -376,7 +376,7 @@
14785 objectclass ( 2.16.840.1.113719.1.203.6.6
14786 NAME 'dhcpHost'
14787 DESC 'This represents information about a particular client'
14788 - SUP top
14789 + SUP top AUXILIARY
14790 MUST cn
14791 MAY (dhcpLeaseDN $ dhcpHWAddress $ dhcpOptionsDN $ dhcpStatements $ dhcpComments $ dhcpOption)
14792 X-NDS_CONTAINMENT ('dhcpService' 'dhcpSubnet' 'dhcpGroup') )
14793 </pre>
14794
14795 <p>I very much welcome clues on how to do this properly for Debian
14796 Edu/Squeeze. We provide the DHCP schema in our debian-edu-config
14797 package, and should thus be free to rewrite it as we see fit.</p>
14798
14799 <p>If you want to help out with implementing this for Debian Edu,
14800 please contact us on debian-edu@lists.debian.org.</p>
14801
14802 </div>
14803 <div class="tags">
14804
14805
14806 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>.
14807
14808
14809 </div>
14810 </div>
14811 <div class="padding"></div>
14812
14813 <div class="entry">
14814 <div class="title">
14815 <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>
14816 </div>
14817 <div class="date">
14818 16th June 2010
14819 </div>
14820 <div class="body">
14821 <p>A few times I have had the need to simulate the way tasksel
14822 installs packages during the normal debian-installer run. Until now,
14823 I have ended up letting tasksel do the work, with the annoying problem
14824 of not getting any feedback at all when something fails (like a
14825 conffile question from dpkg or a download that fails), using code like
14826 this:
14827
14828 <blockquote><pre>
14829 export DEBIAN_FRONTEND=noninteractive
14830 tasksel --new-install
14831 </pre></blockquote>
14832
14833 This would invoke tasksel, let its automatic task selection pick the
14834 tasks to install, and continue to install the requested tasks without
14835 any output what so ever.
14836
14837 Recently I revisited this problem while working on the automatic
14838 package upgrade testing, because tasksel would some times hang without
14839 any useful feedback, and I want to see what is going on when it
14840 happen. Then it occured to me, I can parse the output from tasksel
14841 when asked to run in test mode, and use that aptitude command line
14842 printed by tasksel then to simulate the tasksel run. I ended up using
14843 code like this:
14844
14845 <blockquote><pre>
14846 export DEBIAN_FRONTEND=noninteractive
14847 cmd="$(in_target tasksel -t --new-install | sed 's/debconf-apt-progress -- //')"
14848 $cmd
14849 </pre></blockquote>
14850
14851 <p>The content of $cmd is typically something like "<tt>aptitude -q
14852 --without-recommends -o APT::Install-Recommends=no -y install
14853 ~t^desktop$ ~t^gnome-desktop$ ~t^laptop$ ~pstandard ~prequired
14854 ~pimportant</tt>", which will install the gnome desktop task, the
14855 laptop task and all packages with priority standard , required and
14856 important, just like tasksel would have done it during
14857 installation.</p>
14858
14859 <p>A better approach is probably to extend tasksel to be able to
14860 install packages without using debconf-apt-progress, for use cases
14861 like this.</p>
14862
14863 </div>
14864 <div class="tags">
14865
14866
14867 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>.
14868
14869
14870 </div>
14871 </div>
14872 <div class="padding"></div>
14873
14874 <div class="entry">
14875 <div class="title">
14876 <a href="http://people.skolelinux.org/pere/blog/Officeshots_taking_shape.html">Officeshots taking shape</a>
14877 </div>
14878 <div class="date">
14879 13th June 2010
14880 </div>
14881 <div class="body">
14882 <p>For those of us caring about document exchange and
14883 interoperability, <a href="http://www.officeshots.org/">OfficeShots</a>
14884 is a great service. It is to ODF documents what
14885 <a href="http://browsershots.org/">BrowserShots</a> is for web
14886 pages.</p>
14887
14888 <p>A while back, I was contacted by Knut Yrvin at the part of Nokia
14889 that used to be Trolltech, who wanted to help the OfficeShots project
14890 and wondered if the University of Oslo where I work would be
14891 interested in supporting the project. I helped him to navigate his
14892 request to the right people at work, and his request was answered with
14893 a spot in the machine room with power and network connected, and Knut
14894 arranged funding for a machine to fill the spot. The machine is
14895 administrated by the OfficeShots people, so I do not have daily
14896 contact with its progress, and thus from time to time check back to
14897 see how the project is doing.</p>
14898
14899 <p>Today I had a look, and was happy to see that the Dell box in our
14900 machine room now is the host for several virtual machines running as
14901 OfficeShots factories, and the project is able to render ODF documents
14902 in 17 different document processing implementation on Linux and
14903 Windows. This is great.</p>
14904
14905 </div>
14906 <div class="tags">
14907
14908
14909 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>.
14910
14911
14912 </div>
14913 </div>
14914 <div class="padding"></div>
14915
14916 <div class="entry">
14917 <div class="title">
14918 <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>
14919 </div>
14920 <div class="date">
14921 13th June 2010
14922 </div>
14923 <div class="body">
14924 <p>My
14925 <a href="http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html">testing
14926 of Debian upgrades</a> from Lenny to Squeeze continues, and I've
14927 finally made the upgrade logs available from
14928 <a href="http://people.skolelinux.org/pere/debian-upgrade-testing/">http://people.skolelinux.org/pere/debian-upgrade-testing/</a>.
14929 I am now testing dist-upgrade of Gnome and KDE in a chroot using both
14930 apt and aptitude, and found their differences interesting. This time
14931 I will only focus on their removal plans.</p>
14932
14933 <p>After installing a Gnome desktop and the laptop task, apt-get wants
14934 to remove 72 packages when dist-upgrading from Lenny to Squeeze. The
14935 surprising part is that it want to remove xorg and all
14936 xserver-xorg-video* drivers. Clearly not a good choice, but I am not
14937 sure why. When asking aptitude to do the same, it want to remove 129
14938 packages, but most of them are library packages I suspect are no
14939 longer needed. Both of them want to remove bluetooth packages, which
14940 I do not know. Perhaps these bluetooth packages are obsolete?</p>
14941
14942 <p>For KDE, apt-get want to remove 82 packages, among them kdebase
14943 which seem like a bad idea and xorg the same way as with Gnome. Asking
14944 aptitude for the same, it wants to remove 192 packages, none which are
14945 too surprising.</p>
14946
14947 <p>I guess the removal of xorg during upgrades should be investigated
14948 and avoided, and perhaps others as well. Here are the complete list
14949 of planned removals. The complete logs is available from the URL
14950 above. Note if you want to repeat these tests, that the upgrade test
14951 for kde+apt-get hung in the tasksel setup because of dpkg asking
14952 conffile questions. No idea why. I worked around it by using
14953 '<tt>echo >> /proc/<em>pidofdpkg</em>/fd/0</tt>' to tell dpkg to
14954 continue.</p>
14955
14956 <p><b>apt-get gnome 72</b>
14957 <br>bluez-gnome cupsddk-drivers deskbar-applet gnome
14958 gnome-desktop-environment gnome-network-admin gtkhtml3.14
14959 iceweasel-gnome-support libavcodec51 libdatrie0 libgdl-1-0
14960 libgnomekbd2 libgnomekbdui2 libmetacity0 libslab0 libxcb-xlib0
14961 nautilus-cd-burner python-gnome2-desktop python-gnome2-extras
14962 serpentine swfdec-mozilla update-manager xorg xserver-xorg
14963 xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-evdev
14964 xserver-xorg-input-kbd xserver-xorg-input-mouse
14965 xserver-xorg-input-synaptics xserver-xorg-input-wacom
14966 xserver-xorg-video-all xserver-xorg-video-apm xserver-xorg-video-ark
14967 xserver-xorg-video-ati xserver-xorg-video-chips
14968 xserver-xorg-video-cirrus xserver-xorg-video-cyrix
14969 xserver-xorg-video-dummy xserver-xorg-video-fbdev
14970 xserver-xorg-video-glint xserver-xorg-video-i128
14971 xserver-xorg-video-i740 xserver-xorg-video-imstt
14972 xserver-xorg-video-intel xserver-xorg-video-mach64
14973 xserver-xorg-video-mga xserver-xorg-video-neomagic
14974 xserver-xorg-video-nsc xserver-xorg-video-nv
14975 xserver-xorg-video-openchrome xserver-xorg-video-r128
14976 xserver-xorg-video-radeon xserver-xorg-video-radeonhd
14977 xserver-xorg-video-rendition xserver-xorg-video-s3
14978 xserver-xorg-video-s3virge xserver-xorg-video-savage
14979 xserver-xorg-video-siliconmotion xserver-xorg-video-sis
14980 xserver-xorg-video-sisusb xserver-xorg-video-tdfx
14981 xserver-xorg-video-tga xserver-xorg-video-trident
14982 xserver-xorg-video-tseng xserver-xorg-video-v4l
14983 xserver-xorg-video-vesa xserver-xorg-video-vga
14984 xserver-xorg-video-vmware xserver-xorg-video-voodoo xulrunner-1.9
14985 xulrunner-1.9-gnome-support</p>
14986
14987 <p><b>aptitude gnome 129</b>
14988
14989 <br>bluez-gnome bluez-utils cpp-4.3 cupsddk-drivers dhcdbd
14990 djvulibre-desktop finger gnome-app-install gnome-mount
14991 gnome-network-admin gnome-spell gnome-vfs-obexftp
14992 gnome-volume-manager gstreamer0.10-gnomevfs gtkhtml3.14 libao2
14993 libavahi-compat-libdnssd1 libavahi-core5 libavcodec51 libbluetooth2
14994 libcamel1.2-11 libcdio7 libcucul0 libcupsys2 libcurl3 libdatrie0
14995 libdirectfb-1.0-0 libdvdread3 libedataserver1.2-9 libeel2-2.20
14996 libeel2-data libepc-1.0-1 libepc-ui-1.0-1 libfaad0 libgail-common
14997 libgd2-noxpm libgda3-3 libgda3-common libgdl-1-0 libgdl-1-common
14998 libggz2 libggzcore9 libggzmod4 libgksu1.2-0 libgksuui1.0-1 libgmyth0
14999 libgnomecups1.0-1 libgnomekbd2 libgnomekbdui2 libgnomeprint2.2-0
15000 libgnomeprint2.2-data libgnomeprintui2.2-0 libgnomeprintui2.2-common
15001 libgnomevfs2-bin libgpod3 libgraphviz4 libgtkhtml2-0
15002 libgtksourceview-common libgtksourceview1.0-0 libgucharmap6
15003 libhesiod0 libicu38 libiw29 libkpathsea4 libltdl3 libmagick++10
15004 libmagick10 libmalaga7 libmetacity0 libmtp7 libmysqlclient15off
15005 libnautilus-burn4 libneon27 libnm-glib0 libnm-util0 libopal-2.2
15006 libosp5 libparted1.8-10 libpoppler-glib3 libpoppler3 libpt-1.10.10
15007 libpt-1.10.10-plugins-alsa libpt-1.10.10-plugins-v4l libraw1394-8
15008 libsensors3 libslab0 libsmbios2 libsoup2.2-8 libssh2-1
15009 libsuitesparse-3.1.0 libswfdec-0.6-90 libtalloc1 libtotem-plparser10
15010 libtrackerclient0 libxalan2-java libxalan2-java-gcj libxcb-xlib0
15011 libxerces2-java libxerces2-java-gcj libxklavier12 libxtrap6
15012 libxxf86misc1 libzephyr3 mysql-common nautilus-cd-burner
15013 openoffice.org-writer2latex openssl-blacklist p7zip
15014 python-4suite-xml python-eggtrayicon python-gnome2-desktop
15015 python-gnome2-extras python-gtkhtml2 python-gtkmozembed
15016 python-numeric python-sexy serpentine svgalibg1 swfdec-gnome
15017 swfdec-mozilla totem-gstreamer update-manager wodim
15018 xserver-xorg-video-cyrix xserver-xorg-video-imstt
15019 xserver-xorg-video-nsc xserver-xorg-video-v4l xserver-xorg-video-vga
15020 zip</p>
15021
15022 <p><b>apt-get kde 82</b>
15023
15024 <br>cupsddk-drivers karm kaudiocreator kcoloredit kcontrol kde kde-core
15025 kdeaddons kdeartwork kdebase kdebase-bin kdebase-bin-kde3
15026 kdebase-kio-plugins kdesktop kdeutils khelpcenter kicker
15027 kicker-applets knewsticker kolourpaint konq-plugins konqueror korn
15028 kpersonalizer kscreensaver ksplash libavcodec51 libdatrie0 libkiten1
15029 libxcb-xlib0 quanta superkaramba texlive-base-bin xorg xserver-xorg
15030 xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-evdev
15031 xserver-xorg-input-kbd xserver-xorg-input-mouse
15032 xserver-xorg-input-synaptics xserver-xorg-input-wacom
15033 xserver-xorg-video-all xserver-xorg-video-apm xserver-xorg-video-ark
15034 xserver-xorg-video-ati xserver-xorg-video-chips
15035 xserver-xorg-video-cirrus xserver-xorg-video-cyrix
15036 xserver-xorg-video-dummy xserver-xorg-video-fbdev
15037 xserver-xorg-video-glint xserver-xorg-video-i128
15038 xserver-xorg-video-i740 xserver-xorg-video-imstt
15039 xserver-xorg-video-intel xserver-xorg-video-mach64
15040 xserver-xorg-video-mga xserver-xorg-video-neomagic
15041 xserver-xorg-video-nsc xserver-xorg-video-nv
15042 xserver-xorg-video-openchrome xserver-xorg-video-r128
15043 xserver-xorg-video-radeon xserver-xorg-video-radeonhd
15044 xserver-xorg-video-rendition xserver-xorg-video-s3
15045 xserver-xorg-video-s3virge xserver-xorg-video-savage
15046 xserver-xorg-video-siliconmotion xserver-xorg-video-sis
15047 xserver-xorg-video-sisusb xserver-xorg-video-tdfx
15048 xserver-xorg-video-tga xserver-xorg-video-trident
15049 xserver-xorg-video-tseng xserver-xorg-video-v4l
15050 xserver-xorg-video-vesa xserver-xorg-video-vga
15051 xserver-xorg-video-vmware xserver-xorg-video-voodoo xulrunner-1.9</p>
15052
15053 <p><b>aptitude kde 192</b>
15054 <br>bluez-utils cpp-4.3 cupsddk-drivers cvs dcoprss dhcdbd
15055 djvulibre-desktop dosfstools eyesapplet fifteenapplet finger gettext
15056 ghostscript-x imlib-base imlib11 indi kandy karm kasteroids
15057 kaudiocreator kbackgammon kbstate kcoloredit kcontrol kcron kdat
15058 kdeadmin-kfile-plugins kdeartwork-misc kdeartwork-theme-window
15059 kdebase-bin-kde3 kdebase-kio-plugins kdeedu-data
15060 kdegraphics-kfile-plugins kdelirc kdemultimedia-kappfinder-data
15061 kdemultimedia-kfile-plugins kdenetwork-kfile-plugins
15062 kdepim-kfile-plugins kdepim-kio-plugins kdeprint kdesktop kdessh
15063 kdict kdnssd kdvi kedit keduca kenolaba kfax kfaxview kfouleggs
15064 kghostview khelpcenter khexedit kiconedit kitchensync klatin
15065 klickety kmailcvt kmenuedit kmid kmilo kmoon kmrml kodo kolourpaint
15066 kooka korn kpager kpdf kpercentage kpf kpilot kpoker kpovmodeler
15067 krec kregexpeditor ksayit ksim ksirc ksirtet ksmiletris ksmserver
15068 ksnake ksokoban ksplash ksvg ksysv ktip ktnef kuickshow kverbos
15069 kview kviewshell kvoctrain kwifimanager kwin kwin4 kworldclock
15070 kxsldbg libakode2 libao2 libarts1-akode libarts1-audiofile
15071 libarts1-mpeglib libarts1-xine libavahi-compat-libdnssd1
15072 libavahi-core5 libavc1394-0 libavcodec51 libbluetooth2
15073 libboost-python1.34.1 libcucul0 libcurl3 libcvsservice0 libdatrie0
15074 libdirectfb-1.0-0 libdjvulibre21 libdvdread3 libfaad0 libfreebob0
15075 libgail-common libgd2-noxpm libgraphviz4 libgsmme1c2a libgtkhtml2-0
15076 libicu38 libiec61883-0 libindex0 libiw29 libk3b3 libkcal2b libkcddb1
15077 libkdeedu3 libkdepim1a libkgantt0 libkiten1 libkleopatra1 libkmime2
15078 libkpathsea4 libkpimexchange1 libkpimidentities1 libkscan1
15079 libksieve0 libktnef1 liblockdev1 libltdl3 libmagick10 libmimelib1c2a
15080 libmozjs1d libmpcdec3 libneon27 libnm-util0 libopensync0 libpisock9
15081 libpoppler-glib3 libpoppler-qt2 libpoppler3 libraw1394-8 libsmbios2
15082 libssh2-1 libsuitesparse-3.1.0 libtalloc1 libtiff-tools
15083 libxalan2-java libxalan2-java-gcj libxcb-xlib0 libxerces2-java
15084 libxerces2-java-gcj libxtrap6 mpeglib networkstatus
15085 openoffice.org-writer2latex pmount poster psutils quanta quanta-data
15086 superkaramba svgalibg1 tex-common texlive-base texlive-base-bin
15087 texlive-common texlive-doc-base texlive-fonts-recommended
15088 xserver-xorg-video-cyrix xserver-xorg-video-imstt
15089 xserver-xorg-video-nsc xserver-xorg-video-v4l xserver-xorg-video-vga
15090 xulrunner-1.9</p>
15091
15092
15093 </div>
15094 <div class="tags">
15095
15096
15097 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>.
15098
15099
15100 </div>
15101 </div>
15102 <div class="padding"></div>
15103
15104 <div class="entry">
15105 <div class="title">
15106 <a href="http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html">Automatic upgrade testing from Lenny to Squeeze</a>
15107 </div>
15108 <div class="date">
15109 11th June 2010
15110 </div>
15111 <div class="body">
15112 <p>The last few days I have done some upgrade testing in Debian, to
15113 see if the upgrade from Lenny to Squeeze will go smoothly. A few bugs
15114 have been discovered and reported in the process
15115 (<a href="http://bugs.debian.org/585410">#585410</a> in nagios3-cgi,
15116 <a href="http://bugs.debian.org/584879">#584879</a> already fixed in
15117 enscript and <a href="http://bugs.debian.org/584861">#584861</a> in
15118 kdebase-workspace-data), and to get a more regular testing going on, I
15119 am working on a script to automate the test.</p>
15120
15121 <p>The idea is to create a Lenny chroot and use tasksel to install a
15122 Gnome or KDE desktop installation inside the chroot before upgrading
15123 it. To ensure no services are started in the chroot, a policy-rc.d
15124 script is inserted. To make sure tasksel believe it is to install a
15125 desktop on a laptop, the tasksel tests are replaced in the chroot
15126 (only acceptable because this is a throw-away chroot).</p>
15127
15128 <p>A naive upgrade from Lenny to Squeeze using aptitude dist-upgrade
15129 currently always fail because udev refuses to upgrade with the kernel
15130 in Lenny, so to avoid that problem the file /etc/udev/kernel-upgrade
15131 is created. The bug report
15132 <a href="http://bugs.debian.org/566000">#566000</a> make me suspect
15133 this problem do not trigger in a chroot, but I touch the file anyway
15134 to make sure the upgrade go well. Testing on virtual and real
15135 hardware have failed me because of udev so far, and creating this file
15136 do the trick in such settings anyway. This is a
15137 <a href="http://www.linuxquestions.org/questions/debian-26/failed-dist-upgrade-due-to-udev-config_sysfs_deprecated-nonsense-804130/">known
15138 issue</a> and the current udev behaviour is intended by the udev
15139 maintainer because he lack the resources to rewrite udev to keep
15140 working with old kernels or something like that. I really wish the
15141 udev upstream would keep udev backwards compatible, to avoid such
15142 upgrade problem, but given that they fail to do so, I guess
15143 documenting the way out of this mess is the best option we got for
15144 Debian Squeeze.</p>
15145
15146 <p>Anyway, back to the task at hand, testing upgrades. This test
15147 script, which I call <tt>upgrade-test</tt> for now, is doing the
15148 trick:</p>
15149
15150 <blockquote><pre>
15151 #!/bin/sh
15152 set -ex
15153
15154 if [ "$1" ] ; then
15155 desktop=$1
15156 else
15157 desktop=gnome
15158 fi
15159
15160 from=lenny
15161 to=squeeze
15162
15163 exec &lt; /dev/null
15164 unset LANG
15165 mirror=http://ftp.skolelinux.org/debian
15166 tmpdir=chroot-$from-upgrade-$to-$desktop
15167 fuser -mv .
15168 debootstrap $from $tmpdir $mirror
15169 chroot $tmpdir aptitude update
15170 cat > $tmpdir/usr/sbin/policy-rc.d &lt;&lt;EOF
15171 #!/bin/sh
15172 exit 101
15173 EOF
15174 chmod a+rx $tmpdir/usr/sbin/policy-rc.d
15175 exit_cleanup() {
15176 umount $tmpdir/proc
15177 }
15178 mount -t proc proc $tmpdir/proc
15179 # Make sure proc is unmounted also on failure
15180 trap exit_cleanup EXIT INT
15181
15182 chroot $tmpdir aptitude -y install debconf-utils
15183
15184 # Make sure tasksel autoselection trigger. It need the test scripts
15185 # to return the correct answers.
15186 echo tasksel tasksel/desktop multiselect $desktop | \
15187 chroot $tmpdir debconf-set-selections
15188
15189 # Include the desktop and laptop task
15190 for test in desktop laptop ; do
15191 echo > $tmpdir/usr/lib/tasksel/tests/$test &lt;&lt;EOF
15192 #!/bin/sh
15193 exit 2
15194 EOF
15195 chmod a+rx $tmpdir/usr/lib/tasksel/tests/$test
15196 done
15197
15198 DEBIAN_FRONTEND=noninteractive
15199 DEBIAN_PRIORITY=critical
15200 export DEBIAN_FRONTEND DEBIAN_PRIORITY
15201 chroot $tmpdir tasksel --new-install
15202
15203 echo deb $mirror $to main > $tmpdir/etc/apt/sources.list
15204 chroot $tmpdir aptitude update
15205 touch $tmpdir/etc/udev/kernel-upgrade
15206 chroot $tmpdir aptitude -y dist-upgrade
15207 fuser -mv
15208 </pre></blockquote>
15209
15210 <p>I suspect it would be useful to test upgrades with both apt-get and
15211 with aptitude, but I have not had time to look at how they behave
15212 differently so far. I hope to get a cron job running to do the test
15213 regularly and post the result on the web. The Gnome upgrade currently
15214 work, while the KDE upgrade fail because of the bug in
15215 kdebase-workspace-data</p>
15216
15217 <p>I am not quite sure what kind of extract from the huge upgrade logs
15218 (KDE 167 KiB, Gnome 516 KiB) it make sense to include in this blog
15219 post, so I will refrain from trying. I can report that for Gnome,
15220 aptitude report 760 packages upgraded, 448 newly installed, 129 to
15221 remove and 1 not upgraded and 1024MB need to be downloaded while for
15222 KDE the same numbers are 702 packages upgraded, 507 newly installed,
15223 193 to remove and 0 not upgraded and 1117MB need to be downloaded</p>
15224
15225 <p>I am very happy to notice that the Gnome desktop + laptop upgrade
15226 is able to migrate to dependency based boot sequencing and parallel
15227 booting without a hitch. Was unsure if there were still bugs with
15228 packages failing to clean up their obsolete init.d script during
15229 upgrades, and no such problem seem to affect the Gnome desktop+laptop
15230 packages.</p>
15231
15232 </div>
15233 <div class="tags">
15234
15235
15236 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>.
15237
15238
15239 </div>
15240 </div>
15241 <div class="padding"></div>
15242
15243 <div class="entry">
15244 <div class="title">
15245 <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>
15246 </div>
15247 <div class="date">
15248 6th June 2010
15249 </div>
15250 <div class="body">
15251 <p>If Debian is to migrate to upstart on Linux, I expect some init.d
15252 scripts to migrate (some of) their operations to upstart job while
15253 keeping the init.d for hurd and kfreebsd. The packages with such
15254 needs will need a way to get their init.d scripts to behave
15255 differently when used with sysvinit and with upstart. Because of
15256 this, I had a look at the environment variables set when a init.d
15257 script is running under upstart, and when it is not.</p>
15258
15259 <p>With upstart, I notice these environment variables are set when a
15260 script is started from rcS.d/ (ignoring some irrelevant ones like
15261 COLUMNS):</p>
15262
15263 <blockquote><pre>
15264 DEFAULT_RUNLEVEL=2
15265 previous=N
15266 PREVLEVEL=
15267 RUNLEVEL=
15268 runlevel=S
15269 UPSTART_EVENTS=startup
15270 UPSTART_INSTANCE=
15271 UPSTART_JOB=rc-sysinit
15272 </pre></blockquote>
15273
15274 <p>With sysvinit, these environment variables are set for the same
15275 script.</p>
15276
15277 <blockquote><pre>
15278 INIT_VERSION=sysvinit-2.88
15279 previous=N
15280 PREVLEVEL=N
15281 RUNLEVEL=S
15282 runlevel=S
15283 </pre></blockquote>
15284
15285 <p>The RUNLEVEL and PREVLEVEL environment variables passed on from
15286 sysvinit are not set by upstart. Not sure if it is intentional or not
15287 to not be compatible with sysvinit in this regard.</p>
15288
15289 <p>For scripts needing to behave differently when upstart is used,
15290 looking for the UPSTART_JOB environment variable seem to be a good
15291 choice.</p>
15292
15293 </div>
15294 <div class="tags">
15295
15296
15297 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>.
15298
15299
15300 </div>
15301 </div>
15302 <div class="padding"></div>
15303
15304 <div class="entry">
15305 <div class="title">
15306 <a href="http://people.skolelinux.org/pere/blog/A_manual_for_standards_wars___.html">A manual for standards wars...</a>
15307 </div>
15308 <div class="date">
15309 6th June 2010
15310 </div>
15311 <div class="body">
15312 <p>Via the
15313 <a href="http://feedproxy.google.com/~r/robweir/antic-atom/~3/QzU4RgoAGMg/weekly-links-10.html">blog
15314 of Rob Weir</a> I came across the very interesting essay named
15315 <a href="http://faculty.haas.berkeley.edu/shapiro/wars.pdf">The Art of
15316 Standards Wars</a> (PDF 25 pages). I recommend it for everyone
15317 following the standards wars of today.</p>
15318
15319 </div>
15320 <div class="tags">
15321
15322
15323 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>.
15324
15325
15326 </div>
15327 </div>
15328 <div class="padding"></div>
15329
15330 <div class="entry">
15331 <div class="title">
15332 <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>
15333 </div>
15334 <div class="date">
15335 3rd June 2010
15336 </div>
15337 <div class="body">
15338 <p>When using sitesummary at a site to track machines, it is possible
15339 to get a list of the machine types in use thanks to the DMI
15340 information extracted from each machine. The script to do so is
15341 included in the sitesummary package, and here is example output from
15342 the Skolelinux build servers:</p>
15343
15344 <blockquote><pre>
15345 maintainer:~# /usr/lib/sitesummary/hardware-model-summary
15346 vendor count
15347 Dell Computer Corporation 1
15348 PowerEdge 1750 1
15349 IBM 1
15350 eserver xSeries 345 -[8670M1X]- 1
15351 Intel 2
15352 [no-dmi-info] 3
15353 maintainer:~#
15354 </pre></blockquote>
15355
15356 <p>The quality of the report depend on the quality of the DMI tables
15357 provided in each machine. Here there are Intel machines without model
15358 information listed with Intel as vendor and no model, and virtual Xen
15359 machines listed as [no-dmi-info]. One can add -l as a command line
15360 option to list the individual machines.</p>
15361
15362 <p>A larger list is
15363 <a href="http://narvikskolen.no/sitesummary/">available from the the
15364 city of Narvik</a>, which uses Skolelinux on all their shools and also
15365 provide the basic sitesummary report publicly. In their report there
15366 are ~1400 machines. I know they use both Ubuntu and Skolelinux on
15367 their machines, and as sitesummary is available in both distributions,
15368 it is trivial to get all of them to report to the same central
15369 collector.</p>
15370
15371 </div>
15372 <div class="tags">
15373
15374
15375 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>.
15376
15377
15378 </div>
15379 </div>
15380 <div class="padding"></div>
15381
15382 <div class="entry">
15383 <div class="title">
15384 <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>
15385 </div>
15386 <div class="date">
15387 1st June 2010
15388 </div>
15389 <div class="body">
15390 <p>It is strange to watch how a bug in Debian causing KDM to fail to
15391 start at boot when an NVidia video card is used is handled. The
15392 problem seem to be that the nvidia X.org driver uses a long time to
15393 initialize, and this duration is longer than kdm is configured to
15394 wait.</p>
15395
15396 <p>I came across two bugs related to this issue,
15397 <a href="http://bugs.debian.org/583312">#583312</a> initially filed
15398 against initscripts and passed on to nvidia-glx when it became obvious
15399 that the nvidia drivers were involved, and
15400 <a href="http://bugs.debian.org/524751">#524751</a> initially filed against
15401 kdm and passed on to src:nvidia-graphics-drivers for unknown reasons.</p>
15402
15403 <p>To me, it seem that no-one is interested in actually solving the
15404 problem nvidia video card owners experience and make sure the Debian
15405 distribution work out of the box for these users. The nvidia driver
15406 maintainers expect kdm to be set up to wait longer, while kdm expect
15407 the nvidia driver maintainers to fix the driver to start faster, and
15408 while they wait for each other I guess the users end up switching to a
15409 distribution that work for them. I have no idea what the solution is,
15410 but I am pretty sure that waiting for each other is not it.</p>
15411
15412 <p>I wonder why we end up handling bugs this way.</p>
15413
15414 </div>
15415 <div class="tags">
15416
15417
15418 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>.
15419
15420
15421 </div>
15422 </div>
15423 <div class="padding"></div>
15424
15425 <div class="entry">
15426 <div class="title">
15427 <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>
15428 </div>
15429 <div class="date">
15430 27th May 2010
15431 </div>
15432 <div class="body">
15433 <p>A few days ago, parallel booting was enabled in Debian/testing.
15434 The feature seem to hold up pretty well, but three fairly serious
15435 issues are known and should be solved:
15436
15437 <p><ul>
15438
15439 <li>The wicd package seen to
15440 <a href="http://bugs.debian.org/508289">break NFS mounting</a> and
15441 <a href="http://bugs.debian.org/581586">network setup</a> when
15442 parallel booting is enabled. No idea why, but the wicd maintainer
15443 seem to be on the case.</li>
15444
15445 <li>The nvidia X driver seem to
15446 <a href="http://bugs.debian.org/583312">have a race condition</a>
15447 triggered more easily when parallel booting is in effect. The
15448 maintainer is on the case.</li>
15449
15450 <li>The sysv-rc package fail to properly enable dependency based boot
15451 sequencing (the shutdown is broken) when old file-rc users
15452 <a href="http://bugs.debian.org/575080">try to switch back</a> to
15453 sysv-rc. One way to solve it would be for file-rc to create
15454 /etc/init.d/.legacy-bootordering, and another is to try to make
15455 sysv-rc more robust. Will investigate some more and probably upload a
15456 workaround in sysv-rc to help those trying to move from file-rc to
15457 sysv-rc get a working shutdown.</li>
15458
15459 </ul></p>
15460
15461 <p>All in all not many surprising issues, and all of them seem
15462 solvable before Squeeze is released. In addition to these there are
15463 some packages with bugs in their dependencies and run level settings,
15464 which I expect will be fixed in a reasonable time span.</p>
15465
15466 <p>If you report any problems with dependencies in init.d scripts to
15467 the BTS, please usertag the report to get it to show up at
15468 <a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org">the
15469 list of usertagged bugs related to this</a>.</p>
15470
15471 <p>Update: Correct bug number to file-rc issue.</p>
15472
15473 </div>
15474 <div class="tags">
15475
15476
15477 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>.
15478
15479
15480 </div>
15481 </div>
15482 <div class="padding"></div>
15483
15484 <div class="entry">
15485 <div class="title">
15486 <a href="http://people.skolelinux.org/pere/blog/More_flexible_firmware_handling_in_debian_installer.html">More flexible firmware handling in debian-installer</a>
15487 </div>
15488 <div class="date">
15489 22nd May 2010
15490 </div>
15491 <div class="body">
15492 <p>After a long break from debian-installer development, I finally
15493 found time today to return to the project. Having to spend less time
15494 working dependency based boot in debian, as it is almost complete now,
15495 definitely helped freeing some time.</p>
15496
15497 <p>A while back, I ran into a problem while working on Debian Edu. We
15498 include some firmware packages on the Debian Edu CDs, those needed to
15499 get disk and network controllers working. Without having these
15500 firmware packages available during installation, it is impossible to
15501 install Debian Edu on the given machine, and because our target group
15502 are non-technical people, asking them to provide firmware packages on
15503 an external medium is a support pain. Initially, I expected it to be
15504 enough to include the firmware packages on the CD to get
15505 debian-installer to find and use them. This proved to be wrong.
15506 Next, I hoped it was enough to symlink the relevant firmware packages
15507 to some useful location on the CD (tried /cdrom/ and
15508 /cdrom/firmware/). This also proved to not work, and at this point I
15509 found time to look at the debian-installer code to figure out what was
15510 going to work.</p>
15511
15512 <p>The firmware loading code is in the hw-detect package, and a closer
15513 look revealed that it would only look for firmware packages outside
15514 the installation media, so the CD was never checked for firmware
15515 packages. It would only check USB sticks, floppies and other
15516 "external" media devices. Today I changed it to also look in the
15517 /cdrom/firmware/ directory on the mounted CD or DVD, which should
15518 solve the problem I ran into with Debian edu. I also changed it to
15519 look in /firmware/, to make sure the installer also find firmware
15520 provided in the initrd when booting the installer via PXE, to allow us
15521 to provide the same feature in the PXE setup included in Debian
15522 Edu.</p>
15523
15524 <p>To make sure firmware deb packages with a license questions are not
15525 activated without asking if the license is accepted, I extended
15526 hw-detect to look for preinst scripts in the firmware packages, and
15527 run these before activating the firmware during installation. The
15528 license question is asked using debconf in the preinst, so this should
15529 solve the issue for the firmware packages I have looked at so far.</p>
15530
15531 <p>If you want to discuss the details of these features, please
15532 contact us on debian-boot@lists.debian.org.</p>
15533
15534 </div>
15535 <div class="tags">
15536
15537
15538 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>.
15539
15540
15541 </div>
15542 </div>
15543 <div class="padding"></div>
15544
15545 <div class="entry">
15546 <div class="title">
15547 <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>
15548 </div>
15549 <div class="date">
15550 19th May 2010
15551 </div>
15552 <div class="body">
15553 <p>Today, the last piece of the puzzle for roaming laptops in Debian
15554 Edu finally entered the Debian archive. Today, the new
15555 <a href="http://packages.qa.debian.org/libp/libpam-mklocaluser.html">libpam-mklocaluser</a>
15556 package was accepted. Two days ago, two other pieces was accepted
15557 into unstable. The
15558 <a href="http://packages.qa.debian.org/p/pam-python.html">pam-python</a>
15559 package needed by libpam-mklocaluser, and the
15560 <a href="http://packages.qa.debian.org/s/sssd.html">sssd</a> package
15561 passed NEW on Monday. In addition, the
15562 <a href="http://packages.qa.debian.org/libp/libpam-ccreds.html">libpam-ccreds</a>
15563 package we need is in experimental (version 10-4) since Saturday, and
15564 hopefully will be moved to unstable soon.</p>
15565
15566 <p>This collection of packages allow for two different setups for
15567 roaming laptops. The traditional setup would be using libpam-ccreds,
15568 nscd and libpam-mklocaluser with LDAP or Kerberos authentication,
15569 which should work out of the box if the configuration changes proposed
15570 for nscd in <a href="http://bugs.debian.org/485282">BTS report
15571 #485282</a> is implemented. The alternative setup is to use sssd with
15572 libpam-mklocaluser to connect to LDAP or Kerberos and let sssd take
15573 care of the caching of passwords and group information.</p>
15574
15575 <p>I have so far been unable to get sssd to work with the LDAP server
15576 at the University, but suspect the issue is some SSL/GnuTLS related
15577 problem with the server certificate. I plan to update the Debian
15578 package to version 1.2, which is scheduled for next week, and hope to
15579 find time to make sure the next release will include both the
15580 Debian/Ubuntu specific patches. Upstream is friendly and responsive,
15581 and I am sure we will find a good solution.</p>
15582
15583 <p>The idea is to set up the roaming laptops to authenticate using
15584 LDAP or Kerberos and create a local user with home directory in /home/
15585 when a usre in LDAP logs in via KDM or GDM for the first time, and
15586 cache the password for offline checking, as well as caching group
15587 memberhips and other relevant LDAP information. The
15588 libpam-mklocaluser package was created to make sure the local home
15589 directory is in /home/, instead of /site/server/directory/ which would
15590 be the home directory if pam_mkhomedir was used. To avoid confusion
15591 with support requests and configuration, we do not want local laptops
15592 to have users in a path that is used for the same users home directory
15593 on the home directory servers.</p>
15594
15595 <p>One annoying problem with gdm is that it do not show the PAM
15596 message passed to the user from libpam-mklocaluser when the local user
15597 is created. Instead gdm simply reject the login with some generic
15598 message. The message is shown in kdm, ssh and login, so I guess it is
15599 a bug in gdm. Have not investigated if there is some other message
15600 type that can be used instead to get gdm to also show the message.</p>
15601
15602 <p>If you want to help out with implementing this for Debian Edu,
15603 please contact us on debian-edu@lists.debian.org.</p>
15604
15605 </div>
15606 <div class="tags">
15607
15608
15609 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>.
15610
15611
15612 </div>
15613 </div>
15614 <div class="padding"></div>
15615
15616 <div class="entry">
15617 <div class="title">
15618 <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>
15619 </div>
15620 <div class="date">
15621 14th May 2010
15622 </div>
15623 <div class="body">
15624 <p>Since this evening, parallel booting is the default in
15625 Debian/unstable for machines using dependency based boot sequencing.
15626 Apparently the testing of concurrent booting has been wider than
15627 expected, if I am to believe the
15628 <a href="http://lists.debian.org/debian-devel/2010/05/msg00122.html">input
15629 on debian-devel@</a>, and I concluded a few days ago to move forward
15630 with the feature this weekend, to give us some time to detect any
15631 remaining problems before Squeeze is frozen. If serious problems are
15632 detected, it is simple to change the default back to sequential boot.
15633 The upload of the new sysvinit package also activate a new upstream
15634 version.</p>
15635
15636 More information about
15637 <a href="http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot">dependency
15638 based boot sequencing</a> is available from the Debian wiki. It is
15639 currently possible to disable parallel booting when one run into
15640 problems caused by it, by adding this line to /etc/default/rcS:</p>
15641
15642 <blockquote><pre>
15643 CONCURRENCY=none
15644 </pre></blockquote>
15645
15646 <p>If you report any problems with dependencies in init.d scripts to
15647 the BTS, please usertag the report to get it to show up at
15648 <a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org">the
15649 list of usertagged bugs related to this</a>.</p>
15650
15651 </div>
15652 <div class="tags">
15653
15654
15655 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>.
15656
15657
15658 </div>
15659 </div>
15660 <div class="padding"></div>
15661
15662 <div class="entry">
15663 <div class="title">
15664 <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>
15665 </div>
15666 <div class="date">
15667 14th May 2010
15668 </div>
15669 <div class="body">
15670 <p>In the recent Debian Edu versions, the
15671 <a href="http://wiki.debian.org/DebianEdu/HowTo/SiteSummary">sitesummary
15672 system</a> is used to keep track of the machines in the school
15673 network. Each machine will automatically report its status to the
15674 central server after boot and once per night. The network setup is
15675 also reported, and using this information it is possible to get the
15676 MAC address of all network interfaces in the machines. This is useful
15677 to update the DHCP configuration.</p>
15678
15679 <p>To give some idea how to use sitesummary, here is a one-liner to
15680 ist all MAC addresses of all machines reporting to sitesummary. Run
15681 this on the collector host:</p>
15682
15683 <blockquote><pre>
15684 perl -MSiteSummary -e 'for_all_hosts(sub { print join(" ", get_macaddresses(shift)), "\n"; });'
15685 </pre></blockquote>
15686
15687 <p>This will list all MAC addresses assosiated with all machine, one
15688 line per machine and with space between the MAC addresses.</p>
15689
15690 <p>To allow system administrators easier job at adding static DHCP
15691 addresses for hosts, it would be possible to extend this to fetch
15692 machine information from sitesummary and update the DHCP and DNS
15693 tables in LDAP using this information. Such tool is unfortunately not
15694 written yet.</p>
15695
15696 </div>
15697 <div class="tags">
15698
15699
15700 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>.
15701
15702
15703 </div>
15704 </div>
15705 <div class="padding"></div>
15706
15707 <div class="entry">
15708 <div class="title">
15709 <a href="http://people.skolelinux.org/pere/blog/systemd__an_interesting_alternative_to_upstart.html">systemd, an interesting alternative to upstart</a>
15710 </div>
15711 <div class="date">
15712 13th May 2010
15713 </div>
15714 <div class="body">
15715 <p>The last few days a new boot system called
15716 <a href="http://www.freedesktop.org/wiki/Software/systemd">systemd</a>
15717 has been
15718 <a href="http://0pointer.de/blog/projects/systemd.html">introduced</a>
15719
15720 to the free software world. I have not yet had time to play around
15721 with it, but it seem to be a very interesting alternative to
15722 <a href="http://upstart.ubuntu.com/">upstart</a>, and might prove to be
15723 a good alternative for Debian when we are able to switch to an event
15724 based boot system. Tollef is
15725 <a href="http://bugs.debian.org/580814">in the process</a> of getting
15726 systemd into Debian, and I look forward to seeing how well it work. I
15727 like the fact that systemd handles init.d scripts with dependency
15728 information natively, allowing them to run in parallel where upstart
15729 at the moment do not.</p>
15730
15731 <p>Unfortunately do systemd have the same problem as upstart regarding
15732 platform support. It only work on recent Linux kernels, and also need
15733 some new kernel features enabled to function properly. This means
15734 kFreeBSD and Hurd ports of Debian will need a port or a different boot
15735 system. Not sure how that will be handled if systemd proves to be the
15736 way forward.</p>
15737
15738 <p>In the mean time, based on the
15739 <a href="http://lists.debian.org/debian-devel/2010/05/msg00122.html">input
15740 on debian-devel@</a> regarding parallel booting in Debian, I have
15741 decided to enable full parallel booting as the default in Debian as
15742 soon as possible (probably this weekend or early next week), to see if
15743 there are any remaining serious bugs in the init.d dependencies. A
15744 new version of the sysvinit package implementing this change is
15745 already in experimental. If all go well, Squeeze will be released
15746 with parallel booting enabled by default.</p>
15747
15748 </div>
15749 <div class="tags">
15750
15751
15752 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>.
15753
15754
15755 </div>
15756 </div>
15757 <div class="padding"></div>
15758
15759 <div class="entry">
15760 <div class="title">
15761 <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>
15762 </div>
15763 <div class="date">
15764 6th May 2010
15765 </div>
15766 <div class="body">
15767 <p>These days, the init.d script dependencies in Squeeze are quite
15768 complete, so complete that it is actually possible to run all the
15769 init.d scripts in parallell based on these dependencies. If you want
15770 to test your Squeeze system, make sure
15771 <a href="http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot">dependency
15772 based boot sequencing</a> is enabled, and add this line to
15773 /etc/default/rcS:</p>
15774
15775 <blockquote><pre>
15776 CONCURRENCY=makefile
15777 </pre></blockquote>
15778
15779 <p>That is it. It will cause sysv-rc to use the startpar tool to run
15780 scripts in parallel using the dependency information stored in
15781 /etc/init.d/.depend.boot, /etc/init.d/.depend.start and
15782 /etc/init.d/.depend.stop to order the scripts. Startpar is configured
15783 to try to start the kdm and gdm scripts as early as possible, and will
15784 start the facilities required by kdm or gdm as early as possible to
15785 make this happen.</p>
15786
15787 <p>Give it a try, and see if you like the result. If some services
15788 fail to start properly, it is most likely because they have incomplete
15789 init.d script dependencies in their startup script (or some of their
15790 dependent scripts have incomplete dependencies). Report bugs and get
15791 the package maintainers to fix it. :)</p>
15792
15793 <p>Running scripts in parallel could be the default in Debian when we
15794 manage to get the init.d script dependencies complete and correct. I
15795 expect we will get there in Squeeze+1, if we get manage to test and
15796 fix the remaining issues.</p>
15797
15798 <p>If you report any problems with dependencies in init.d scripts to
15799 the BTS, please usertag the report to get it to show up at
15800 <a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org">the
15801 list of usertagged bugs related to this</a>.</p>
15802
15803 </div>
15804 <div class="tags">
15805
15806
15807 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>.
15808
15809
15810 </div>
15811 </div>
15812 <div class="padding"></div>
15813
15814 <div class="entry">
15815 <div class="title">
15816 <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>
15817 </div>
15818 <div class="date">
15819 2nd May 2010
15820 </div>
15821 <div class="body">
15822 <p>One interesting feature in Active Directory, is the ability to
15823 create a new user with an expired password, and thus force the user to
15824 change the password on the first login attempt.</p>
15825
15826 <p>I'm not quite sure how to do that with the LDAP setup in Debian
15827 Edu, but did some initial testing with a local account. The account
15828 and password aging information is available in /etc/shadow, but
15829 unfortunately, it is not possible to specify an expiration time for
15830 passwords, only a maximum age for passwords.</p>
15831
15832 <p>A freshly created account (using adduser test) will have these
15833 settings in /etc/shadow:</p>
15834
15835 <blockquote><pre>
15836 root@tjener:~# chage -l test
15837 Last password change : May 02, 2010
15838 Password expires : never
15839 Password inactive : never
15840 Account expires : never
15841 Minimum number of days between password change : 0
15842 Maximum number of days between password change : 99999
15843 Number of days of warning before password expires : 7
15844 root@tjener:~#
15845 </pre></blockquote>
15846
15847 <p>The only way I could come up with to create a user with an expired
15848 account, is to change the date of the last password change to the
15849 lowest value possible (January 1th 1970), and the maximum password age
15850 to the difference in days between that date and today. To make it
15851 simple, I went for 30 years (30 * 365 = 10950) and January 2th (to
15852 avoid testing if 0 is a valid value).</p>
15853
15854 <p>After using these commands to set it up, it seem to work as
15855 intended:</p>
15856
15857 <blockquote><pre>
15858 root@tjener:~# chage -d 1 test; chage -M 10950 test
15859 root@tjener:~# chage -l test
15860 Last password change : Jan 02, 1970
15861 Password expires : never
15862 Password inactive : never
15863 Account expires : never
15864 Minimum number of days between password change : 0
15865 Maximum number of days between password change : 10950
15866 Number of days of warning before password expires : 7
15867 root@tjener:~#
15868 </pre></blockquote>
15869
15870 <p>So far I have tested this with ssh and console, and kdm (in
15871 Squeeze) login, and all ask for a new password before login in the
15872 user (with ssh, I was thrown out and had to log in again).</p>
15873
15874 <p>Perhaps we should set up something similar for Debian Edu, to make
15875 sure only the user itself have the account password?</p>
15876
15877 <p>If you want to comment on or help out with implementing this for
15878 Debian Edu, please contact us on debian-edu@lists.debian.org.</p>
15879
15880 <p>Update 2010-05-02 17:20: Paul Tötterman tells me on IRC that the
15881 shadow(8) page in Debian/testing now state that setting the date of
15882 last password change to zero (0) will force the password to be changed
15883 on the first login. This was not mentioned in the manual in Lenny, so
15884 I did not notice this in my initial testing. I have tested it on
15885 Squeeze, and '<tt>chage -d 0 username</tt>' do work there. I have not
15886 tested it on Lenny yet.</p>
15887
15888 <p>Update 2010-05-02-19:05: Jim Paris tells me via email that an
15889 equivalent command to expire a password is '<tt>passwd -e
15890 username</tt>', which insert zero into the date of the last password
15891 change.</p>
15892
15893 </div>
15894 <div class="tags">
15895
15896
15897 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>.
15898
15899
15900 </div>
15901 </div>
15902 <div class="padding"></div>
15903
15904 <div class="entry">
15905 <div class="title">
15906 <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>
15907 </div>
15908 <div class="date">
15909 28th April 2010
15910 </div>
15911 <div class="body">
15912 <p>For some years now, I have wondered how we should handle laptops in
15913 Debian Edu. The Debian Edu infrastructure is mostly designed to
15914 handle stationary computers, and less suited for computers that come
15915 and go.</p>
15916
15917 <p>Now I finally believe I have an sensible idea on how to adjust
15918 Debian Edu for laptops, by introducing a new profile for them, for
15919 example called Roaming Workstations. Here are my thought on this.
15920 The setup would consist of the following:</p>
15921
15922 <ul>
15923
15924 <li>During installation, the user name of the owner / primary user of
15925 the laptop is requested and a local home directory is set up for
15926 the user, with uid and gid information fetched from the LDAP
15927 server. This allow the user to work also when offline. The
15928 central home directory can be available in a subdirectory on
15929 request, for example mounted via CIFS. It could be mounted
15930 automatically when a user log in while on the Debian Edu network,
15931 and unmounted when the machine is taken away (network down,
15932 hibernate, etc), it can be set up to do automatic mounting on
15933 request (using autofs), or perhaps some GUI button on the desktop
15934 can be used to access it when needed. Perhaps it is enough to use
15935 the fish protocol in KDE?</li>
15936
15937 <li>Password checking is set up to use LDAP or Kerberos
15938 authentication when the machine is on the Debian Edu network, and
15939 to cache the password for offline checking when the machine unable
15940 to reach the LDAP or Kerberos server. This can be done using
15941 <a href="http://www.padl.com/OSS/pam_ccreds.html">libpam-ccreds</a>
15942 or the Fedora developed
15943 <a href="https://fedoraproject.org/wiki/Features/SSSD">System
15944 Security Services Daemon</a> packages.</li>
15945
15946 <li>File synchronisation with the central home directory is set up
15947 using a shared directory in both the local and the central home
15948 directory, using unison.</li>
15949
15950 <li>Printing should be set up to print to all printers broadcasting
15951 their existence on the local network, and should then work out of
15952 the box with CUPS. For sites needing accurate printer quotas, some
15953 system with Kerberos authentication or printing via ssh could be
15954 implemented.</li>
15955
15956 <li>For users that should have local root access to their laptop,
15957 sudo should be used to allow this to the local user.</li>
15958
15959 <li>It would be nice if user and group information from LDAP is
15960 cached on the client, but given that there are entries for the
15961 local user and primary group in /etc/, it should not be needed.</li>
15962
15963 </ul>
15964
15965 <p>I believe all the pieces to implement this are in Debian/testing at
15966 the moment. If we work quickly, we should be able to get this ready
15967 in time for the Squeeze release to freeze. Some of the pieces need
15968 tweaking, like libpam-ccreds should get support for pam-auth-update
15969 (<a href="http://bugs.debian.org/566718">#566718</a>) and nslcd (or
15970 perhaps debian-edu-config) should get some integration code to stop
15971 its daemon when the LDAP server is unavailable to avoid long timeouts
15972 when disconnected from the net. If we get Kerberos enabled, we need
15973 to make sure we avoid long timeouts there too.</p>
15974
15975 <p>If you want to help out with implementing this for Debian Edu,
15976 please contact us on debian-edu@lists.debian.org.</p>
15977
15978 </div>
15979 <div class="tags">
15980
15981
15982 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>.
15983
15984
15985 </div>
15986 </div>
15987 <div class="padding"></div>
15988
15989 <div class="entry">
15990 <div class="title">
15991 <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>
15992 </div>
15993 <div class="date">
15994 19th April 2010
15995 </div>
15996 <div class="body">
15997 <p>The last few weeks i have had the pleasure of reading a
15998 thought-provoking collection of essays by Cory Doctorow, on topics
15999 touching copyright, virtual worlds, the future of man when the
16000 conscience mind can be duplicated into a computer and many more. The
16001 book titled "Content: Selected Essays on Technology, Creativity,
16002 Copyright, and the Future of the Future" is available with few
16003 restrictions on the web, for example from
16004 <a href="http://craphound.com/content/">his own site</a>. I read the
16005 epub-version from
16006 <a href="http://www.feedbooks.com/book/2883">feedbooks</a> using
16007 <a href="http://www.fbreader.org/">fbreader</a> and my N810. I
16008 strongly recommend this book.</p>
16009
16010 </div>
16011 <div class="tags">
16012
16013
16014 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>.
16015
16016
16017 </div>
16018 </div>
16019 <div class="padding"></div>
16020
16021 <div class="entry">
16022 <div class="title">
16023 <a href="http://people.skolelinux.org/pere/blog/Kerberos_for_Debian_Edu_Squeeze_.html">Kerberos for Debian Edu/Squeeze?</a>
16024 </div>
16025 <div class="date">
16026 14th April 2010
16027 </div>
16028 <div class="body">
16029 <p><a href="http://www.nuug.no/aktiviteter/20100413-kerberos/">Yesterdays
16030 NUUG presentation</a> about Kerberos was inspiring, and reminded me
16031 about the need to start using Kerberos in Skolelinux. Setting up a
16032 Kerberos server seem to be straight forward, and if we get this in
16033 place a long time before the Squeeze version of Debian freezes, we
16034 have a chance to migrate Skolelinux away from NFSv3 for the home
16035 directories, and over to an architecture where the infrastructure do
16036 not have to trust IP addresses and machines, and instead can trust
16037 users and cryptographic keys instead.</p>
16038
16039 <p>A challenge will be integration and administration. Is there a
16040 Kerberos implementation for Debian where one can control the
16041 administration access in Kerberos using LDAP groups? With it, the
16042 school administration will have to maintain access control using flat
16043 files on the main server, which give a huge potential for errors.</p>
16044
16045 <p>A related question I would like to know is how well Kerberos and
16046 pam-ccreds (offline password check) work together. Anyone know?</p>
16047
16048 <p>Next step will be to use Kerberos for access control in Lwat and
16049 Nagios. I have no idea how much work that will be to implement. We
16050 would also need to document how to integrate with Windows AD, as such
16051 shared network will require two Kerberos realms that need to cooperate
16052 to work properly.</p>
16053
16054 <p>I believe a good start would be to start using Kerberos on the
16055 skolelinux.no machines, and this way get ourselves experience with
16056 configuration and integration. A natural starting point would be
16057 setting up ldap.skolelinux.no as the Kerberos server, and migrate the
16058 rest of the machines from PAM via LDAP to PAM via Kerberos one at the
16059 time.</p>
16060
16061 <p>If you would like to contribute to get this working in Skolelinux,
16062 I recommend you to see the video recording from yesterdays NUUG
16063 presentation, and start using Kerberos at home. The video show show
16064 up in a few days.</p>
16065
16066 </div>
16067 <div class="tags">
16068
16069
16070 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>.
16071
16072
16073 </div>
16074 </div>
16075 <div class="padding"></div>
16076
16077 <div class="entry">
16078 <div class="title">
16079 <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>
16080 </div>
16081 <div class="date">
16082 6th March 2010
16083 </div>
16084 <div class="body">
16085 <p>6 years ago, as part of the Debian Edu development I am involved
16086 in, I asked for a hook in the kdm and gdm setup to run scripts as root
16087 when the user log out. A bug was submitted against the xfree86-common
16088 package in 2004 (<a href="http://bugs.debian.org/230422">#230422</a>),
16089 and revisited every time Debian Edu was working on a new release.
16090 Today, this finally paid off.</p>
16091
16092 <p>The framework for this feature was today commited to the git
16093 repositry for the xorg package, and the git repository for xdm has
16094 been updated to use this framework. Next on my agenda is to make sure
16095 kdm and gdm also add code to use this framework.</p>
16096
16097 <p>In Debian Edu, we want to ability to run commands as root when the
16098 user log out, to get rid of runaway processes and do general cleanup
16099 after a user. With this framework in place, we finally can do that in
16100 a generic way that work with all display managers using this
16101 framework. My goal is to get all display managers in Debian use it,
16102 similar to how they use the Xsession.d framework today.<p>
16103
16104 </div>
16105 <div class="tags">
16106
16107
16108 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>.
16109
16110
16111 </div>
16112 </div>
16113 <div class="padding"></div>
16114
16115 <div class="entry">
16116 <div class="title">
16117 <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>
16118 </div>
16119 <div class="date">
16120 11th February 2010
16121 </div>
16122 <div class="body">
16123 <p>On Tuesday, the Debian/Lenny based version of
16124 <a href="http://www.skolelinux.org/">Skolelinux</a> was finally
16125 shipped. This was a major leap forward for the project, and I am very
16126 pleased that we finally got the release wrapped up. Work on the first
16127 point release starts imediately, as we plan to get that one out a
16128 month after the major release, to include all fixes for bugs we found
16129 and fixed too late in the release process to include last Tuesday.</p>
16130
16131 <p>Perhaps it even is time for some partying?</p>
16132
16133 <p>After this first point release, my plan is to focus again on the
16134 next major release, based on Squeeze. We will try to get as many of
16135 the fixes we need into the official Debian packages before the freeze,
16136 and have just a few weeks or months to make it happen.</p>
16137
16138 </div>
16139 <div class="tags">
16140
16141
16142 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>.
16143
16144
16145 </div>
16146 </div>
16147 <div class="padding"></div>
16148
16149 <div class="entry">
16150 <div class="title">
16151 <a href="http://people.skolelinux.org/pere/blog/Automatic_Munin_and_Nagios_configuration.html">Automatic Munin and Nagios configuration</a>
16152 </div>
16153 <div class="date">
16154 27th January 2010
16155 </div>
16156 <div class="body">
16157 <p>One of the new features in the next Debian/Lenny based release of
16158 Debian Edu/Skolelinux, which is scheduled for release in the next few
16159 days, is automatic configuration of the service monitoring system
16160 Nagios. The previous release had automatic configuration of trend
16161 analysis using Munin, and this Lenny based release take that a step
16162 further.</p>
16163
16164 <p>When installing a Debian Edu Main-server, it is automatically
16165 configured as a Munin and Nagios server. In addition, it is
16166 configured to be a server for the
16167 <a href="http://wiki.debian.org/DebianEdu/HowTo/SiteSummary">SiteSummary
16168 system</a> I have written for use in Debian Edu. The SiteSummary
16169 system is inspired by a system used by the University of Oslo where I
16170 work. In short, the system provide a centralised collector of
16171 information about the computers on the network, and a client on each
16172 computer submitting information to this collector. This allow for
16173 automatic information on which packages are installed on each machine,
16174 which kernel the machines are using, what kind of configuration the
16175 packages got etc. This also allow us to automatically generate Munin
16176 and Nagios configuration.</p>
16177
16178 <p>All computers reporting to the sitesummary collector with the
16179 munin-node package installed is automatically enabled as a Munin
16180 client and graphs from the statistics collected from that machine show
16181 up automatically on http://www/munin/ on the Main-server.</p>
16182
16183 <p>All non-laptop computers reporting to the sitesummary collector are
16184 automatically monitored for network presence (ping and any network
16185 services detected). In addition, all computers (also laptops) with
16186 the nagios-nrpe-server package installed and configured the way
16187 sitesummary would configure it, are monitored for full disks, software
16188 raid status, swap free and other checks that need to run locally on
16189 the machine.</p>
16190
16191 <p>The result is that the administrator on a school using Debian Edu
16192 based on Lenny will be able to check the health of his installation
16193 with one look at the Nagios settings, without having to spend any time
16194 keeping the Nagios configuration up-to-date.</p>
16195
16196 <p>The only configuration one need to do to get Nagios up and running
16197 is to set the password used to get access via HTTP. The system
16198 administrator need to run "<tt>htpasswd /etc/nagios3/htpasswd.users
16199 nagiosadmin</tt>" to create a nagiosadmin user and set a password for
16200 it to be able to log into the Nagios web pages. After that,
16201 everything is taken care of.</p>
16202
16203 </div>
16204 <div class="tags">
16205
16206
16207 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>.
16208
16209
16210 </div>
16211 </div>
16212 <div class="padding"></div>
16213
16214 <div class="entry">
16215 <div class="title">
16216 <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>
16217 </div>
16218 <div class="date">
16219 12th August 2009
16220 </div>
16221 <div class="body">
16222 <p>Just for fun, I did a search right now on Google for a few file ODF
16223 and MS Office based formats (not to be mistaken for ISO or ECMA
16224 OOXML), to get an idea of their relative usage. I searched using
16225 'filetype:odt' and equvalent terms, and got these results:</P>
16226
16227 <table>
16228 <tr><th>Type</th><th>ODF</th><th>MS Office</th></tr>
16229 <tr><td>Tekst</td> <td>odt:282000</td> <td>docx:308000</td></tr>
16230 <tr><td>Presentasjon</td> <td>odp:75600</td> <td>pptx:183000</td></tr>
16231 <tr><td>Regneark</td> <td>ods:26500 </td> <td>xlsx:145000</td></tr>
16232 </table>
16233
16234 <p>Next, I added a 'site:no' limit to get the numbers for Norway, and
16235 got these numbers:</p>
16236
16237 <table>
16238 <tr><th>Type</th><th>ODF</th><th>MS Office</th></tr>
16239 <tr><td>Tekst</td> <td>odt:2480 </td> <td>docx:4460</td></tr>
16240 <tr><td>Presentasjon</td> <td>odp:299 </td> <td>pptx:741</td></tr>
16241 <tr><td>Regneark</td> <td>ods:187 </td> <td>xlsx:372</td></tr>
16242 </table>
16243
16244 <p>I wonder how these numbers change over time.</p>
16245
16246 <p>I am aware of Google returning different results and numbers based
16247 on where the search is done, so I guess these numbers will differ if
16248 they are conduced in another country. Because of this, I did the same
16249 search from a machine in California, USA, a few minutes after the
16250 search done from a machine here in Norway.</p>
16251
16252
16253 <table>
16254 <tr><th>Type</th><th>ODF</th><th>MS Office</th></tr>
16255 <tr><td>Tekst</td> <td>odt:129000</td> <td>docx:308000</td></tr>
16256 <tr><td>Presentasjon</td> <td>odp:44200</td> <td>pptx:93900</td></tr>
16257 <tr><td>Regneark</td> <td>ods:26500 </td> <td>xlsx:82400</td></tr>
16258 </table>
16259
16260 <p>And with 'site:no':
16261
16262 <table>
16263 <tr><th>Type</th><th>ODF</th><th>MS Office</th></tr>
16264 <tr><td>Tekst</td> <td>odt:2480</td> <td>docx:3410</td></tr>
16265 <tr><td>Presentasjon</td> <td>odp:175</td> <td>pptx:604</td></tr>
16266 <tr><td>Regneark</td> <td>ods:186 </td> <td>xlsx:296</td></tr>
16267 </table>
16268
16269 <p>Interesting difference, not sure what to conclude from these
16270 numbers.</p>
16271
16272 </div>
16273 <div class="tags">
16274
16275
16276 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>.
16277
16278
16279 </div>
16280 </div>
16281 <div class="padding"></div>
16282
16283 <div class="entry">
16284 <div class="title">
16285 <a href="http://people.skolelinux.org/pere/blog/ISO_still_hope_to_fix_OOXML.html">ISO still hope to fix OOXML</a>
16286 </div>
16287 <div class="date">
16288 8th August 2009
16289 </div>
16290 <div class="body">
16291 <p>According to <a
16292 href="http://twerner.blogspot.com/2009/08/defects-of-office-open-xml.html">a
16293 blog post from Torsten Werner</a>, the current defect report for ISO
16294 29500 (ISO OOXML) is 809 pages. His interesting point is that the
16295 defect report is 71 pages more than the full ODF 1.1 specification.
16296 Personally I find it more interesting that ISO still believe ISO OOXML
16297 can be fixed in ISO. Personally, I believe it is broken beyon repair,
16298 and I completely lack any trust in ISO for being able to get anywhere
16299 close to solving the problems. I was part of the Norwegian committee
16300 involved in the OOXML fast track process, and was not impressed with
16301 Standard Norway and ISO in how they handled it.</p>
16302
16303 <p>These days I focus on ODF instead, which seem like a specification
16304 with the future ahead of it. We are working in NUUG to organise a ODF
16305 seminar this autumn.</p>
16306
16307 </div>
16308 <div class="tags">
16309
16310
16311 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>.
16312
16313
16314 </div>
16315 </div>
16316 <div class="padding"></div>
16317
16318 <div class="entry">
16319 <div class="title">
16320 <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>
16321 </div>
16322 <div class="date">
16323 27th July 2009
16324 </div>
16325 <div class="body">
16326 <p>Since this evening, with the upload of sysvinit version 2.87dsf-2,
16327 and the upload of insserv version 1.12.0-10 yesterday, Debian unstable
16328 have been migrated to using dependency based boot sequencing. This
16329 conclude work me and others have been doing for the last three days.
16330 It feels great to see this finally part of the default Debian
16331 installation. Now we just need to weed out the last few problems that
16332 are bound to show up, to get everything ready for Squeeze.</p>
16333
16334 <p>The next step is migrating /sbin/init from sysvinit to upstart, and
16335 fixing the more fundamental problem of handing the event based
16336 non-predictable kernel in the early boot.</p>
16337
16338 </div>
16339 <div class="tags">
16340
16341
16342 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>.
16343
16344
16345 </div>
16346 </div>
16347 <div class="padding"></div>
16348
16349 <div class="entry">
16350 <div class="title">
16351 <a href="http://people.skolelinux.org/pere/blog/Taking_over_sysvinit_development.html">Taking over sysvinit development</a>
16352 </div>
16353 <div class="date">
16354 22nd July 2009
16355 </div>
16356 <div class="body">
16357 <p>After several years of frustration with the lack of activity from
16358 the existing sysvinit upstream developer, I decided a few weeks ago to
16359 take over the package and become the new upstream. The number of
16360 patches to track for the Debian package was becoming a burden, and the
16361 lack of synchronization between the distribution made it hard to keep
16362 the package up to date.</p>
16363
16364 <p>On the new sysvinit team is the SuSe maintainer Dr. Werner Fink,
16365 and my Debian co-maintainer Kel Modderman. About 10 days ago, I made
16366 a new upstream tarball with version number 2.87dsf (for Debian, SuSe
16367 and Fedora), based on the patches currently in use in these
16368 distributions. We Debian maintainers plan to move to this tarball as
16369 the new upstream as soon as we find time to do the merge. Since the
16370 new tarball was created, we agreed with Werner at SuSe to make a new
16371 upstream project at <a href="http://savannah.nongnu.org/">Savannah</a>, and continue
16372 development there. The project is registered and currently waiting
16373 for approval by the Savannah administrators, and as soon as it is
16374 approved, we will import the old versions from svn and continue
16375 working on the future release.</p>
16376
16377 <p>It is a bit ironic that this is done now, when some of the involved
16378 distributions are moving to upstart as a syvinit replacement.</p>
16379
16380 </div>
16381 <div class="tags">
16382
16383
16384 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>.
16385
16386
16387 </div>
16388 </div>
16389 <div class="padding"></div>
16390
16391 <div class="entry">
16392 <div class="title">
16393 <a href="http://people.skolelinux.org/pere/blog/Debian_boots_quicker_and_quicker.html">Debian boots quicker and quicker</a>
16394 </div>
16395 <div class="date">
16396 24th June 2009
16397 </div>
16398 <div class="body">
16399 <p>I spent Monday and tuesday this week in London with a lot of the
16400 people involved in the boot system on Debian and Ubuntu, to see if we
16401 could find more ways to speed up the boot system. This was an Ubuntu
16402 funded
16403 <a href="https://wiki.ubuntu.com/FoundationsTeam/BootPerformance/DebianUbuntuSprint">developer
16404 gathering</a>. It was quite productive. We also discussed the future
16405 of boot systems, and ways to handle the increasing number of boot
16406 issues introduced by the Linux kernel becoming more and more
16407 asynchronous and event base. The Ubuntu approach using udev and
16408 upstart might be a good way forward. Time will show.</p>
16409
16410 <p>Anyway, there are a few ways at the moment to speed up the boot
16411 process in Debian. All of these should be applied to get a quick
16412 boot:</p>
16413
16414 <ul>
16415
16416 <li>Use dash as /bin/sh.</li>
16417
16418 <li>Disable the init.d/hwclock*.sh scripts and make sure the hardware
16419 clock is in UTC.</li>
16420
16421 <li>Install and activate the insserv package to enable
16422 <a href="http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot">dependency
16423 based boot sequencing</a>, and enable concurrent booting.</li>
16424
16425 </ul>
16426
16427 These points are based on the Google summer of code work done by
16428 <a href="http://initscripts-ng.alioth.debian.org/soc2006-bootsystem/">Carlos
16429 Villegas</a>.
16430
16431 <p>Support for makefile-style concurrency during boot was uploaded to
16432 unstable yesterday. When we tested it, we were able to cut 6 seconds
16433 from the boot sequence. It depend on very correct dependency
16434 declaration in all init.d scripts, so I expect us to find edge cases
16435 where the dependences in some scripts are slightly wrong when we start
16436 using this.</p>
16437
16438 <p>On our IRC channel for this effort, #pkg-sysvinit, a new idea was
16439 introduced by Raphael Geissert today, one that could affect the
16440 startup speed as well. Instead of starting some scripts concurrently
16441 from rcS.d/ and another set of scripts from rc2.d/, it would be
16442 possible to run a of them in the same process. A quick way to test
16443 this would be to enable insserv and run 'mv /etc/rc2.d/S* /etc/rcS.d/;
16444 insserv'. Will need to test if that work. :)</p>
16445
16446 </div>
16447 <div class="tags">
16448
16449
16450 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>.
16451
16452
16453 </div>
16454 </div>
16455 <div class="padding"></div>
16456
16457 <div class="entry">
16458 <div class="title">
16459 <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>
16460 </div>
16461 <div class="date">
16462 2nd May 2009
16463 </div>
16464 <div class="body">
16465 <p>There are two software projects that have had huge influence on the
16466 quality of free software, and I wanted to mention both in case someone
16467 do not yet know them.</p>
16468
16469 <p>The first one is <a href="http://valgrind.org/">valgrind</a>, a
16470 tool to detect and expose errors in the memory handling of programs.
16471 It is easy to use, all one need to do is to run 'valgrind program',
16472 and it will report any problems on stdout. It is even better if the
16473 program include debug information. With debug information, it is able
16474 to report the source file name and line number where the problem
16475 occurs. It can report things like 'reading past memory block in file
16476 X line N, the memory block was allocated in file Y, line M', and
16477 'using uninitialised value in control logic'. This tool has made it
16478 trivial to investigate reproducible crash bugs in programs, and have
16479 reduced the number of this kind of bugs in free software a lot.
16480
16481 <p>The second one is
16482 <a href="http://en.wikipedia.org/wiki/Coverity">Coverity</a> which is
16483 a source code checker. It is able to process the source of a program
16484 and find problems in the logic without running the program. It
16485 started out as the Stanford Checker and became well known when it was
16486 used to find bugs in the Linux kernel. It is now a commercial tool
16487 and the company behind it is running
16488 <a href="http://www.scan.coverity.com/">a community service</a> for the
16489 free software community, where a lot of free software projects get
16490 their source checked for free. Several thousand defects have been
16491 found and fixed so far. It can find errors like 'lock L taken in file
16492 X line N is never released if exiting in line M', or 'the code in file
16493 Y lines O to P can never be executed'. The projects included in the
16494 community service project have managed to get rid of a lot of
16495 reliability problems thanks to Coverity.</p>
16496
16497 <p>I believe tools like this, that are able to automatically find
16498 errors in the source, are vital to improve the quality of software and
16499 make sure we can get rid of the crashing and failing software we are
16500 surrounded by today.</p>
16501
16502 </div>
16503 <div class="tags">
16504
16505
16506 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>.
16507
16508
16509 </div>
16510 </div>
16511 <div class="padding"></div>
16512
16513 <div class="entry">
16514 <div class="title">
16515 <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>
16516 </div>
16517 <div class="date">
16518 28th April 2009
16519 </div>
16520 <div class="body">
16521 <p>Julien Blache
16522 <a href="http://blog.technologeek.org/2009/04/12/214">claim that no
16523 patch is better than a useless patch</a>. I completely disagree, as a
16524 patch allow one to discuss a concrete and proposed solution, and also
16525 prove that the issue at hand is important enough for someone to spent
16526 time on fixing it. No patch do not provide any of these positive
16527 properties.</p>
16528
16529 </div>
16530 <div class="tags">
16531
16532
16533 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>.
16534
16535
16536 </div>
16537 </div>
16538 <div class="padding"></div>
16539
16540 <div class="entry">
16541 <div class="title">
16542 <a href="http://people.skolelinux.org/pere/blog/Recording_video_from_cron_using_VLC.html">Recording video from cron using VLC</a>
16543 </div>
16544 <div class="date">
16545 5th April 2009
16546 </div>
16547 <div class="body">
16548 <p>One think I have wanted to figure out for a along time is how to
16549 run vlc from cron to do recording of video streams on the net. The
16550 task is trivial with mplayer, but I do not really trust the security
16551 of mplayer (it crashes too often on strange input), and thus prefer
16552 vlc. I finally found a way to do it today. I spent an hour or so
16553 searching the web for recipes and reading the documentation. The
16554 hardest part was to get rid of the GUI window, but after finding the
16555 dummy interface, the command line finally presented itself:</p>
16556
16557 <blockquote><pre>URL=http://www.ping.uio.no/video/rms-oslo_2009.ogg
16558 SAVEFILE=rms.ogg
16559 DISPLAY= vlc -q $URL \
16560 --sout="#duplicate{dst=std{access=file,url='$SAVEFILE'},dst=nodisplay}" \
16561 --intf=dummy</pre></blockquote>
16562
16563 <p>The command stream the URL and store it in the SAVEFILE by
16564 duplicating the output stream to "nodisplay" and the file, using the
16565 dummy interface. The dummy interface and the nodisplay output make
16566 sure no X interface is needed.</p>
16567
16568 <p>The cron job then need to start this job with the appropriate URL
16569 and file name to save, sleep for the duration wanted, and then kill
16570 the vlc process with SIGTERM. Here is a complete script
16571 <tt>vlc-record</tt> to use from <tt>at</tt> or <tt>cron</tt>:</p>
16572
16573 <blockquote><pre>#!/bin/sh
16574 set -e
16575 URL="$1"
16576 SAVEFILE="$2"
16577 DURATION="$3"
16578 DISPLAY= vlc -q "$URL" \
16579 --sout="#duplicate{dst=std{access=file,url='$SAVEFILE'},dst=nodisplay}" \
16580 --intf=dummy < /dev/null > /dev/null 2>&1 &
16581 pid=$!
16582 sleep $DURATION
16583 kill $pid
16584 wait $pid</pre></blockquote>
16585
16586 </div>
16587 <div class="tags">
16588
16589
16590 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>.
16591
16592
16593 </div>
16594 </div>
16595 <div class="padding"></div>
16596
16597 <div class="entry">
16598 <div class="title">
16599 <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>
16600 </div>
16601 <div class="date">
16602 30th March 2009
16603 </div>
16604 <div class="body">
16605 <p>Where I work at the University of Oslo, one decision stand out as a
16606 very good one to form a long lived computer infrastructure. It is the
16607 simple one, lost by many in todays computer industry: Standardize on
16608 open network protocols and open exchange/storage formats, not applications.
16609 Applications come and go, while protocols and files tend to stay, and
16610 thus one want to make it easy to change application and vendor, while
16611 avoiding conversion costs and locking users to a specific platform or
16612 application.</p>
16613
16614 <p>This approach make it possible to replace the client applications
16615 independently of the server applications. One can even allow users to
16616 use several different applications as long as they handle the selected
16617 protocol and format. In the normal case, only one client application
16618 is recommended and users only get help if they choose to use this
16619 application, but those that want to deviate from the easy path are not
16620 blocked from doing so.</p>
16621
16622 <p>It also allow us to replace the server side without forcing the
16623 users to replace their applications, and thus allow us to select the
16624 best server implementation at any moment, when scale and resouce
16625 requirements change.</p>
16626
16627 <p>I strongly recommend standardizing - on open network protocols and
16628 open formats, but I would never recommend standardizing on a single
16629 application that do not use open network protocol or open formats.</p>
16630
16631 </div>
16632 <div class="tags">
16633
16634
16635 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>.
16636
16637
16638 </div>
16639 </div>
16640 <div class="padding"></div>
16641
16642 <div class="entry">
16643 <div class="title">
16644 <a href="http://people.skolelinux.org/pere/blog/Returning_from_Skolelinux_developer_gathering.html">Returning from Skolelinux developer gathering</a>
16645 </div>
16646 <div class="date">
16647 29th March 2009
16648 </div>
16649 <div class="body">
16650 <p>I'm sitting on the train going home from this weekends Debian
16651 Edu/Skolelinux development gathering. I got a bit done tuning the
16652 desktop, and looked into the dynamic service location protocol
16653 implementation avahi. It look like it could be useful for us. Almost
16654 30 people participated, and I believe it was a great environment to
16655 get to know the Skolelinux system. Walter Bender, involved in the
16656 development of the Sugar educational platform, presented his stuff and
16657 also helped me improve my OLPC installation. He also showed me that
16658 his Turtle Art application can be used in standalone mode, and we
16659 agreed that I would help getting it packaged for Debian. As a
16660 standalone application it would be great for Debian Edu. We also
16661 tried to get the video conferencing working with two OLPCs, but that
16662 proved to be too hard for us. The application seem to need more work
16663 before it is ready for me. I look forward to getting home and relax
16664 now. :)</p>
16665
16666 </div>
16667 <div class="tags">
16668
16669
16670 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>.
16671
16672
16673 </div>
16674 </div>
16675 <div class="padding"></div>
16676
16677 <div class="entry">
16678 <div class="title">
16679 <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>
16680 </div>
16681 <div class="date">
16682 29th March 2009
16683 </div>
16684 <div class="body">
16685 <p>The state of standardized LDAP schemas on Linux is far from
16686 optimal. There is RFC 2307 documenting one way to store NIS maps in
16687 LDAP, and a modified version of this normally called RFC 2307bis, with
16688 some modifications to be compatible with Active Directory. The RFC
16689 specification handle the content of a lot of system databases, but do
16690 not handle DNS zones and DHCP configuration.</p>
16691
16692 <p>In <a href="http://www.skolelinux.org/">Debian Edu/Skolelinux</a>,
16693 we would like to store information about users, SMB clients/hosts,
16694 filegroups, netgroups (users and hosts), DHCP and DNS configuration,
16695 and LTSP configuration in LDAP. These objects have a lot in common,
16696 but with the current LDAP schemas it is not possible to have one
16697 object per entity. For example, one need to have at least three LDAP
16698 objects for a given computer, one with the SMB related stuff, one with
16699 DNS information and another with DHCP information. The schemas
16700 provided for DNS and DHCP are impossible to combine into one LDAP
16701 object. In addition, it is impossible to implement quick queries for
16702 netgroup membership, because of the way NIS triples are implemented.
16703 It just do not scale. I believe it is time for a few RFC
16704 specifications to cleam up this mess.</p>
16705
16706 <p>I would like to have one LDAP object representing each computer in
16707 the network, and this object can then keep the SMB (ie host key), DHCP
16708 (mac address/name) and DNS (name/IP address) settings in one place.
16709 It need to be efficently stored to make sure it scale well.</p>
16710
16711 <p>I would also like to have a quick way to map from a user or
16712 computer and to the net group this user or computer is a member.</p>
16713
16714 <p>Active Directory have done a better job than unix heads like myself
16715 in this regard, and the unix side need to catch up. Time to start a
16716 new IETF work group?</p>
16717
16718 </div>
16719 <div class="tags">
16720
16721
16722 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>.
16723
16724
16725 </div>
16726 </div>
16727 <div class="padding"></div>
16728
16729 <div class="entry">
16730 <div class="title">
16731 <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>
16732 </div>
16733 <div class="date">
16734 28th February 2009
16735 </div>
16736 <div class="body">
16737 <p>At work, we have a few hundred Linux servers, and with that amount
16738 of hardware it is important to keep track of when the hardware support
16739 contract expire for each server. We have a machine (and service)
16740 register, which until recently did not contain much useful besides the
16741 machine room location and contact information for the system owner for
16742 each machine. To make it easier for us to track support contract
16743 status, I've recently spent time on extending the machine register to
16744 include information about when the support contract expire, and to tag
16745 machines with expired contracts to make it easy to get a list of such
16746 machines. I extended a perl script already being used to import
16747 information about machines into the register, to also do some screen
16748 scraping off the sites of Dell, HP and IBM (our majority of machines
16749 are from these vendors), and automatically check the support status
16750 for the relevant machines. This make the support status information
16751 easily available and I hope it will make it easier for the computer
16752 owner to know when to get new hardware or renew the support contract.
16753 The result of this work documented that 27% of the machines in the
16754 registry is without a support contract, and made it very easy to find
16755 them. 27% might seem like a lot, but I see it more as the case of us
16756 using machines a bit longer than the 3 years a normal support contract
16757 last, to have test machines and a platform for less important
16758 services. After all, the machines without a contract are working fine
16759 at the moment and the lack of contract is only a problem if any of
16760 them break down. When that happen, we can either fix it using spare
16761 parts from other machines or move the service to another old
16762 machine.</p>
16763
16764 <p>I believe the code for screen scraping the Dell site was originally
16765 written by Trond Hasle Amundsen, and later adjusted by me and Morten
16766 Werner Forsbring. The HP scraping was written by me after reading a
16767 nice article in ;login: about how to use WWW::Mechanize, and the IBM
16768 scraping was written by me based on the Dell code. I know the HTML
16769 parsing could be done using nice libraries, but did not want to
16770 introduce more dependencies. This is the current incarnation:</p>
16771
16772 <pre>
16773 use LWP::Simple;
16774 use POSIX;
16775 use WWW::Mechanize;
16776 use Date::Parse;
16777 [...]
16778 sub get_support_info {
16779 my ($machine, $model, $serial, $productnumber) = @_;
16780 my $str;
16781
16782 if ( $model =~ m/^Dell / ) {
16783 # fetch website from Dell support
16784 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";
16785 my $webpage = get($url);
16786 return undef unless ($webpage);
16787
16788 my $daysleft = -1;
16789 my @lines = split(/\n/, $webpage);
16790 foreach my $line (@lines) {
16791 next unless ($line =~ m/Beskrivelse/);
16792 $line =~ s/&lt;[^>]+?>/;/gm;
16793 $line =~ s/^.+?;(Beskrivelse;)/$1/;
16794
16795 my @f = split(/\;/, $line);
16796 @f = @f[13 .. $#f];
16797 my $lastend = "";
16798 while ($f[3] eq "DELL") {
16799 my ($type, $startstr, $endstr, $days) = @f[0, 5, 7, 10];
16800
16801 my $start = POSIX::strftime("%Y-%m-%d",
16802 localtime(str2time($startstr)));
16803 my $end = POSIX::strftime("%Y-%m-%d",
16804 localtime(str2time($endstr)));
16805 $str .= "$type $start -> $end ";
16806 @f = @f[14 .. $#f];
16807 $lastend = $end if ($end gt $lastend);
16808 }
16809 my $today = POSIX::strftime("%Y-%m-%d", localtime(time));
16810 tag_machine_unsupported($machine)
16811 if ($lastend lt $today);
16812 }
16813 } elsif ( $model =~ m/^HP / ) {
16814 my $mech = WWW::Mechanize->new();
16815 my $url =
16816 'http://www1.itrc.hp.com/service/ewarranty/warrantyInput.do';
16817 $mech->get($url);
16818 my $fields = {
16819 'BODServiceID' => 'NA',
16820 'RegisteredPurchaseDate' => '',
16821 'country' => 'NO',
16822 'productNumber' => $productnumber,
16823 'serialNumber1' => $serial,
16824 };
16825 $mech->submit_form( form_number => 2,
16826 fields => $fields );
16827 # Next step is screen scraping
16828 my $content = $mech->content();
16829
16830 $content =~ s/&lt;[^>]+?>/;/gm;
16831 $content =~ s/\s+/ /gm;
16832 $content =~ s/;\s*;/;;/gm;
16833 $content =~ s/;[\s;]+/;/gm;
16834
16835 my $today = POSIX::strftime("%Y-%m-%d", localtime(time));
16836
16837 while ($content =~ m/;Warranty Type;/) {
16838 my ($type, $status, $startstr, $stopstr) = $content =~
16839 m/;Warranty Type;([^;]+);.+?;Status;(\w+);Start Date;([^;]+);End Date;([^;]+);/;
16840 $content =~ s/^.+?;Warranty Type;//;
16841 my $start = POSIX::strftime("%Y-%m-%d",
16842 localtime(str2time($startstr)));
16843 my $end = POSIX::strftime("%Y-%m-%d",
16844 localtime(str2time($stopstr)));
16845
16846 $str .= "$type ($status) $start -> $end ";
16847
16848 tag_machine_unsupported($machine)
16849 if ($end lt $today);
16850 }
16851 } elsif ( $model =~ m/^IBM / ) {
16852 # This code ignore extended support contracts.
16853 my ($producttype) = $model =~ m/.*-\[(.{4}).+\]-/;
16854 if ($producttype &amp;&amp; $serial) {
16855 my $content =
16856 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");
16857 if ($content) {
16858 $content =~ s/&lt;[^>]+?>/;/gm;
16859 $content =~ s/\s+/ /gm;
16860 $content =~ s/;\s*;/;;/gm;
16861 $content =~ s/;[\s;]+/;/gm;
16862
16863 $content =~ s/^.+?;Warranty status;//;
16864 my ($status, $end) = $content =~ m/;Warranty status;([^;]+)\s*;Expiration date;(\S+) ;/;
16865
16866 $str .= "($status) -> $end ";
16867
16868 my $today = POSIX::strftime("%Y-%m-%d", localtime(time));
16869 tag_machine_unsupported($machine)
16870 if ($end lt $today);
16871 }
16872 }
16873 }
16874 return $str;
16875 }
16876 </pre>
16877
16878 <p>Here are some examples on how to use the function, using fake
16879 serial numbers. The information passed in as arguments are fetched
16880 from dmidecode.</p>
16881
16882 <pre>
16883 print get_support_info("hp.host", "HP ProLiant BL460c G1", "1234567890"
16884 "447707-B21");
16885 print get_support_info("dell.host", "Dell Inc. PowerEdge 2950", "1234567");
16886 print get_support_info("ibm.host", "IBM eserver xSeries 345 -[867061X]-",
16887 "1234567");
16888 </pre>
16889
16890 <p>I would recommend this approach for tracking support contracts for
16891 everyone with more than a few computers to administer. :)</p>
16892
16893 <p>Update 2009-03-06: The IBM page do not include extended support
16894 contracts, so it is useless in that case. The original Dell code do
16895 not handle extended support contracts either, but has been updated to
16896 do so.</p>
16897
16898 </div>
16899 <div class="tags">
16900
16901
16902 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>.
16903
16904
16905 </div>
16906 </div>
16907 <div class="padding"></div>
16908
16909 <div class="entry">
16910 <div class="title">
16911 <a href="http://people.skolelinux.org/pere/blog/Using_bar_codes_at_a_computing_center.html">Using bar codes at a computing center</a>
16912 </div>
16913 <div class="date">
16914 20th February 2009
16915 </div>
16916 <div class="body">
16917 <p>At work with the University of Oslo, we have several hundred computers
16918 in our computing center. This give us a challenge in tracking the
16919 location and cabling of the computers, when they are added, moved and
16920 removed. Some times the location register is not updated when a
16921 computer is inserted or moved and we then have to search the room for
16922 the "missing" computer.</p>
16923
16924 <p>In the last issue of Linux Journal, I came across a project
16925 <a href="http://www.libdmtx.org/">libdmtx</a> to write and read bar
16926 code blocks as defined in the
16927 <a href="http://en.wikipedia.org/wiki/Data_Matrix">The Data Matrix
16928 Standard</a>. This is bar codes that can be read with a normal
16929 digital camera, for example that on a cell phone, and several such bar
16930 codes can be read by libdmtx from one picture. The bar code standard
16931 allow up to 2 KiB to be written in the tag. There is another project
16932 with <a href="http://www.terryburton.co.uk/barcodewriter/">a bar code
16933 writer written in postscript</a> capable of creating such bar codes,
16934 but this was the first time I found a tool to read these bar
16935 codes.</p>
16936
16937 <p>It occurred to me that this could be used to tag and track the
16938 machines in our computing center. If both racks and computers are
16939 tagged this way, we can use a picture of the rack and all its
16940 computers to detect the rack location of any computer in that rack.
16941 If we do this regularly for the entire room, we will find all
16942 locations, and can detect movements and removals.</p>
16943
16944 <p>I decided to test if this would work in practice, and picked a
16945 random rack and tagged all the machines with their names. Next, I
16946 took pictures with my digital camera, and gave the dmtxread program
16947 these JPEG pictures to see how many tags it could read. This worked
16948 fairly well. If the pictures was well focused and not taken from the
16949 side, all tags in the image could be read. Because of limited space
16950 between the racks, I was unable to get a good picture of the entire
16951 rack, but could without problem read all tags from a picture covering
16952 about half the rack. I had to limit the search time used by dmtxread
16953 to 60000 ms to make sure it terminated in a reasonable time frame.</p>
16954
16955 <p>My conclusion is that this could work, and we should probably look
16956 at adjusting our computer tagging procedures to use bar codes for
16957 easier automatic tracking of computers.</p>
16958
16959 </div>
16960 <div class="tags">
16961
16962
16963 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>.
16964
16965
16966 </div>
16967 </div>
16968 <div class="padding"></div>
16969
16970 <div class="entry">
16971 <div class="title">
16972 <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>
16973 </div>
16974 <div class="date">
16975 17th January 2009
16976 </div>
16977 <div class="body">
16978 <p>As part of the work we do in <a href="http://www.nuug.no">NUUG</a>
16979 to publish video recordings of our monthly presentations, we provide a
16980 page with embedded video for easy access to the recording. Putting a
16981 good set of HTML tags together to get working embedded video in all
16982 browsers and across all operating systems is not easy. I hope this
16983 will become easier when the &lt;video&gt; tag is implemented in all
16984 browsers, but I am not sure. We provide the recordings in several
16985 formats, MPEG1, Ogg Theora, H.264 and Quicktime, and want the
16986 browser/media plugin to pick one it support and use it to play the
16987 recording, using whatever embed mechanism the browser understand.
16988 There is at least four different tags to use for this, the new HTML5
16989 &lt;video&gt; tag, the &lt;object&gt; tag, the &lt;embed&gt; tag and
16990 the &lt;applet&gt; tag. All of these take a lot of options, and
16991 finding the best options is a major challenge.</p>
16992
16993 <p>I just tested the experimental Opera browser available from <a
16994 href="http://labs.opera.com">labs.opera.com</a>, to see how it handled
16995 a &lt;video&gt; tag with a few video sources and no extra attributes.
16996 I was not very impressed. The browser start by fetching a picture
16997 from the video stream. Not sure if it is the first frame, but it is
16998 definitely very early in the recording. So far, so good. Next,
16999 instead of streaming the 76 MiB video file, it start to download all
17000 of it, but do not start to play the video. This mean I have to wait
17001 for several minutes for the downloading to finish. When the download
17002 is done, the playing of the video do not start! Waiting for the
17003 download, but I do not get to see the video? Some testing later, I
17004 discover that I have to add the controls="true" attribute to be able
17005 to get a play button to pres to start the video. Adding
17006 autoplay="true" did not help. I sure hope this is a misfeature of the
17007 test version of Opera, and that future implementations of the
17008 &lt;video&gt; tag will stream recordings by default, or at least start
17009 playing when the download is done.</p>
17010
17011 <p>The test page I used (since changed to add more attributes) is
17012 <a href="http://www.nuug.no/aktiviteter/20090113-foredrag-om-foredrag/">available
17013 from the nuug site</a>. Will have to test it with the new Firefox
17014 too.</p>
17015
17016 <p>In the test process, I discovered a missing feature. I was unable
17017 to find a way to get the URL of the playing video out of Opera, so I
17018 am not quite sure it picked the Ogg Theora version of the video. I
17019 sure hope it was using the announced Ogg Theora support. :)</p>
17020
17021 </div>
17022 <div class="tags">
17023
17024
17025 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>.
17026
17027
17028 </div>
17029 </div>
17030 <div class="padding"></div>
17031
17032 <div class="entry">
17033 <div class="title">
17034 <a href="http://people.skolelinux.org/pere/blog/Software_video_mixer_on_a_USB_stick.html">Software video mixer on a USB stick</a>
17035 </div>
17036 <div class="date">
17037 28th December 2008
17038 </div>
17039 <div class="body">
17040 <p>The <a href="http://www.nuug.no/">Norwegian Unix User Group</a> is
17041 recording our montly presentation on video, and recently we have
17042 worked on improving the quality of the recordings by mixing the slides
17043 directly with the video stream. For this, we use the
17044 <a href="http://dvswitch.alioth.debian.org/">dvswitch</a> package from
17045 the Debian video team. As this require quite one computer per video
17046 source, and NUUG do not have enough laptops available, we need to
17047 borrow laptops. And to avoid having to install extra software on
17048 these borrwed laptops, I have wrapped up all the programs needed on a
17049 bootable USB stick. The software required is dvswitch with assosiated
17050 source, sink and mixer applications and
17051 <a href="http://www.kinodv.org/">dvgrab</a>. To allow this setup to
17052 work without any configuration, I've patched dvswitch to use
17053 <a href="http://www.avahi.org/">avahi</a> to connect the various parts
17054 together. And to allow us to use laptops without firewire plugs, I
17055 upgraded dvgrab to the one from Debian/unstable to get one that work
17056 with USB sources. We have not yet tested this setup in a production
17057 setup, but I hope it will work properly, and allow us to set up a
17058 video mixer in a very short time frame. We will need it for
17059 <a href="http://www.goopen.no/">Go Open 2009</a>.</p>
17060
17061 <p><a href="http://www.nuug.no/pub/video/bin/usbstick-dvswitch.img.gz">The
17062 USB image</a> is for a 1 GB memory stick, but can be used on any
17063 larger stick as well.</p>
17064
17065 </div>
17066 <div class="tags">
17067
17068
17069 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>.
17070
17071
17072 </div>
17073 </div>
17074 <div class="padding"></div>
17075
17076 <div class="entry">
17077 <div class="title">
17078 <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>
17079 </div>
17080 <div class="date">
17081 7th December 2008
17082 </div>
17083 <div class="body">
17084 <p>This weekend we had a small developer gathering for Debian Edu in
17085 Oslo. Most of Saturday was used for the general assemly for the
17086 member organization, but the rest of the weekend I used to tune the
17087 LTSP installation. LTSP now work out of the box on the 10-network.
17088 Acer Aspire One proved to be a very nice thin client, with both
17089 screen, mouse and keybard in a small box. Was working on getting the
17090 diskless workstation setup configured out of the box, but did not
17091 finish it before the weekend was up.</p>
17092
17093 <p>Did not find time to look at the 4 VGA cards in one box we got from
17094 the Brazilian group, so that will have to wait for the next
17095 development gathering. Would love to have the Debian Edu installer
17096 automatically detect and configure a multiseat setup when it find one
17097 of these cards.</p>
17098
17099 </div>
17100 <div class="tags">
17101
17102
17103 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>.
17104
17105
17106 </div>
17107 </div>
17108 <div class="padding"></div>
17109
17110 <div class="entry">
17111 <div class="title">
17112 <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>
17113 </div>
17114 <div class="date">
17115 25th November 2008
17116 </div>
17117 <div class="body">
17118 <p>Recently I have spent some time evaluating the multimedia browser
17119 plugins available in Debian Lenny, to see which one we should use by
17120 default in Debian Edu. We need an embedded video playing plugin with
17121 control buttons to pause or stop the video, and capable of streaming
17122 all the multimedia content available on the web. The test results and
17123 notes are available on
17124 <a href="http://wiki.debian.org/DebianEdu/BrowserMultimedia">the
17125 Debian wiki</a>. I was surprised how few of the plugins are able to
17126 fill this need. My personal video player favorite, VLC, has a really
17127 bad plugin which fail on a lot of the test pages. A lot of the MIME
17128 types I would expect to work with any free software player (like
17129 video/ogg), just do not work. And simple formats like the
17130 audio/x-mplegurl format (m3u playlists), just isn't supported by the
17131 totem and vlc plugins. I hope the situation will improve soon. No
17132 wonder sites use the proprietary Adobe flash to play video.</p>
17133
17134 <p>For Lenny, we seem to end up with the mplayer plugin. It seem to
17135 be the only one fitting our needs. :/</p>
17136
17137 </div>
17138 <div class="tags">
17139
17140
17141 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>.
17142
17143
17144 </div>
17145 </div>
17146 <div class="padding"></div>
17147
17148 <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>
17149 <div id="sidebar">
17150
17151
17152
17153 <h2>Archive</h2>
17154 <ul>
17155
17156 <li>2013
17157 <ul>
17158
17159 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/01/">January (11)</a></li>
17160
17161 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/02/">February (9)</a></li>
17162
17163 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/03/">March (9)</a></li>
17164
17165 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/04/">April (6)</a></li>
17166
17167 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/05/">May (9)</a></li>
17168
17169 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/06/">June (10)</a></li>
17170
17171 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/07/">July (7)</a></li>
17172
17173 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/08/">August (3)</a></li>
17174
17175 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/09/">September (5)</a></li>
17176
17177 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/10/">October (1)</a></li>
17178
17179 </ul></li>
17180
17181 <li>2012
17182 <ul>
17183
17184 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
17185
17186 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
17187
17188 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
17189
17190 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
17191
17192 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
17193
17194 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
17195
17196 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
17197
17198 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
17199
17200 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
17201
17202 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
17203
17204 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
17205
17206 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/12/">December (7)</a></li>
17207
17208 </ul></li>
17209
17210 <li>2011
17211 <ul>
17212
17213 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
17214
17215 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
17216
17217 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
17218
17219 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
17220
17221 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
17222
17223 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
17224
17225 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
17226
17227 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
17228
17229 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
17230
17231 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
17232
17233 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
17234
17235 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
17236
17237 </ul></li>
17238
17239 <li>2010
17240 <ul>
17241
17242 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
17243
17244 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
17245
17246 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
17247
17248 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
17249
17250 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
17251
17252 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
17253
17254 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
17255
17256 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
17257
17258 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
17259
17260 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
17261
17262 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
17263
17264 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
17265
17266 </ul></li>
17267
17268 <li>2009
17269 <ul>
17270
17271 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
17272
17273 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
17274
17275 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
17276
17277 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
17278
17279 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
17280
17281 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
17282
17283 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
17284
17285 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
17286
17287 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
17288
17289 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
17290
17291 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
17292
17293 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
17294
17295 </ul></li>
17296
17297 <li>2008
17298 <ul>
17299
17300 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
17301
17302 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
17303
17304 </ul></li>
17305
17306 </ul>
17307
17308
17309
17310 <h2>Tags</h2>
17311 <ul>
17312
17313 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (13)</a></li>
17314
17315 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
17316
17317 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
17318
17319 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
17320
17321 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (7)</a></li>
17322
17323 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (12)</a></li>
17324
17325 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
17326
17327 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (86)</a></li>
17328
17329 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (142)</a></li>
17330
17331 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (10)</a></li>
17332
17333 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (10)</a></li>
17334
17335 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
17336
17337 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (218)</a></li>
17338
17339 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (21)</a></li>
17340
17341 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (12)</a></li>
17342
17343 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (12)</a></li>
17344
17345 <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (2)</a></li>
17346
17347 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (11)</a></li>
17348
17349 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (37)</a></li>
17350
17351 <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (7)</a></li>
17352
17353 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (18)</a></li>
17354
17355 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (8)</a></li>
17356
17357 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (6)</a></li>
17358
17359 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
17360
17361 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (25)</a></li>
17362
17363 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (235)</a></li>
17364
17365 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (153)</a></li>
17366
17367 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (8)</a></li>
17368
17369 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
17370
17371 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (44)</a></li>
17372
17373 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (66)</a></li>
17374
17375 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (1)</a></li>
17376
17377 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
17378
17379 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (2)</a></li>
17380
17381 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (7)</a></li>
17382
17383 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
17384
17385 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter (4)</a></li>
17386
17387 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
17388
17389 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (31)</a></li>
17390
17391 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
17392
17393 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (4)</a></li>
17394
17395 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (43)</a></li>
17396
17397 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (3)</a></li>
17398
17399 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (8)</a></li>
17400
17401 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (18)</a></li>
17402
17403 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (1)</a></li>
17404
17405 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (8)</a></li>
17406
17407 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (39)</a></li>
17408
17409 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
17410
17411 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (28)</a></li>
17412
17413 </ul>
17414
17415
17416 </div>
17417 <p style="text-align: right">
17418 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
17419 </p>
17420
17421 </body>
17422 </html>