]> pere.pagekite.me Git - homepage.git/blob - blog/tags/english/index.html
8607cff0ace7aa7c6036bf71f20bfc4fee109c28
[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/s3ql__a_locally_mounted_cloud_file_system___nice_free_software.html">s3ql, a locally mounted cloud file system - nice free software</a>
26 </div>
27 <div class="date">
28 9th April 2014
29 </div>
30 <div class="body">
31 <p>For a while now, I have been looking for a sensible offsite backup
32 solution for use at home. My requirements are simple, it must be
33 cheap and locally encrypted (in other words, I keep the encryption
34 keys, the storage provider do not have access to my private files).
35 One idea me and my friends have had many years ago, before the cloud
36 storage providers showed up, have been to use Google mail as storage,
37 writing a Linux block device storing blocks as emails in the mail
38 service provided by Google, and thus get heaps of free space. On top
39 of this one can add encryption, RAID and volume management to have
40 lots of (fairly slow, I admit that) cheap and encrypted storage. But
41 I never found time to implement such system. But the last few weeks I
42 have looked at a system called
43 <a href="https://bitbucket.org/nikratio/s3ql/">S3QL</a>, a locally
44 mounted network backed file system with the features I need.</p>
45
46 <p>S3QL is a fuse file system with a local cache and cloud storage,
47 handling several different storage providers, any with Amazon S3,
48 Google Drive or OpenStack API. There are heaps of such storage
49 providers. S3QL can also use a local directory as storage, which
50 combined with sshfs allow for file storage on any ssh server. S3QL
51 include support for encryption, compression, de-duplication, snapshots
52 and immutable file systems, allowing me to mount the remote storage as
53 a local mount point, look at and use the files as if they were local,
54 while the content is stored in the cloud as well. This allow me to
55 have a backup that should survive fire. The file system can not be
56 shared between several machines at the same time, as only one can
57 mount it at the time, but any machine with the encryption key and
58 access to the storage service can mount it if it is unmounted.</p>
59
60 <p>It is simple to use. I'm using it on Debian Wheezy, where the
61 package is included already. So to get started, run <tt>apt-get
62 install s3ql</tt>. Next, pick a storage provider. I ended up picking
63 Greenqloud, after reading their nice recipe on
64 <a href="https://greenqloud.zendesk.com/entries/44611757-How-To-Use-S3QL-to-mount-a-StorageQloud-bucket-on-Debian-Wheezy">how
65 to use s3ql with their Amazon S3 service</a>, because I trust the laws
66 in Iceland more than those in USA when it come to keeping my personal
67 data safe and private, and thus would rather spend money on a company
68 in Iceland. Another nice recipe is available from the article
69 <a href="http://www.admin-magazine.com/HPC/Articles/HPC-Cloud-Storage">S3QL
70 Filesystem for HPC Storage</a> by Jeff Layton in the HPC section of
71 Admin magazine. When the provider is picked, figure out how to get
72 the API key needed to connect to the storage API. With Greencloud,
73 the key did not show up until I had added payment details to my
74 account.</p>
75
76 <p>Armed with the API access details, it is time to create the file
77 system. First, create a new bucket in the cloud. This bucket is the
78 file system storage area. I picked a bucket name reflecting the
79 machine that was going to store data there, but any name will do.
80 I'll refer to it as <tt>bucket-name</tt> below. In addition, one need
81 the API login and password, and a locally created password. Store it
82 all in ~root/.s3ql/authinfo2 like this:
83
84 <p><blockquote><pre>
85 [s3c]
86 storage-url: s3c://s.greenqloud.com:443/bucket-name
87 backend-login: API-login
88 backend-password: API-password
89 fs-passphrase: local-password
90 </pre></blockquote></p>
91
92 <p>I create my local passphrase using <tt>pwget 50</tt> or similar,
93 but any sensible way to create a fairly random password should do it.
94 Armed with these details, it is now time to run mkfs, entering the API
95 details and password to create it:</p>
96
97 <p><blockquote><pre>
98 # mkdir -m 700 /var/lib/s3ql-cache
99 # mkfs.s3ql --cachedir /var/lib/s3ql-cache --authfile /root/.s3ql/authinfo2 \
100 --ssl s3c://s.greenqloud.com:443/bucket-name
101 Enter backend login:
102 Enter backend password:
103 Before using S3QL, make sure to read the user's guide, especially
104 the 'Important Rules to Avoid Loosing Data' section.
105 Enter encryption password:
106 Confirm encryption password:
107 Generating random encryption key...
108 Creating metadata tables...
109 Dumping metadata...
110 ..objects..
111 ..blocks..
112 ..inodes..
113 ..inode_blocks..
114 ..symlink_targets..
115 ..names..
116 ..contents..
117 ..ext_attributes..
118 Compressing and uploading metadata...
119 Wrote 0.00 MB of compressed metadata.
120 # </pre></blockquote></p>
121
122 <p>The next step is mounting the file system to make the storage available.
123
124 <p><blockquote><pre>
125 # mount.s3ql --cachedir /var/lib/s3ql-cache --authfile /root/.s3ql/authinfo2 \
126 --ssl --allow-root s3c://s.greenqloud.com:443/bucket-name /s3ql
127 Using 4 upload threads.
128 Downloading and decompressing metadata...
129 Reading metadata...
130 ..objects..
131 ..blocks..
132 ..inodes..
133 ..inode_blocks..
134 ..symlink_targets..
135 ..names..
136 ..contents..
137 ..ext_attributes..
138 Mounting filesystem...
139 # df -h /mnt
140 Filesystem Size Used Avail Use% Mounted on
141 s3c://s.greenqloud.com:443/bucket-name 1.0T 0 1.0T 0% /s3ql
142 #
143 </pre></blockquote></p>
144
145 <p>The file system is now ready for use. I use rsync to store my
146 backups in it, and as the metadata used by rsync is downloaded at
147 mount time, no network traffic (and storage cost) is triggered by
148 running rsync. To unmount, one should not use the normal umount
149 command, as this will not flush the cache to the cloud storage, but
150 instead running the umount.s3ql command like this:
151
152 <p><blockquote><pre>
153 # umount.s3ql /s3ql
154 #
155 </pre></blockquote></p>
156
157 <p>There is a fsck command available to check the file system and
158 correct any problems detected. This can be used if the local server
159 crashes while the file system is mounted, to reset the "already
160 mounted" flag. This is what it look like when processing a working
161 file system:</p>
162
163 <p><blockquote><pre>
164 # fsck.s3ql --force --ssl s3c://s.greenqloud.com:443/bucket-name
165 Using cached metadata.
166 File system seems clean, checking anyway.
167 Checking DB integrity...
168 Creating temporary extra indices...
169 Checking lost+found...
170 Checking cached objects...
171 Checking names (refcounts)...
172 Checking contents (names)...
173 Checking contents (inodes)...
174 Checking contents (parent inodes)...
175 Checking objects (reference counts)...
176 Checking objects (backend)...
177 ..processed 5000 objects so far..
178 ..processed 10000 objects so far..
179 ..processed 15000 objects so far..
180 Checking objects (sizes)...
181 Checking blocks (referenced objects)...
182 Checking blocks (refcounts)...
183 Checking inode-block mapping (blocks)...
184 Checking inode-block mapping (inodes)...
185 Checking inodes (refcounts)...
186 Checking inodes (sizes)...
187 Checking extended attributes (names)...
188 Checking extended attributes (inodes)...
189 Checking symlinks (inodes)...
190 Checking directory reachability...
191 Checking unix conventions...
192 Checking referential integrity...
193 Dropping temporary indices...
194 Backing up old metadata...
195 Dumping metadata...
196 ..objects..
197 ..blocks..
198 ..inodes..
199 ..inode_blocks..
200 ..symlink_targets..
201 ..names..
202 ..contents..
203 ..ext_attributes..
204 Compressing and uploading metadata...
205 Wrote 0.89 MB of compressed metadata.
206 #
207 </pre></blockquote></p>
208
209 <p>Thanks to the cache, working on files that fit in the cache is very
210 quick, about the same speed as local file access. Uploading large
211 amount of data is to me limited by the bandwidth out of and into my
212 house. Uploading 685 MiB with a 100 MiB cache gave me 305 kiB/s,
213 which is very close to my upload speed, and downloading the same
214 Debian installation ISO gave me 610 kiB/s, close to my download speed.
215 Both were measured using <tt>dd</tt>. So for me, the bottleneck is my
216 network, not the file system code. I do not know what a good cache
217 size would be, but suspect that the cache should e larger than your
218 working set.</p>
219
220 <p>I mentioned that only one machine can mount the file system at the
221 time. If another machine try, it is told that the file system is
222 busy:</p>
223
224 <p><blockquote><pre>
225 # mount.s3ql --cachedir /var/lib/s3ql-cache --authfile /root/.s3ql/authinfo2 \
226 --ssl --allow-root s3c://s.greenqloud.com:443/bucket-name /s3ql
227 Using 8 upload threads.
228 Backend reports that fs is still mounted elsewhere, aborting.
229 #
230 </pre></blockquote></p>
231
232 <p>The file content is uploaded when the cache is full, while the
233 metadata is uploaded once every 24 hour by default. To ensure the
234 file system content is flushed to the cloud, one can either umount the
235 file system, or ask s3ql to flush the cache and metadata using
236 s3qlctrl:
237
238 <p><blockquote><pre>
239 # s3qlctrl upload-meta /s3ql
240 # s3qlctrl flushcache /s3ql
241 #
242 </pre></blockquote></p>
243
244 <p>If you are curious about how much space your data uses in the
245 cloud, and how much compression and deduplication cut down on the
246 storage usage, you can use s3qlstat on the mounted file system to get
247 a report:</p>
248
249 <p><blockquote><pre>
250 # s3qlstat /s3ql
251 Directory entries: 9141
252 Inodes: 9143
253 Data blocks: 8851
254 Total data size: 22049.38 MB
255 After de-duplication: 21955.46 MB (99.57% of total)
256 After compression: 21877.28 MB (99.22% of total, 99.64% of de-duplicated)
257 Database size: 2.39 MB (uncompressed)
258 (some values do not take into account not-yet-uploaded dirty blocks in cache)
259 #
260 </pre></blockquote></p>
261
262 <p>I mentioned earlier that there are several possible suppliers of
263 storage. I did not try to locate them all, but am aware of at least
264 <a href="https://www.greenqloud.com/">Greenqloud</a>,
265 <a href="http://drive.google.com/">Google Drive</a>,
266 <a href="http://aws.amazon.com/s3/">Amazon S3 web serivces</a>,
267 <a href="http://www.rackspace.com/">Rackspace</a> and
268 <a href="http://crowncloud.net/">Crowncloud</A>. The latter even
269 accept payment in Bitcoin. Pick one that suit your need. Some of
270 them provide several GiB of free storage, but the prize models are
271 quire different and you will have to figure out what suit you
272 best.</p>
273
274 <p>While researching this blog post, I had a look at research papers
275 and posters discussing the S3QL file system. There are several, which
276 told me that the file system is getting a critical check by the
277 science community and increased my confidence in using it. One nice
278 poster is titled
279 "<a href="http://www.lanl.gov/orgs/adtsc/publications/science_highlights_2013/docs/pg68_69.pdf">An
280 Innovative Parallel Cloud Storage System using OpenStack’s SwiftObject
281 Store and Transformative Parallel I/O Approach</a>" by Hsing-Bung
282 Chen, Benjamin McClelland, David Sherrill, Alfred Torrez, Parks Fields
283 and Pamela Smith. Please have a look.</p>
284
285 <p>Given my problems with different file systems earlier, I decided to
286 check out the mounted S3QL file system to see if it would be usable as
287 a home directory (in other word, that it provided POSIX semantics when
288 it come to locking and umask handling etc). Running
289 <a href="http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html">my
290 test code to check file system semantics, I was happy to discover that
291 no error was found. So the file system can be used for home
292 directories, if one chooses to do so.</p>
293
294 <p>If you do not want a locally file system, and want something that
295 work without the Linux fuse file system, I would like to mention the
296 <a href="http://www.tarsnap.com/">Tarsnap service</a>, which also
297 provide locally encrypted backup using a command line client. It have
298 a nicer access control system, where one can split out read and write
299 access, allowing some systems to write to the backup and others to
300 only read from it.</p>
301
302 <p>As usual, if you use Bitcoin and want to show your support of my
303 activities, please send Bitcoin donations to my address
304 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
305
306 </div>
307 <div class="tags">
308
309
310 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet</a>.
311
312
313 </div>
314 </div>
315 <div class="padding"></div>
316
317 <div class="entry">
318 <div class="title">
319 <a href="http://people.skolelinux.org/pere/blog/ReactOS_Windows_clone___nice_free_software.html">ReactOS Windows clone - nice free software</a>
320 </div>
321 <div class="date">
322 1st April 2014
323 </div>
324 <div class="body">
325 <p>Microsoft have announced that Windows XP reaches its end of life
326 2014-04-08, in 7 days. But there are heaps of machines still running
327 Windows XP, and depending on Windows XP to run their applications, and
328 upgrading will be expensive, both when it comes to money and when it
329 comes to the amount of effort needed to migrate from Windows XP to a
330 new operating system. Some obvious options (buy new a Windows
331 machine, buy a MacOSX machine, install Linux on the existing machine)
332 are already well known and covered elsewhere. Most of them involve
333 leaving the user applications installed on Windows XP behind and
334 trying out replacements or updated versions. In this blog post I want
335 to mention one strange bird that allow people to keep the hardware and
336 the existing Windows XP applications and run them on a free software
337 operating system that is Windows XP compatible.</p>
338
339 <p><a href="http://www.reactos.org/">ReactOS</a> is a free software
340 operating system (GNU GPL licensed) working on providing a operating
341 system that is binary compatible with Windows, able to run windows
342 programs directly and to use Windows drivers for hardware directly.
343 The project goal is for Windows user to keep their existing machines,
344 drivers and software, and gain the advantages from user a operating
345 system without usage limitations caused by non-free licensing. It is
346 a Windows clone running directly on the hardware, so quite different
347 from the approach taken by <a href="http://www.winehq.org/">the Wine
348 project</a>, which make it possible to run Windows binaries on
349 Linux.</p>
350
351 <p>The ReactOS project share code with the Wine project, so most
352 shared libraries available on Windows are already implemented already.
353 There is also a software manager like the one we are used to on Linux,
354 allowing the user to install free software applications with a simple
355 click directly from the Internet. Check out the
356 <a href="http://www.reactos.org/screenshots">screen shots on the
357 project web site</a> for an idea what it look like (it looks just like
358 Windows before metro).</p>
359
360 <p>I do not use ReactOS myself, preferring Linux and Unix like
361 operating systems. I've tested it, and it work fine in a virt-manager
362 virtual machine. The browser, minesweeper, notepad etc is working
363 fine as far as I can tell. Unfortunately, my main test application
364 is the software included on a CD with the Lego Mindstorms NXT, which
365 seem to install just fine from CD but fail to leave any binaries on
366 the disk after the installation. So no luck with that test software.
367 No idea why, but hope someone else figure out and fix the problem.
368 I've tried the ReactOS Live ISO on a physical machine, and it seemed
369 to work just fine. If you like Windows and want to keep running your
370 old Windows binaries, check it out by
371 <a href="http://www.reactos.org/download">downloading</a> the
372 installation CD, the live CD or the preinstalled virtual machine
373 image.</p>
374
375 </div>
376 <div class="tags">
377
378
379 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/reactos">reactos</a>.
380
381
382 </div>
383 </div>
384 <div class="padding"></div>
385
386 <div class="entry">
387 <div class="title">
388 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Roger_Marsal.html">Debian Edu interview: Roger Marsal</a>
389 </div>
390 <div class="date">
391 30th March 2014
392 </div>
393 <div class="body">
394 <p><a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a>
395 keep gaining new users. Some weeks ago, a person showed up on IRC,
396 <a href="irc://irc.debian.org/#debian-edu">#debian-edu</a>, with a
397 wish to contribute, and I managed to get a interview with this great
398 contributor Roger Marsal to learn more about his background.</p>
399
400 <p><strong>Who are you, and how do you spend your days?</strong></p>
401
402 <p>My name is Roger Marsal, I'm 27 years old (1986 generation) and I
403 live in Barcelona, Spain. I've got a strong business background and I
404 work as a patrimony manager and as a real estate agent. Additionally,
405 I've co-founded a British based tech company that is nowadays on the
406 last development phase of a new social networking concept.</p>
407
408 <p>I'm a Linux enthusiast that started its journey with Ubuntu four years
409 ago and have recently switched to Debian seeking rock solid stability
410 and as a necessary step to gain expertise.</p>
411
412 <p>In a nutshell, I spend my days working and learning as much as I
413 can to face both my job, entrepreneur project and feed my Linux
414 hunger.</p>
415
416 <p><strong>How did you get in contact with the Skolelinux / Debian Edu
417 project?</strong></p>
418
419 <p>I discovered the <a href="http://www.ltsp.org/">LTSP</a> advantages
420 with "Ubuntu 12.04 alternate install" and after a year of use I
421 started looking for an alternative. Even though I highly value and
422 respect the Ubuntu project, I thought it was necessary for me to
423 change to a more robust and stable alternative. As far as I was using
424 Debian on my personal laptop I thought it would be fine to install
425 Debian and configure an LTSP server myself. Surprised, I discovered
426 that the Debian project also supported a kind of Edubuntu equivalent,
427 and after having some pain I obtained a Debian Edu network up and
428 running. I just loved it.</p>
429
430 <p><strong>What do you see as the advantages of Skolelinux / Debian
431 Edu?</strong></p>
432
433 <p>I found a main advantage in that, once you know "the tips and
434 tricks", a new installation just works out of the box. It's the most
435 complete alternative I've found to create an LTSP network. All the
436 other distributions seems to be made of plastic, Debian Edu seems to
437 be made of steel.</p>
438
439 <p><strong>What do you see as the disadvantages of Skolelinux / Debian
440 Edu?</strong></p>
441
442 <p>I found two main disadvantages.</p>
443
444 <p>I'm not an expert but I've got notions and I had to spent a considerable
445 amount of time trying to bring up a standard network topology. I'm quite
446 stubborn and I just worked until I did but I'm sure many people with few
447 resources (not big schools, but academies for example) would have switched
448 or dropped.</p>
449
450 <p>It's amazing how such a complex system like Debian Edu has achieved
451 this out-of-the-box state. Even though tweaking without breaking gets
452 more difficult, as more factors have to be considered. This can
453 discourage many people too.</p>
454
455 <p><strong>Which free software do you use daily?</strong></p>
456
457 <p>I use Debian, Firefox, Okular, Inkscape, LibreOffice and
458 Virtualbox.</p>
459
460
461 <p><strong>Which strategy do you believe is the right one to use to
462 get schools to use free software?</strong></p>
463
464 <p>I don't think there is a need for a particular strategy. The free
465 attribute in both "freedom" and "no price" meanings is what will
466 really bring free software to schools. In my experience I can think of
467 the <a href="http://www.r-project.org/">"R" statistical language</a>; a
468 few years a ago was an extremely nerd tool for university people.
469 Today it's being increasingly used to teach statistics at many
470 different level of studies. I believe free and open software will
471 increasingly gain popularity, but I'm sure schools will be one of the
472 first scenarios where this will happen.</p>
473
474 </div>
475 <div class="tags">
476
477
478 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>.
479
480
481 </div>
482 </div>
483 <div class="padding"></div>
484
485 <div class="entry">
486 <div class="title">
487 <a href="http://people.skolelinux.org/pere/blog/Public_Trusted_Timestamping_services_for_everyone.html">Public Trusted Timestamping services for everyone</a>
488 </div>
489 <div class="date">
490 25th March 2014
491 </div>
492 <div class="body">
493 <p>Did you ever need to store logs or other files in a way that would
494 allow it to be used as evidence in court, and needed a way to
495 demonstrate without reasonable doubt that the file had not been
496 changed since it was created? Or, did you ever need to document that
497 a given document was received at some point in time, like some
498 archived document or the answer to an exam, and not changed after it
499 was received? The problem in these settings is to remove the need to
500 trust yourself and your computers, while still being able to prove
501 that a file is the same as it was at some given time in the past.</p>
502
503 <p>A solution to these problems is to have a trusted third party
504 "stamp" the document and verify that at some given time the document
505 looked a given way. Such
506 <a href="https://en.wikipedia.org/wiki/Notarius">notarius</a> service
507 have been around for thousands of years, and its digital equivalent is
508 called a
509 <a href="http://en.wikipedia.org/wiki/Trusted_timestamping">trusted
510 timestamping service</a>. <a href="http://www.ietf.org/">The Internet
511 Engineering Task Force</a> standardised how such service could work a
512 few years ago as <a href="http://tools.ietf.org/html/rfc3161">RFC
513 3161</a>. The mechanism is simple. Create a hash of the file in
514 question, send it to a trusted third party which add a time stamp to
515 the hash and sign the result with its private key, and send back the
516 signed hash + timestamp. Both email, FTP and HTTP can be used to
517 request such signature, depending on what is provided by the service
518 used. Anyone with the document and the signature can then verify that
519 the document matches the signature by creating their own hash and
520 checking the signature using the trusted third party public key.
521 There are several commercial services around providing such
522 timestamping. A quick search for
523 "<a href="https://duckduckgo.com/?q=rfc+3161+service">rfc 3161
524 service</a>" pointed me to at least
525 <a href="https://www.digistamp.com/technical/how-a-digital-time-stamp-works/">DigiStamp</a>,
526 <a href="http://www.quovadisglobal.co.uk/CertificateServices/SigningServices/TimeStamp.aspx">Quo
527 Vadis</a>,
528 <a href="https://www.globalsign.com/timestamp-service/">Global Sign</a>
529 and <a href="http://www.globaltrustfinder.com/TSADefault.aspx">Global
530 Trust Finder</a>. The system work as long as the private key of the
531 trusted third party is not compromised.</p>
532
533 <p>But as far as I can tell, there are very few public trusted
534 timestamp services available for everyone. I've been looking for one
535 for a while now. But yesterday I found one over at
536 <a href="https://www.pki.dfn.de/zeitstempeldienst/">Deutches
537 Forschungsnetz</a> mentioned in
538 <a href="http://www.d-mueller.de/blog/dealing-with-trusted-timestamps-in-php-rfc-3161/">a
539 blog by David Müller</a>. I then found
540 <a href="http://www.rz.uni-greifswald.de/support/dfn-pki-zertifikate/zeitstempeldienst.html">a
541 good recipe on how to use the service</a> over at the University of
542 Greifswald.</p>
543
544 <p><a href="http://www.openssl.org/">The OpenSSL library</a> contain
545 both server and tools to use and set up your own signing service. See
546 the ts(1SSL), tsget(1SSL) manual pages for more details. The
547 following shell script demonstrate how to extract a signed timestamp
548 for any file on the disk in a Debian environment:</p>
549
550 <p><blockquote><pre>
551 #!/bin/sh
552 set -e
553 url="http://zeitstempel.dfn.de"
554 caurl="https://pki.pca.dfn.de/global-services-ca/pub/cacert/chain.txt"
555 reqfile=$(mktemp -t tmp.XXXXXXXXXX.tsq)
556 resfile=$(mktemp -t tmp.XXXXXXXXXX.tsr)
557 cafile=chain.txt
558 if [ ! -f $cafile ] ; then
559 wget -O $cafile "$caurl"
560 fi
561 openssl ts -query -data "$1" -cert | tee "$reqfile" \
562 | /usr/lib/ssl/misc/tsget -h "$url" -o "$resfile"
563 openssl ts -reply -in "$resfile" -text 1>&2
564 openssl ts -verify -data "$1" -in "$resfile" -CAfile "$cafile" 1>&2
565 base64 < "$resfile"
566 rm "$reqfile" "$resfile"
567 </pre></blockquote></p>
568
569 <p>The argument to the script is the file to timestamp, and the output
570 is a base64 encoded version of the signature to STDOUT and details
571 about the signature to STDERR. Note that due to
572 <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=742553">a bug
573 in the tsget script</a>, you might need to modify the included script
574 and remove the last line. Or just write your own HTTP uploader using
575 curl. :) Now you too can prove and verify that files have not been
576 changed.</p>
577
578 <p>But the Internet need more public trusted timestamp services.
579 Perhaps something for <a href="http://www.uninett.no/">Uninett</a> or
580 my work place the <a href="http://www.uio.no/">University of Oslo</a>
581 to set up?</p>
582
583 </div>
584 <div class="tags">
585
586
587 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet</a>.
588
589
590 </div>
591 </div>
592 <div class="padding"></div>
593
594 <div class="entry">
595 <div class="title">
596 <a href="http://people.skolelinux.org/pere/blog/Video_DVD_reader_library___python_dvdvideo___nice_free_software.html">Video DVD reader library / python-dvdvideo - nice free software</a>
597 </div>
598 <div class="date">
599 21st March 2014
600 </div>
601 <div class="body">
602 <p>Keeping your DVD collection safe from scratches and curious
603 children fingers while still having it available when you want to see a
604 movie is not straight forward. My preferred method at the moment is
605 to store a full copy of the ISO on a hard drive, and use VLC, Popcorn
606 Hour or other useful players to view the resulting file. This way the
607 subtitles and bonus material are still available and using the ISO is
608 just like inserting the original DVD record in the DVD player.</p>
609
610 <p>Earlier I used dd for taking security copies, but it do not handle
611 DVDs giving read errors (which are quite a few of them). I've also
612 tried using
613 <a href="http://people.skolelinux.org/pere/blog/Ripping_problematic_DVDs_using_dvdbackup_and_genisoimage.html">dvdbackup
614 and genisoimage</a>, but these days I use the marvellous python library
615 and program
616 <a href="http://bblank.thinkmo.de/blog/new-software-python-dvdvideo">python-dvdvideo</a>
617 written by Bastian Blank. It is
618 <a href="http://packages.qa.debian.org/p/python-dvdvideo.html">in Debian
619 already</a> and the binary package name is python3-dvdvideo. Instead
620 of trying to read every block from the DVD, it parses the file
621 structure and figure out which block on the DVD is actually in used,
622 and only read those blocks from the DVD. This work surprisingly well,
623 and I have been able to almost backup my entire DVD collection using
624 this method.</p>
625
626 <p>So far, python-dvdvideo have failed on between 10 and
627 20 DVDs, which is a small fraction of my collection. The most common
628 problem is
629 <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=720831">DVDs
630 using UTF-16 instead of UTF-8 characters</a>, which according to
631 Bastian is against the DVD specification (and seem to cause some
632 players to fail too). A rarer problem is what seem to be inconsistent
633 DVD structures, as the python library
634 <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=723079">claim
635 there is a overlap between objects</a>. An equally rare problem claim
636 <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=741878">some
637 value is out of range</a>. No idea what is going on there. I wish I
638 knew enough about the DVD format to fix these, to ensure my movie
639 collection will stay with me in the future.</p>
640
641 <p>So, if you need to keep your DVDs safe, back them up using
642 python-dvdvideo. :)</p>
643
644 </div>
645 <div class="tags">
646
647
648 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>, <a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
649
650
651 </div>
652 </div>
653 <div class="padding"></div>
654
655 <div class="entry">
656 <div class="title">
657 <a href="http://people.skolelinux.org/pere/blog/Freedombox_on_Dreamplug__Raspberry_Pi_and_virtual_x86_machine.html">Freedombox on Dreamplug, Raspberry Pi and virtual x86 machine</a>
658 </div>
659 <div class="date">
660 14th March 2014
661 </div>
662 <div class="body">
663 <p>The <a href="https://wiki.debian.org/FreedomBox">Freedombox
664 project</a> is working on providing the software and hardware for
665 making it easy for non-technical people to host their data and
666 communication at home, and being able to communicate with their
667 friends and family encrypted and away from prying eyes. It has been
668 going on for a while, and is slowly progressing towards a new test
669 release (0.2).</p>
670
671 <p>And what day could be better than the Pi day to announce that the
672 new version will provide "hard drive" / SD card / USB stick images for
673 Dreamplug, Raspberry Pi and VirtualBox (or any other virtualization
674 system), and can also be installed using a Debian installer preseed
675 file. The Debian based Freedombox is now based on Debian Jessie,
676 where most of the needed packages used are already present. Only one,
677 the freedombox-setup package, is missing. To try to build your own
678 boot image to test the current status, fetch the freedom-maker scripts
679 and build using
680 <a href="http://packages.qa.debian.org/vmdebootstrap">vmdebootstrap</a>
681 with a user with sudo access to become root:
682
683 <pre>
684 git clone http://anonscm.debian.org/git/freedombox/freedom-maker.git \
685 freedom-maker
686 sudo apt-get install git vmdebootstrap mercurial python-docutils \
687 mktorrent extlinux virtualbox qemu-user-static binfmt-support \
688 u-boot-tools
689 make -C freedom-maker dreamplug-image raspberry-image virtualbox-image
690 </pre>
691
692 <p>Root access is needed to run debootstrap and mount loopback
693 devices. See the README for more details on the build. If you do not
694 want all three images, trim the make line. But note that thanks to <a
695 href="https://bugs.debian.org/741407">a race condition in
696 vmdebootstrap</a>, the build might fail without the patch to the
697 kpartx call.</p>
698
699 <p>If you instead want to install using a Debian CD and the preseed
700 method, boot a Debian Wheezy ISO and use this boot argument to load
701 the preseed values:</p>
702
703 <pre>
704 url=<a href="http://www.reinholdtsen.name/freedombox/preseed-jessie.dat">http://www.reinholdtsen.name/freedombox/preseed-jessie.dat</a>
705 </pre>
706
707 <p>But note that due to <a href="https://bugs.debian.org/740673">a
708 recently introduced bug in apt in Jessie</a>, the installer will
709 currently hang while setting up APT sources. Killing the
710 '<tt>apt-cdrom ident</tt>' process when it hang a few times during the
711 installation will get the installation going. This affect all
712 installations in Jessie, and I expect it will be fixed soon.</p>
713
714 <p>Give it a go and let us know how it goes on the mailing list, and help
715 us get the new release published. :) Please join us on
716 <a href="irc://irc.debian.org:6667/%23freedombox">IRC (#freedombox on
717 irc.debian.org)</a> and
718 <a href="http://lists.alioth.debian.org/mailman/listinfo/freedombox-discuss">the
719 mailing list</a> if you want to help make this vision come true.</p>
720
721 </div>
722 <div class="tags">
723
724
725 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>.
726
727
728 </div>
729 </div>
730 <div class="padding"></div>
731
732 <div class="entry">
733 <div class="title">
734 <a href="http://people.skolelinux.org/pere/blog/How_to_add_extra_storage_servers_in_Debian_Edu___Skolelinux.html">How to add extra storage servers in Debian Edu / Skolelinux</a>
735 </div>
736 <div class="date">
737 12th March 2014
738 </div>
739 <div class="body">
740 <p>On larger sites, it is useful to use a dedicated storage server for
741 storing user home directories and data. The design for handling this
742 in <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a>, is
743 to update the automount rules in LDAP and let the automount daemon on
744 the clients take care of the rest. I was reminded about the need to
745 document this better when one of the customers of
746 <a href="http://www.slxdrift.no/">Skolelinux Drift AS</a>, where I am
747 on the board of directors, asked about how to do this. The steps to
748 get this working are the following:</p>
749
750 <p><ol>
751
752 <li>Add new storage server in DNS. I use nas-server.intern as the
753 example host here.</li>
754
755 <li>Add automoun LDAP information about this server in LDAP, to allow
756 all clients to automatically mount it on reqeust.</li>
757
758 <li>Add the relevant entries in tjener.intern:/etc/fstab, because
759 tjener.intern do not use automount to avoid mounting loops.</li>
760
761 </ol></p>
762
763 <p>DNS entries are added in GOsa², and not described here. Follow the
764 <a href="https://wiki.debian.org/DebianEdu/Documentation/Wheezy/GettingStarted">instructions
765 in the manual</a> (Machine Management with GOsa² in section Getting
766 started).</p>
767
768 <p>Ensure that the NFS export points on the server are exported to the
769 relevant subnets or machines:</p>
770
771 <p><blockquote><pre>
772 root@tjener:~# showmount -e nas-server
773 Export list for nas-server:
774 /storage 10.0.0.0/8
775 root@tjener:~#
776 </pre></blockquote></p>
777
778 <p>Here everything on the backbone network is granted access to the
779 /storage export. With NFSv3 it is slightly better to limit it to
780 netgroup membership or single IP addresses to have some limits on the
781 NFS access.</p>
782
783 <p>The next step is to update LDAP. This can not be done using GOsa²,
784 because it lack a module for automount. Instead, use ldapvi and add
785 the required LDAP objects using an editor.</p>
786
787 <p><blockquote><pre>
788 ldapvi --ldap-conf -ZD '(cn=admin)' -b ou=automount,dc=skole,dc=skolelinux,dc=no
789 </pre></blockquote></p>
790
791 <p>When the editor show up, add the following LDAP objects at the
792 bottom of the document. The "/&" part in the last LDAP object is a
793 wild card matching everything the nas-server exports, removing the
794 need to list individual mount points in LDAP.</p>
795
796 <p><blockquote><pre>
797 add cn=nas-server,ou=auto.skole,ou=automount,dc=skole,dc=skolelinux,dc=no
798 objectClass: automount
799 cn: nas-server
800 automountInformation: -fstype=autofs --timeout=60 ldap:ou=auto.nas-server,ou=automount,dc=skole,dc=skolelinux,dc=no
801
802 add ou=auto.nas-server,ou=automount,dc=skole,dc=skolelinux,dc=no
803 objectClass: top
804 objectClass: automountMap
805 ou: auto.nas-server
806
807 add cn=/,ou=auto.nas-server,ou=automount,dc=skole,dc=skolelinux,dc=no
808 objectClass: automount
809 cn: /
810 automountInformation: -fstype=nfs,tcp,rsize=32768,wsize=32768,rw,intr,hard,nodev,nosuid,noatime nas-server.intern:/&
811 </pre></blockquote></p>
812
813 <p>The last step to remember is to mount the relevant mount points in
814 tjener.intern by adding them to /etc/fstab, creating the mount
815 directories using mkdir and running "mount -a" to mount them.</p>
816
817 <p>When this is done, your users should be able to access the files on
818 the storage server directly by just visiting the
819 /tjener/nas-server/storage/ directory using any application on any
820 workstation, LTSP client or LTSP server.</p>
821
822 </div>
823 <div class="tags">
824
825
826 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>.
827
828
829 </div>
830 </div>
831 <div class="padding"></div>
832
833 <div class="entry">
834 <div class="title">
835 <a href="http://people.skolelinux.org/pere/blog/New_home_and_release_1_0_for_netgroup_and_innetgr__aka_ng_utils_.html">New home and release 1.0 for netgroup and innetgr (aka ng-utils)</a>
836 </div>
837 <div class="date">
838 22nd February 2014
839 </div>
840 <div class="body">
841 <p>Many years ago, I wrote a GPL licensed version of the netgroup and
842 innetgr tools, because I needed them in
843 <a href="http://www.skolelinux.org/">Skolelinux</a>. I called the project
844 ng-utils, and it has served me well. I placed the project under the
845 <a href="http://www.hungry.com/">Hungry Programmer</a> umbrella, and it was maintained in our CVS
846 repository. But many years ago, the CVS repository was dropped (lost,
847 not migrated to new hardware, not sure), and the project have lacked a
848 proper home since then.</p>
849
850 <p>Last summer, I had a look at the package and made a new release
851 fixing a irritating crash bug, but was unable to store the changes in
852 a proper source control system. I applied for a project on
853 <a href="https://alioth.debian.org/">Alioth</a>, but did not have time
854 to follow up on it. Until today. :)</p>
855
856 <p>After many hours of cleaning and migration, the ng-utils project
857 now have a new home, and a git repository with the highlight of the
858 history of the project. I published all release tarballs and imported
859 them into the git repository. As the project is really stable and not
860 expected to gain new features any time soon, I decided to make a new
861 release and call it 1.0. Visit the new project home on
862 <a href="https://alioth.debian.org/projects/ng-utils/">https://alioth.debian.org/projects/ng-utils/</a>
863 if you want to check it out. The new version is also uploaded into
864 <a href="http://packages.qa.debian.org/n/ng-utils.html">Debian Unstable</a>.</p>
865
866 </div>
867 <div class="tags">
868
869
870 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>.
871
872
873 </div>
874 </div>
875 <div class="padding"></div>
876
877 <div class="entry">
878 <div class="title">
879 <a href="http://people.skolelinux.org/pere/blog/Testing_sysvinit_from_experimental_in_Debian_Hurd.html">Testing sysvinit from experimental in Debian Hurd</a>
880 </div>
881 <div class="date">
882 3rd February 2014
883 </div>
884 <div class="body">
885 <p>A few days ago I decided to try to help the Hurd people to get
886 their changes into sysvinit, to allow them to use the normal sysvinit
887 boot system instead of their old one. This follow up on the
888 <a href="https://teythoon.cryptobitch.de//categories/gsoc.html">great
889 Google Summer of Code work</a> done last summer by Justus Winter to
890 get Debian on Hurd working more like Debian on Linux. To get started,
891 I downloaded a prebuilt hard disk image from
892 <a href="http://ftp.debian-ports.org/debian-cd/hurd-i386/current/debian-hurd.img.tar.gz">http://ftp.debian-ports.org/debian-cd/hurd-i386/current/debian-hurd.img.tar.gz</a>,
893 and started it using virt-manager.</p>
894
895 <p>The first think I had to do after logging in (root without any
896 password) was to get the network operational. I followed
897 <a href="https://www.debian.org/ports/hurd/hurd-install">the
898 instructions on the Debian GNU/Hurd ports page</a> and ran these
899 commands as root to get the machine to accept a IP address from the
900 kvm internal DHCP server:</p>
901
902 <p><blockquote><pre>
903 settrans -fgap /dev/netdde /hurd/netdde
904 kill $(ps -ef|awk '/[p]finet/ { print $2}')
905 kill $(ps -ef|awk '/[d]evnode/ { print $2}')
906 dhclient /dev/eth0
907 </pre></blockquote></p>
908
909 <p>After this, the machine had internet connectivity, and I could
910 upgrade it and install the sysvinit packages from experimental and
911 enable it as the default boot system in Hurd.</p>
912
913 <p>But before I did that, I set a password on the root user, as ssh is
914 running on the machine it for ssh login to work a password need to be
915 set. Also, note that a bug somewhere in openssh on Hurd block
916 compression from working. Remember to turn that off on the client
917 side.</p>
918
919 <p>Run these commands as root to upgrade and test the new sysvinit
920 stuff:</p>
921
922 <p><blockquote><pre>
923 cat > /etc/apt/sources.list.d/experimental.list &lt;&lt;EOF
924 deb http://http.debian.net/debian/ experimental main
925 EOF
926 apt-get update
927 apt-get dist-upgrade
928 apt-get install -t experimental initscripts sysv-rc sysvinit \
929 sysvinit-core sysvinit-utils
930 update-alternatives --config runsystem
931 </pre></blockquote></p>
932
933 <p>To reboot after switching boot system, you have to use
934 <tt>reboot-hurd</tt> instead of just <tt>reboot</tt>, as there is not
935 yet a sysvinit process able to receive the signals from the normal
936 'reboot' command. After switching to sysvinit as the boot system,
937 upgrading every package and rebooting, the network come up with DHCP
938 after boot as it should, and the settrans/pkill hack mentioned at the
939 start is no longer needed. But for some strange reason, there are no
940 longer any login prompt in the virtual console, so I logged in using
941 ssh instead.
942
943 <p>Note that there are some race conditions in Hurd making the boot
944 fail some times. No idea what the cause is, but hope the Hurd porters
945 figure it out. At least Justus said on IRC (#debian-hurd on
946 irc.debian.org) that they are aware of the problem. A way to reduce
947 the impact is to upgrade to the Hurd packages built by Justus by
948 adding this repository to the machine:</p>
949
950 <p><blockquote><pre>
951 cat > /etc/apt/sources.list.d/hurd-ci.list &lt;&lt;EOF
952 deb http://darnassus.sceen.net/~teythoon/hurd-ci/ sid main
953 EOF
954 </pre></blockquote></p>
955
956 <p>At the moment the prebuilt virtual machine get some packages from
957 http://ftp.debian-ports.org/debian, because some of the packages in
958 unstable do not yet include the required patches that are lingering in
959 BTS. This is the completely list of "unofficial" packages installed:</p>
960
961 <p><blockquote><pre>
962 # aptitude search '?narrow(?version(CURRENT),?origin(Debian Ports))'
963 i emacs - GNU Emacs editor (metapackage)
964 i gdb - GNU Debugger
965 i hurd-recommended - Miscellaneous translators
966 i isc-dhcp-client - ISC DHCP client
967 i isc-dhcp-common - common files used by all the isc-dhcp* packages
968 i libc-bin - Embedded GNU C Library: Binaries
969 i libc-dev-bin - Embedded GNU C Library: Development binaries
970 i libc0.3 - Embedded GNU C Library: Shared libraries
971 i A libc0.3-dbg - Embedded GNU C Library: detached debugging symbols
972 i libc0.3-dev - Embedded GNU C Library: Development Libraries and Hea
973 i multiarch-support - Transitional package to ensure multiarch compatibilit
974 i A x11-common - X Window System (X.Org) infrastructure
975 i xorg - X.Org X Window System
976 i A xserver-xorg - X.Org X server
977 i A xserver-xorg-input-all - X.Org X server -- input driver metapackage
978 #
979 </pre></blockquote></p>
980
981 <p>All in all, testing hurd has been an interesting experience. :)
982 X.org did not work out of the box and I never took the time to follow
983 the porters instructions to fix it. This time I was interested in the
984 command line stuff.<p>
985
986 </div>
987 <div class="tags">
988
989
990 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>.
991
992
993 </div>
994 </div>
995 <div class="padding"></div>
996
997 <div class="entry">
998 <div class="title">
999 <a href="http://people.skolelinux.org/pere/blog/A_fist_full_of_non_anonymous_Bitcoins.html">A fist full of non-anonymous Bitcoins</a>
1000 </div>
1001 <div class="date">
1002 29th January 2014
1003 </div>
1004 <div class="body">
1005 <p>Bitcoin is a incredible use of peer to peer communication and
1006 encryption, allowing direct and immediate money transfer without any
1007 central control. It is sometimes claimed to be ideal for illegal
1008 activity, which I believe is quite a long way from the truth. At least
1009 I would not conduct illegal money transfers using a system where the
1010 details of every transaction are kept forever. This point is
1011 investigated in
1012 <a href="https://www.usenix.org/publications/login">USENIX ;login:</a>
1013 from December 2013, in the article
1014 "<a href="https://www.usenix.org/system/files/login/articles/03_meiklejohn-online.pdf">A
1015 Fistful of Bitcoins - Characterizing Payments Among Men with No
1016 Names</a>" by Sarah Meiklejohn, Marjori Pomarole,Grant Jordan, Kirill
1017 Levchenko, Damon McCoy, Geoffrey M. Voelker, and Stefan Savage. They
1018 analyse the transaction log in the Bitcoin system, using it to find
1019 addresses belong to individuals and organisations and follow the flow
1020 of money from both Bitcoin theft and trades on Silk Road to where the
1021 money end up. This is how they wrap up their article:</p>
1022
1023 <p><blockquote>
1024 <p>"To demonstrate the usefulness of this type of analysis, we turned
1025 our attention to criminal activity. In the Bitcoin economy, criminal
1026 activity can appear in a number of forms, such as dealing drugs on
1027 Silk Road or simply stealing someone else’s bitcoins. We followed the
1028 flow of bitcoins out of Silk Road (in particular, from one notorious
1029 address) and from a number of highly publicized thefts to see whether
1030 we could track the bitcoins to known services. Although some of the
1031 thieves attempted to use sophisticated mixing techniques (or possibly
1032 mix services) to obscure the flow of bitcoins, for the most part
1033 tracking the bitcoins was quite straightforward, and we ultimately saw
1034 large quantities of bitcoins flow to a variety of exchanges directly
1035 from the point of theft (or the withdrawal from Silk Road).</p>
1036
1037 <p>As acknowledged above, following stolen bitcoins to the point at
1038 which they are deposited into an exchange does not in itself identify
1039 the thief; however, it does enable further de-anonymization in the
1040 case in which certain agencies can determine (through, for example,
1041 subpoena power) the real-world owner of the account into which the
1042 stolen bitcoins were deposited. Because such exchanges seem to serve
1043 as chokepoints into and out of the Bitcoin economy (i.e., there are
1044 few alternative ways to cash out), we conclude that using Bitcoin for
1045 money laundering or other illicit purposes does not (at least at
1046 present) seem to be particularly attractive."</p>
1047 </blockquote><p>
1048
1049 <p>These researches are not the first to analyse the Bitcoin
1050 transaction log. The 2011 paper
1051 "<a href="http://arxiv.org/abs/1107.4524">An Analysis of Anonymity in
1052 the Bitcoin System</A>" by Fergal Reid and Martin Harrigan is
1053 summarized like this:</p>
1054
1055 <p><blockquote>
1056 "Anonymity in Bitcoin, a peer-to-peer electronic currency system, is a
1057 complicated issue. Within the system, users are identified by
1058 public-keys only. An attacker wishing to de-anonymize its users will
1059 attempt to construct the one-to-many mapping between users and
1060 public-keys and associate information external to the system with the
1061 users. Bitcoin tries to prevent this attack by storing the mapping of
1062 a user to his or her public-keys on that user's node only and by
1063 allowing each user to generate as many public-keys as required. In
1064 this chapter we consider the topological structure of two networks
1065 derived from Bitcoin's public transaction history. We show that the
1066 two networks have a non-trivial topological structure, provide
1067 complementary views of the Bitcoin system and have implications for
1068 anonymity. We combine these structures with external information and
1069 techniques such as context discovery and flow analysis to investigate
1070 an alleged theft of Bitcoins, which, at the time of the theft, had a
1071 market value of approximately half a million U.S. dollars."
1072 </blockquote></p>
1073
1074 <p>I hope these references can help kill the urban myth that Bitcoin
1075 is anonymous. It isn't really a good fit for illegal activites. Use
1076 cash if you need to stay anonymous, at least until regular DNA
1077 sampling of notes and coins become the norm. :)</p>
1078
1079 <p>As usual, if you use Bitcoin and want to show your support of my
1080 activities, please send Bitcoin donations to my address
1081 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
1082
1083 </div>
1084 <div class="tags">
1085
1086
1087 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>.
1088
1089
1090 </div>
1091 </div>
1092 <div class="padding"></div>
1093
1094 <div class="entry">
1095 <div class="title">
1096 <a href="http://people.skolelinux.org/pere/blog/New_chrpath_release_0_16.html">New chrpath release 0.16</a>
1097 </div>
1098 <div class="date">
1099 14th January 2014
1100 </div>
1101 <div class="body">
1102 <p><a href="http://www.coverity.com/">Coverity</a> is a nice tool to
1103 find problems in C, C++ and Java code using static source code
1104 analysis. It can detect a lot of different problems, and is very
1105 useful to find memory and locking bugs in the error handling part of
1106 the source. The company behind it provide
1107 <a href="https://scan.coverity.com/">check of free software projects as
1108 a community service</a>, and many hundred free software projects are
1109 already checked. A few days ago I decided to have a closer look at
1110 the Coverity system, and discovered that the
1111 <a href="http://www.gnu.org/software/gnash/">gnash</a> and
1112 <a href="http://sourceforge.net/projects/ipmitool/">ipmitool</a>
1113 projects I am involved with was already registered. But these are
1114 fairly big, and I would also like to have a small and easy project to
1115 check, and decided to <a href="http://scan.coverity.com/projects/1179">request
1116 checking of the chrpath project</a>. It was
1117 added to the checker and discovered seven potential defects. Six of
1118 these were real, mostly resource "leak" when the program detected an
1119 error. Nothing serious, as the resources would be released a fraction
1120 of a second later when the program exited because of the error, but it
1121 is nice to do it right in case the source of the program some time in
1122 the future end up in a library. Having fixed all defects and added
1123 <a href="https://lists.alioth.debian.org/mailman/listinfo/chrpath-devel">a
1124 mailing list for the chrpath developers</a>, I decided it was time to
1125 publish a new release. These are the release notes:</p>
1126
1127 <p>New in 0.16 released 2014-01-14:</p>
1128
1129 <ul>
1130
1131 <li>Fixed all minor bugs discovered by Coverity.</li>
1132 <li>Updated config.sub and config.guess from the GNU project.</li>
1133 <li>Mention new project mailing list in the documentation.</li>
1134
1135 </ul>
1136
1137 <p>You can
1138 <a href="https://alioth.debian.org/frs/?group_id=31052">download the
1139 new version 0.16 from alioth</a>. Please let us know via the Alioth
1140 project if something is wrong with the new release. The test suite
1141 did not discover any old errors, so if you find a new one, please also
1142 include a test suite check.</p>
1143
1144 </div>
1145 <div class="tags">
1146
1147
1148 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
1149
1150
1151 </div>
1152 </div>
1153 <div class="padding"></div>
1154
1155 <div class="entry">
1156 <div class="title">
1157 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Dominik_George.html">Debian Edu interview: Dominik George</a>
1158 </div>
1159 <div class="date">
1160 25th December 2013
1161 </div>
1162 <div class="body">
1163 <p>The <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux
1164 project</a> consist of both newcomers and old timers, and this time I
1165 was able to get an interview with a newcomer in the project who showed
1166 up on the IRC channel a few weeks ago to let us know about his
1167 successful installation of Debian Edu Wheezy in his School. Say hello
1168 to <a href="https://www.ohloh.net/accounts/Natureshadow">Dominik
1169 George</a>.</p>
1170
1171 <!-- http://www.dominik-george.de/images/foto.jpg -->
1172
1173 <p><strong>Who are you, and how do you spend your days?</strong></p>
1174
1175 <p>I am a 23 year-old student from Germany who has spent half of his
1176 life with open source. In "real life", I am, as already mentioned, a
1177 student in the fields of Computer Science, Electrical Engineering,
1178 Information Technologies and Anglistics. Due to my (only partially
1179 voluntary) huge engagement in the open source world, these things are
1180 a bit vacant right now however.</p>
1181
1182 <p>I also have been working as a project teacher at a Gymasnium
1183 (public school) for various years now. I took up that work some time
1184 around 2005 when still attending that school myself and have continued
1185 it until today. I also had been running the (kind of very advanced)
1186 network of that school together with a team of very interested and
1187 talented students in the age of 11 to 15 years, who took the chance to
1188 learn a lot about open source and networking before I left the school
1189 to help building another school's informational education concept from
1190 scratch.</p>
1191
1192 <p>That said, one might see me as a kind of "glue" between school kids
1193 and the elderly of teachers as well as between the open source
1194 ecosystem and the (even more complex) educational ecosystem.</p>
1195
1196 <p>When I am not busy with open source or education, I like Geocaching
1197 and cycling.</p>
1198
1199 <p><strong>How did you get in contact with the Skolelinux / Debian Edu
1200 project?</strong></p>
1201
1202 <p>I think that happened some time around 2009 when I first attended
1203 <a href="http://www.froscon.org">FrOSCon</a> and visited the project
1204 booth. I think I wasn't too interested back then because I used to
1205 have an attitude of disliking software that does too much stuff on its
1206 own. Maybe I was too inexperienced to realise the upsides of an
1207 "out-of-the-box" solution ;).</p>
1208
1209 <p>The first time I actively talked to Skolelinux people was at
1210 <a href="http://www.openrheinruhr.de">OpenRheinRuhr</a> 2011 when the
1211 BiscuIT project, a home-grewn software used by my school for various
1212 really cool things from timetables and class contact lists to lunch
1213 ordering, student ID card printing and project elections first got to
1214 a stage where it could have been published. I asked the Skolelinux
1215 guys running the booth if the project were interested in it and gave a
1216 small demonstration, but there wasn't any real feedback and the guys
1217 seemed rather uninterested.</p>
1218
1219 <p>After I left the school where I developed the software, it got
1220 mostly lost, but I am now reimplementing it for my new school. I have
1221 reusability and compatibility in mind, and I hop there will be a new
1222 basis for contributing it to the Skolelinux project ;)!</p>
1223
1224 <p><strong>What do you see as the advantages of Skolelinux / Debian
1225 Edu?</strong></p>
1226
1227 <p>The most important advantage seems to be that it "just
1228 works". After overcoming some minor (but still very annoying) glitches
1229 in the installer, I got a fully functional, working school network,
1230 without the month-long hassle I experienced when setting all that up
1231 from scratch in earlier years. And above that, it rocked - I didn't
1232 have any real hardware at hand, because the school was just founded
1233 and has no money whatsoever, so I installed a combined server (main
1234 server, terminal services and workstation) in a VM on my personal
1235 notebook, bridging the LTSP network interface to the ethernet port,
1236 and then PXE-booted the Windows notebooks that were lying around from
1237 it. I could use 8 clients without any performance issues, by using a
1238 tiny little VM on a tiny little notebook. I think that's enough to say
1239 that it rocks!</p>
1240
1241 <p>Secondly, there are marketing reasons. Life's bad, and so no
1242 politician will ever permit a setup described as "Debian, an universal
1243 operating system, with some really cool educational tools" while they
1244 will be jsut fine with "Skolelinux, a single-purpose solution for your
1245 school network", even if both turn out to be the very same thing (yes,
1246 this is unfair towards the Skolelinux project, and must not be taken
1247 too seriously - you get the idea, anyway).</p>
1248
1249 <p><strong>What do you see as the disadvantages of Skolelinux / Debian
1250 Edu?</strong></p>
1251
1252 <p>I have not been involved with Skolelinux long enough to really
1253 answer this question in a fair way. Thus, please allow me to put it in
1254 other words: "What do you expect from Skolelinux to keep liking it?" I
1255 can list a few points about that:</p>
1256
1257 <ul>
1258
1259 <li>always strive to get all things integrated into Debian upstream
1260 <li>be open to discussion about changes and the like, even with newcomers
1261 <li>be helpful at being helpful ;)
1262
1263 </ul>
1264
1265 <p>I'm really sorry I cannot say much more about that :(!</p>
1266
1267 <p><strong>Which free software do you use daily?</strong></p>
1268
1269 <p>First of all, all software I use is free and open. I have abandoned
1270 all non-free software (except for firmware on my darned phone) this
1271 year.</p>
1272
1273 <p>I run Debian GNU/Linux on all PC systems I use. On that, I mostly
1274 run text tools. I use
1275 <a href="https://www.mirbsd.org/mksh.htm">mksh</a> as shell,
1276 <a href="https://www.mirbsd.org/jupp.htm">jupp</a> as very advanced
1277 text editor (I even got the developer to help me write a script/macro
1278 based full-featured student management software with the two),
1279 <a href="http://mcabber.com/">mcabber</a> for XMPP and
1280 <a href="http://www.irssi.org/">irssi</a> for IRC. For that overly
1281 coloured world called the WWW, I use
1282 <a href="https://www.mozilla.org/en-US/firefox/new/">Iceweasel
1283 (Firefox)</a>. Oh, and <a href="http://www.mutt.org/">mutt</a> for
1284 e-mail.</p>
1285
1286 <p>However, while I am personally aware of the fact that text tools
1287 are more efficient and powerful than anything else, I also use (or at
1288 least operate) some tools that are suitable to bring open source to
1289 kids. One of these things is <a href="http://jappix.org/">Jappix</a>,
1290 which I already introduced to some kids even before they got aware of
1291 Facebook, making them see for themselves that they do not need
1292 Facebook now ;).</p>
1293
1294 <p><strong>Which strategy do you believe is the right one to use to
1295 get schools to use free software?</strong></p>
1296
1297 <p>Well, that's a two-sided thing. One side is what I believe, and one
1298 side is what I have experienced.</p>
1299
1300 <p>I believe that the right strategy is showing them the benefits. But
1301 that won't work out as long as the acceptance of free alternatives
1302 grows globally. What I mean is that if all the kids are almost forced
1303 to use Windows, Facebook, Skype, you name it at home, they will not
1304 see why they would want to use alternatives at school. I have seen
1305 students take seat in front of a fully-functional, modern Debian
1306 desktop that could do anything their Windows at home could do, and
1307 they jsut refused to use it because "Linux sucks". It is something
1308 that makes the council of our city spend around 600000 € to buy
1309 software - not including hardware, mind you - for operating school
1310 networks, and for installing a system that, as has been proved, does
1311 not work. For those of you readers who are good at maths, have you
1312 already found out how many lives could have been saved with that money
1313 if we had instead used it to bring education to parts of the world
1314 that need it? I have, and found it to be nothing less dramatic than
1315 plain criminal.</p>
1316
1317 <p>That said, the only feasible way appears to be the bottom up
1318 method. We have to bring free software to kids and parents. I have
1319 founded an association named
1320 <a href="https://www.teckids.org">Teckids</a> here in Germany that does
1321 just that. We organise several events for kids and adolescents in the
1322 area of free and open source software, for example the
1323 <a href="http://kids.froscon.org">FrogLabs</a>, which share staff with
1324 Teckids and are the youth programme of
1325 <a href="http://www.froscon.org">the Free and Open Source Software
1326 Conference (FrOSCon)</a>. We do a lot more than most other conferences
1327 - this year, we first offered the FrogLabs as a holiday camp for kids
1328 aged 10 to 16. It was a huge success, with approx. 30 kids taking part
1329 and learning with and about free software through a whole weekend. All
1330 of us had a lot of fun, and the results were really exciting.</p>
1331
1332 <p>Apart from that, we are preparing a campaign that is supposed to bring
1333 the message of free alternatives to stuff kids use every day to them and
1334 their parents, e.g. the use of Jabber / Jappix instead of Facebook and
1335 Skype. To make that possible, we are planning to get together a team of
1336 clever kids who understand very well what their peers need and can bring
1337 it across to them. So we will have a peer-driven network of adolescents
1338 who teach each other and collect feedback from the community of minors.
1339 We then take that feedback and our own experience to work closely with
1340 open source projects, such as Skolelinux or Jappix, at improving their
1341 software in a way that makes it more and more attractive for the target
1342 group. At least I hope that we will have good cooperation with
1343 Skolelinux in the future ;)!</p>
1344
1345 <p>So in conclusion, what I believe is that, if it weren't for the world
1346 being so bad, it should be very clear to the political decision makers
1347 that the only way to go nowadays is free software for various reasons,
1348 but I have learnt that the only way that seems to work is bottom up.</p>
1349
1350 <!--
1351
1352 > * Who should be interviewed with this questions in the future?
1353
1354 That's probably the hardest question of them all, as I do not know the
1355 community. However, I would be willing to do the following:
1356
1357 <li>Run an interview with a German headteacher who is very open to
1358 free software, and also prefers it, but cannot really use it because
1359 of the decision makers above;
1360 <li>Run interviews with some kids, both with and without previous
1361 knowledge about free software
1362
1363 If that is wanted, just let me know ;).
1364
1365 -->
1366
1367 </div>
1368 <div class="tags">
1369
1370
1371 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>.
1372
1373
1374 </div>
1375 </div>
1376 <div class="padding"></div>
1377
1378 <div class="entry">
1379 <div class="title">
1380 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Klaus_Knopper.html">Debian Edu interview: Klaus Knopper</a>
1381 </div>
1382 <div class="date">
1383 6th December 2013
1384 </div>
1385 <div class="body">
1386 <p>It has been a while since I managed to publish the last interview,
1387 but the <a href="http://www.skolelinux.org/">Debian Edu /
1388 Skolelinux</a> community is still going strong, and yesterday we even
1389 had a new school administrator show up on
1390 <a href="irc://irc.debian.org/#debian-edu">#debian-edu</a> to share
1391 his success story with installing Debian Edu at their school. This
1392 time I have been able to get some helpful comments from the creator of
1393 Knoppix, Klaus Knopper, who was involved in a Skolelinux project in
1394 Germany a few years ago.</p>
1395
1396 <p><strong>Who are you, and how do you spend your days?</strong></p>
1397
1398 <p>I am Klaus Knopper. I have a master degree in electrical
1399 engineering, and is currently professor in information management at
1400 the university of applied sciences Kaiserslautern / Germany and
1401 freelance Open Source software developer and consultant.</p>
1402
1403 <p>All of this is pretty much of the work I spend my days with. Apart
1404 from teaching, I'm also conducting some more or less experimental
1405 projects like the <a href="http://www.knoppix.org">Knoppix GNU/Linux live
1406 system</a> (Debian-based like Skolelinux),
1407 <a href="http://www.knopper.net/knoppix-adriane/index-en.html">ADRIANE</a>
1408 (a blind-friendly talking desktop system) and
1409 <a href="http://www.knopper.net/linbo/index-en.html">LINBO</a>
1410 (Linux-based network boot console, a fast remote install and repair
1411 system supporting various operating systems).</p>
1412
1413 <p><strong>How did you get in contact with the Skolelinux / Debian Edu
1414 project?</strong></p>
1415
1416 <p>The credit for this have to go to Kurt Gramlich, who is the German
1417 coordinator for Skolelinux. We were looking for an all-in-one open
1418 source community-supported distribution for schools, and Kurt
1419 introduced us to Skolelinux for this purpose.</p>
1420
1421 <p><strong>What do you see as the advantages of Skolelinux / Debian
1422 Edu?</strong></p>
1423
1424 <ul>
1425 <li>Quick installation,</li>
1426 <li>works (almost) out of the box,</li>
1427 <li>contains many useful software packages for teaching and learning,</li>
1428 <li>is a purely community-based distro and not controlled by a
1429 single company,</li>
1430 <li>has a large number of supporters and teachers who share their
1431 experience and problem solutions.</li>
1432 </ul>
1433
1434 <p><strong>What do you see as the disadvantages of Skolelinux / Debian
1435 Edu?</strong></p>
1436
1437 <ul>
1438 <li>Skolelinux is - as we had to learn - not easily upgradable to
1439 the next version. Opposed to its genuine Debian base, upgrading to
1440 a new version means a full new installation from scratch to get it
1441 working again reliably.
1442
1443 <li>Skolelinux is based on Debian/stable, and therefore always a
1444 little outdated in terms of program versions compared to Edubuntu or
1445 similar educational Linux distros, which rather use Debian/testing
1446 as their base.
1447
1448 <li>Skolelinux has some very self-opinionated and stubborn default
1449 configuration which in my opinion adds unnecessary complexity and is
1450 not always suitable for a schools needs, the preset network
1451 configuration is actually a core definition feature of Skolelinux
1452 and not easy to change, so schools sometimes have to change their
1453 network configuration to make it "Skolelinux-compatible".
1454
1455 <li>Some proposed extensions, which were made available as
1456 contribution, like secure examination mode and lecture material
1457 distribution and collection, were not accepted into the mainline
1458 Skolelinux development and are now not easy to maintain in the
1459 future because of Skolelinux somewhat undeterministic update
1460 schemes.</li>
1461
1462 <li>Skolelinux has only a very tiny number of base developers
1463 compared to Debian.</li>
1464
1465 </ul>
1466
1467 <p>For these reasons and experience from our project, I would now
1468 rather consider using plain Debian for schools next time, until
1469 Skolelinux is more closely integrated into Debian and becomes
1470 upgradeable without reinstallation.</p>
1471
1472 <p><strong>Which free software do you use daily?</strong></p>
1473
1474 <p>GNU/Linux with LXDE desktop, bash for interactive dialog and
1475 programming, texlive for documentation and correspondence,
1476 occasionally LibreOffice for document format conversion. Various
1477 programming languages for teaching.</p>
1478
1479 <p><strong>Which strategy do you believe is the right one to use to
1480 get schools to use free software?</strong></p>
1481
1482 <p>Strong arguments are</p>
1483
1484 <ul>
1485
1486 <li>Knowledge is free, and so should be methods and tools for
1487 teaching and learning.</li>
1488
1489 <li>Students can learn with and use the same software at school, at
1490 home, and at their working place without running into license or
1491 conversion problems.</li>
1492
1493 <li>Closed source or proprietary software hides knowledge rather
1494 than exposing it, and proprietary software vendors try to bind
1495 customers to certain products. But teachers need to teach
1496 science, not products.</li>
1497
1498 <li>If you have everything you for daily work as open source, what
1499 would you need proprietary software for?</li>
1500
1501 </ul>
1502
1503 </div>
1504 <div class="tags">
1505
1506
1507 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>.
1508
1509
1510 </div>
1511 </div>
1512 <div class="padding"></div>
1513
1514 <div class="entry">
1515 <div class="title">
1516 <a href="http://people.skolelinux.org/pere/blog/Dugnadsnett_for_alle__a_wireless_community_network_in_Oslo__take_shape.html">Dugnadsnett for alle, a wireless community network in Oslo, take shape</a>
1517 </div>
1518 <div class="date">
1519 30th November 2013
1520 </div>
1521 <div class="body">
1522 <p>If you want the ability to electronically communicate directly with
1523 your neighbors and friends using a network controlled by your peers in
1524 stead of centrally controlled by a few corporations, or would like to
1525 experiment with interesting network technology, the
1526 <a href="http://www.dugnadsnett.no/">Dugnasnett for alle i Oslo</a>
1527 might be project for you. 39 mesh nodes are currently being planned,
1528 in the freshly started initiative from NUUG and Hackeriet to create a
1529 wireless community network. The work is inspired by
1530 <a href="http://freifunk.net/">Freifunk</a>,
1531 <a href="http://www.awmn.net/">Athens Wireless Metropolitan
1532 Network</a>, <a href="http://en.wikipedia.org/wiki/Roofnet">Roofnet</a>
1533 and other successful mesh networks around the globe. Two days ago we
1534 held a workshop to try to get people started on setting up their own
1535 mesh node, and there we decided to create a new mailing list
1536 <a href="http://lists.nuug.no/mailman/listinfo/dugnadsnett">dugnadsnett
1537 (at) nuug.no</a> and IRC channel
1538 <a href="irc://irc.freenode.net/#dugnadsnett.no">#dugnadsnett.no</a> to
1539 coordinate the work. See also the NUUG blog post
1540 <a href="http://www.nuug.no/news/E_postliste_og_IRC_kanal_for_Dugnadsnett_for_alle_i_Oslo.shtml">announcing
1541 the mailing list and IRC channel</a>.</p>
1542
1543 </div>
1544 <div class="tags">
1545
1546
1547 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
1548
1549
1550 </div>
1551 </div>
1552 <div class="padding"></div>
1553
1554 <div class="entry">
1555 <div class="title">
1556 <a href="http://people.skolelinux.org/pere/blog/New_chrpath_release_0_15.html">New chrpath release 0.15</a>
1557 </div>
1558 <div class="date">
1559 24th November 2013
1560 </div>
1561 <div class="body">
1562 <p>After many years break from the package and a vain hope that
1563 development would be continued by someone else, I finally pulled my
1564 acts together this morning and wrapped up a new release of chrpath,
1565 the command line tool to modify the rpath and runpath of already
1566 compiled ELF programs. The update was triggered by the persistence of
1567 Isha Vishnoi at IBM, which needed a new config.guess file to get
1568 support for the ppc64le architecture (powerpc 64-bit Little Endian) he
1569 is working on. I checked the
1570 <a href="http://packages.qa.debian.org/chrpath">Debian</a>,
1571 <a href="https://launchpad.net/ubuntu/+source/chrpath">Ubuntu</a> and
1572 <a href="https://admin.fedoraproject.org/pkgdb/acls/name/chrpath">Fedora</a>
1573 packages for interesting patches (failed to find the source from
1574 OpenSUSE and Mandriva packages), and found quite a few nice fixes.
1575 These are the release notes:</p>
1576
1577 <p>New in 0.15 released 2013-11-24:</p>
1578
1579 <ul>
1580
1581 <li>Updated config.sub and config.guess from the GNU project to work
1582 with newer architectures. Thanks to isha vishnoi for the heads
1583 up.</li>
1584
1585 <li>Updated README with current URLs.</li>
1586
1587 <li>Added byteswap fix found in Ubuntu, credited Jeremy Kerr and
1588 Matthias Klose.</li>
1589
1590 <li>Added missing help for -k|--keepgoing option, using patch by
1591 Petr Machata found in Fedora.</li>
1592
1593 <li>Rewrite removal of RPATH/RUNPATH to make sure the entry in
1594 .dynamic is a NULL terminated string. Based on patch found in
1595 Fedora credited Axel Thimm and Christian Krause.</li>
1596
1597 </ul>
1598
1599 <p>You can
1600 <a href="https://alioth.debian.org/frs/?group_id=31052">download the
1601 new version 0.15 from alioth</a>. Please let us know via the Alioth
1602 project if something is wrong with the new release. The test suite
1603 did not discover any old errors, so if you find a new one, please also
1604 include a testsuite check.</p>
1605
1606 </div>
1607 <div class="tags">
1608
1609
1610 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
1611
1612
1613 </div>
1614 </div>
1615 <div class="padding"></div>
1616
1617 <div class="entry">
1618 <div class="title">
1619 <a href="http://people.skolelinux.org/pere/blog/All_drones_should_be_radio_marked_with_what_they_do_and_who_they_belong_to.html">All drones should be radio marked with what they do and who they belong to</a>
1620 </div>
1621 <div class="date">
1622 21st November 2013
1623 </div>
1624 <div class="body">
1625 <p>Drones, flying robots, are getting more and more popular. The most
1626 know ones are the killer drones used by some government to murder
1627 people they do not like without giving them the chance of a fair
1628 trial, but the technology have many good uses too, from mapping and
1629 forest maintenance to photography and search and rescue. I am sure it
1630 is just a question of time before "bad drones" are in the hands of
1631 private enterprises and not only state criminals but petty criminals
1632 too. The drone technology is very useful and very dangerous. To have
1633 some control over the use of drones, I agree with Daniel Suarez in his
1634 TED talk
1635 "<a href="https://archive.org/details/DanielSuarez_2013G">The kill
1636 decision shouldn't belong to a robot</a>", where he suggested this
1637 little gem to keep the good while limiting the bad use of drones:</p>
1638
1639 <blockquote>
1640
1641 <p>Each robot and drone should have a cryptographically signed
1642 I.D. burned in at the factory that can be used to track its movement
1643 through public spaces. We have license plates on cars, tail numbers on
1644 aircraft. This is no different. And every citizen should be able to
1645 download an app that shows the population of drones and autonomous
1646 vehicles moving through public spaces around them, both right now and
1647 historically. And civic leaders should deploy sensors and civic drones
1648 to detect rogue drones, and instead of sending killer drones of their
1649 own up to shoot them down, they should notify humans to their
1650 presence. And in certain very high-security areas, perhaps civic
1651 drones would snare them and drag them off to a bomb disposal facility.</p>
1652
1653 <p>But notice, this is more an immune system than a weapons system. It
1654 would allow us to avail ourselves of the use of autonomous vehicles
1655 and drones while still preserving our open, civil society.</p>
1656
1657 </blockquote>
1658
1659 <p>The key is that <em>every citizen</em> should be able to read the
1660 radio beacons sent from the drones in the area, to be able to check
1661 both the government and others use of drones. For such control to be
1662 effective, everyone must be able to do it. What should such beacon
1663 contain? At least formal owner, purpose, contact information and GPS
1664 location. Probably also the origin and target position of the current
1665 flight. And perhaps some registration number to be able to look up
1666 the drone in a central database tracking their movement. Robots
1667 should not have privacy. It is people who need privacy.</p>
1668
1669 </div>
1670 <div class="tags">
1671
1672
1673 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/robot">robot</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet</a>, <a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance</a>.
1674
1675
1676 </div>
1677 </div>
1678 <div class="padding"></div>
1679
1680 <div class="entry">
1681 <div class="title">
1682 <a href="http://people.skolelinux.org/pere/blog/Lets_make_a_wireless_community_network_in_Oslo_.html">Lets make a wireless community network in Oslo!</a>
1683 </div>
1684 <div class="date">
1685 13th November 2013
1686 </div>
1687 <div class="body">
1688 <p>Today NUUG and Hackeriet announced
1689 <a href="http://www.nuug.no/news/Bli_med___bygge_dugnadsnett_for_alle_i_Oslo.shtml">our
1690 plans to join forces and create a wireless community network in
1691 Oslo</a>. The workshop to help people get started will take place
1692 Thursday 2013-11-28, but we already are collecting the geolocation of
1693 people joining forces to make this happen. We have
1694 <a href="https://github.com/petterreinholdtsen/meshfx-node/blob/master/oslo-nodes.geojson">9
1695 locations plotted on the map</a>, but we will need more before we have
1696 a connected mesh spread across Oslo. If this sound interesting to
1697 you, please join us at the workshop. If you are too impatient to wait
1698 15 days, please join us on the IRC channel
1699 <a href="irc://irc.freenode.net/%23nuug">#nuug on irc.freenode.net</a>
1700 right away. :)</p>
1701
1702 </div>
1703 <div class="tags">
1704
1705
1706 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
1707
1708
1709 </div>
1710 </div>
1711 <div class="padding"></div>
1712
1713 <div class="entry">
1714 <div class="title">
1715 <a href="http://people.skolelinux.org/pere/blog/Running_TP_Link_MR3040_as_a_batman_adv_mesh_node_using_openwrt.html">Running TP-Link MR3040 as a batman-adv mesh node using openwrt</a>
1716 </div>
1717 <div class="date">
1718 10th November 2013
1719 </div>
1720 <div class="body">
1721 <p>Continuing my research into mesh networking, I was recommended to
1722 use TP-Link 3040 and 3600 access points as mesh nodes, and the pair I
1723 bought arrived on Friday. Here are my notes on how to set up the
1724 MR3040 as a mesh node using
1725 <a href="http://www.openwrt.org/">OpenWrt</a>.</p>
1726
1727 <p>I started by following the instructions on the OpenWRT wiki for
1728 <a href="http://wiki.openwrt.org/toh/tp-link/tl-mr3040">TL-MR3040</a>,
1729 and downloaded
1730 <a href="http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-tl-mr3040-v2-squashfs-factory.bin">the
1731 recommended firmware image</a>
1732 (openwrt-ar71xx-generic-tl-mr3040-v2-squashfs-factory.bin) and
1733 uploaded it into the original web interface. The flashing went fine,
1734 and the machine was available via telnet on the ethernet port. After
1735 logging in and setting the root password, ssh was available and I
1736 could start to set it up as a batman-adv mesh node.</p>
1737
1738 <p>I started off by reading the instructions from
1739 <a href="http://wirelessafrica.meraka.org.za/wiki/index.php?title=Antoine's_Research">Wireless
1740 Africa</a>, which had quite a lot of useful information, but
1741 eventually I followed the recipe from the Open Mesh wiki for
1742 <a href="http://www.open-mesh.org/projects/batman-adv/wiki/Batman-adv-openwrt-config">using
1743 batman-adv on OpenWrt</a>. A small snag was the fact that the
1744 <tt>opkg install kmod-batman-adv</tt> command did not work as it
1745 should. The batman-adv kernel module would fail to load because its
1746 dependency crc16 was not already loaded. I
1747 <a href="https://dev.openwrt.org/ticket/14452">reported the bug</a> to
1748 the openwrt project and hope it will be fixed soon. But the problem
1749 only seem to affect initial testing of batman-adv, as configuration
1750 seem to work when booting from scratch.</p>
1751
1752 <p>The setup is done using files in /etc/config/. I did not bridge
1753 the Ethernet and mesh interfaces this time, to be able to hook up the
1754 box on my local network and log into it for configuration updates.
1755 The following files were changed and look like this after modifying
1756 them:</p>
1757
1758 <p><tt>/etc/config/network</tt></p>
1759
1760 <pre>
1761
1762 config interface 'loopback'
1763 option ifname 'lo'
1764 option proto 'static'
1765 option ipaddr '127.0.0.1'
1766 option netmask '255.0.0.0'
1767
1768 config globals 'globals'
1769 option ula_prefix 'fdbf:4c12:3fed::/48'
1770
1771 config interface 'lan'
1772 option ifname 'eth0'
1773 option type 'bridge'
1774 option proto 'dhcp'
1775 option ipaddr '192.168.1.1'
1776 option netmask '255.255.255.0'
1777 option hostname 'tl-mr3040'
1778 option ip6assign '60'
1779
1780 config interface 'mesh'
1781 option ifname 'adhoc0'
1782 option mtu '1528'
1783 option proto 'batadv'
1784 option mesh 'bat0'
1785 </pre>
1786
1787 <p><tt>/etc/config/wireless</tt></p>
1788 <pre>
1789
1790 config wifi-device 'radio0'
1791 option type 'mac80211'
1792 option channel '11'
1793 option hwmode '11ng'
1794 option path 'platform/ar933x_wmac'
1795 option htmode 'HT20'
1796 list ht_capab 'SHORT-GI-20'
1797 list ht_capab 'SHORT-GI-40'
1798 list ht_capab 'RX-STBC1'
1799 list ht_capab 'DSSS_CCK-40'
1800 option disabled '0'
1801
1802 config wifi-iface 'wmesh'
1803 option device 'radio0'
1804 option ifname 'adhoc0'
1805 option network 'mesh'
1806 option encryption 'none'
1807 option mode 'adhoc'
1808 option bssid '02:BA:00:00:00:01'
1809 option ssid 'meshfx@hackeriet'
1810 </pre>
1811 <p><tt>/etc/config/batman-adv</tt></p>
1812 <pre>
1813
1814 config 'mesh' 'bat0'
1815 option interfaces 'adhoc0'
1816 option 'aggregated_ogms'
1817 option 'ap_isolation'
1818 option 'bonding'
1819 option 'fragmentation'
1820 option 'gw_bandwidth'
1821 option 'gw_mode'
1822 option 'gw_sel_class'
1823 option 'log_level'
1824 option 'orig_interval'
1825 option 'vis_mode'
1826 option 'bridge_loop_avoidance'
1827 option 'distributed_arp_table'
1828 option 'network_coding'
1829 option 'hop_penalty'
1830
1831 # yet another batX instance
1832 # config 'mesh' 'bat5'
1833 # option 'interfaces' 'second_mesh'
1834 </pre>
1835
1836 <p>The mesh node is now operational. I have yet to test its range,
1837 but I hope it is good. I have not yet tested the TP-Link 3600 box
1838 still wrapped up in plastic.</p>
1839
1840 </div>
1841 <div class="tags">
1842
1843
1844 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
1845
1846
1847 </div>
1848 </div>
1849 <div class="padding"></div>
1850
1851 <div class="entry">
1852 <div class="title">
1853 <a href="http://people.skolelinux.org/pere/blog/Debian_init_d_boot_script_example_for_rsyslog.html">Debian init.d boot script example for rsyslog</a>
1854 </div>
1855 <div class="date">
1856 2nd November 2013
1857 </div>
1858 <div class="body">
1859 <p>If one of the points of switching to a new init system in Debian is
1860 <a href="http://thomas.goirand.fr/blog/?p=147">to get rid of huge
1861 init.d scripts</a>, I doubt we need to switch away from sysvinit and
1862 init.d scripts at all. Here is an example init.d script, ie a rewrite
1863 of /etc/init.d/rsyslog:</p>
1864
1865 <p><pre>
1866 #!/lib/init/init-d-script
1867 ### BEGIN INIT INFO
1868 # Provides: rsyslog
1869 # Required-Start: $remote_fs $time
1870 # Required-Stop: umountnfs $time
1871 # X-Stop-After: sendsigs
1872 # Default-Start: 2 3 4 5
1873 # Default-Stop: 0 1 6
1874 # Short-Description: enhanced syslogd
1875 # Description: Rsyslog is an enhanced multi-threaded syslogd.
1876 # It is quite compatible to stock sysklogd and can be
1877 # used as a drop-in replacement.
1878 ### END INIT INFO
1879 DESC="enhanced syslogd"
1880 DAEMON=/usr/sbin/rsyslogd
1881 </pre></p>
1882
1883 <p>Pretty minimalistic to me... For the record, the original sysv-rc
1884 script was 137 lines, and the above is just 15 lines, most of it meta
1885 info/comments.</p>
1886
1887 <p>How to do this, you ask? Well, one create a new script
1888 /lib/init/init-d-script looking something like this:
1889
1890 <p><pre>
1891 #!/bin/sh
1892
1893 # Define LSB log_* functions.
1894 # Depend on lsb-base (>= 3.2-14) to ensure that this file is present
1895 # and status_of_proc is working.
1896 . /lib/lsb/init-functions
1897
1898 #
1899 # Function that starts the daemon/service
1900
1901 #
1902 do_start()
1903 {
1904 # Return
1905 # 0 if daemon has been started
1906 # 1 if daemon was already running
1907 # 2 if daemon could not be started
1908 start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
1909 || return 1
1910 start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
1911 $DAEMON_ARGS \
1912 || return 2
1913 # Add code here, if necessary, that waits for the process to be ready
1914 # to handle requests from services started subsequently which depend
1915 # on this one. As a last resort, sleep for some time.
1916 }
1917
1918 #
1919 # Function that stops the daemon/service
1920 #
1921 do_stop()
1922 {
1923 # Return
1924 # 0 if daemon has been stopped
1925 # 1 if daemon was already stopped
1926 # 2 if daemon could not be stopped
1927 # other if a failure occurred
1928 start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
1929 RETVAL="$?"
1930 [ "$RETVAL" = 2 ] && return 2
1931 # Wait for children to finish too if this is a daemon that forks
1932 # and if the daemon is only ever run from this initscript.
1933 # If the above conditions are not satisfied then add some other code
1934 # that waits for the process to drop all resources that could be
1935 # needed by services started subsequently. A last resort is to
1936 # sleep for some time.
1937 start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
1938 [ "$?" = 2 ] && return 2
1939 # Many daemons don't delete their pidfiles when they exit.
1940 rm -f $PIDFILE
1941 return "$RETVAL"
1942 }
1943
1944 #
1945 # Function that sends a SIGHUP to the daemon/service
1946 #
1947 do_reload() {
1948 #
1949 # If the daemon can reload its configuration without
1950 # restarting (for example, when it is sent a SIGHUP),
1951 # then implement that here.
1952 #
1953 start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
1954 return 0
1955 }
1956
1957 SCRIPTNAME=$1
1958 scriptbasename="$(basename $1)"
1959 echo "SN: $scriptbasename"
1960 if [ "$scriptbasename" != "init-d-library" ] ; then
1961 script="$1"
1962 shift
1963 . $script
1964 else
1965 exit 0
1966 fi
1967
1968 NAME=$(basename $DAEMON)
1969 PIDFILE=/var/run/$NAME.pid
1970
1971 # Exit if the package is not installed
1972 #[ -x "$DAEMON" ] || exit 0
1973
1974 # Read configuration variable file if it is present
1975 [ -r /etc/default/$NAME ] && . /etc/default/$NAME
1976
1977 # Load the VERBOSE setting and other rcS variables
1978 . /lib/init/vars.sh
1979
1980 case "$1" in
1981 start)
1982 [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
1983 do_start
1984 case "$?" in
1985 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
1986 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
1987 esac
1988 ;;
1989 stop)
1990 [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
1991 do_stop
1992 case "$?" in
1993 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
1994 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
1995 esac
1996 ;;
1997 status)
1998 status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
1999 ;;
2000 #reload|force-reload)
2001 #
2002 # If do_reload() is not implemented then leave this commented out
2003 # and leave 'force-reload' as an alias for 'restart'.
2004 #
2005 #log_daemon_msg "Reloading $DESC" "$NAME"
2006 #do_reload
2007 #log_end_msg $?
2008 #;;
2009 restart|force-reload)
2010 #
2011 # If the "reload" option is implemented then remove the
2012 # 'force-reload' alias
2013 #
2014 log_daemon_msg "Restarting $DESC" "$NAME"
2015 do_stop
2016 case "$?" in
2017 0|1)
2018 do_start
2019 case "$?" in
2020 0) log_end_msg 0 ;;
2021 1) log_end_msg 1 ;; # Old process is still running
2022 *) log_end_msg 1 ;; # Failed to start
2023 esac
2024 ;;
2025 *)
2026 # Failed to stop
2027 log_end_msg 1
2028 ;;
2029 esac
2030 ;;
2031 *)
2032 echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
2033 exit 3
2034 ;;
2035 esac
2036
2037 :
2038 </pre></p>
2039
2040 <p>It is based on /etc/init.d/skeleton, and could be improved quite a
2041 lot. I did not really polish the approach, so it might not always
2042 work out of the box, but you get the idea. I did not try very hard to
2043 optimize it nor make it more robust either.</p>
2044
2045 <p>A better argument for switching init system in Debian than reducing
2046 the size of init scripts (which is a good thing to do anyway), is to
2047 get boot system that is able to handle the kernel events sensibly and
2048 robustly, and do not depend on the boot to run sequentially. The boot
2049 and the kernel have not behaved sequentially in years.</p>
2050
2051 </div>
2052 <div class="tags">
2053
2054
2055 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>.
2056
2057
2058 </div>
2059 </div>
2060 <div class="padding"></div>
2061
2062 <div class="entry">
2063 <div class="title">
2064 <a href="http://people.skolelinux.org/pere/blog/Browser_plugin_for_SPICE__spice_xpi__uploaded_to_Debian.html">Browser plugin for SPICE (spice-xpi) uploaded to Debian</a>
2065 </div>
2066 <div class="date">
2067 1st November 2013
2068 </div>
2069 <div class="body">
2070 <p><a href="http://www.spice-space.org/">The SPICE protocol</a> for
2071 remote display access is the preferred solution with oVirt and RedHat
2072 Enterprise Virtualization, and I was sad to discover the other day
2073 that the browser plugin needed to use these systems seamlessly was
2074 missing in Debian. The <a href="http://bugs.debian.org/668284">request
2075 for a package</a> was from 2012-04-10 with no progress since
2076 2013-04-01, so I decided to wrap up a package based on the great work
2077 from Cajus Pollmeier and put it in a collab-maint maintained git
2078 repository to get a package I could use. I would very much like
2079 others to help me maintain the package (or just take over, I do not
2080 mind), but as no-one had volunteered so far, I just uploaded it to
2081 NEW. I hope it will be available in Debian in a few days.</p>
2082
2083 <p>The source is now available from
2084 <a href="http://anonscm.debian.org/gitweb/?p=collab-maint/spice-xpi.git;a=summary">http://anonscm.debian.org/gitweb/?p=collab-maint/spice-xpi.git;a=summary</a>.</p>
2085
2086 </div>
2087 <div class="tags">
2088
2089
2090 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>.
2091
2092
2093 </div>
2094 </div>
2095 <div class="padding"></div>
2096
2097 <div class="entry">
2098 <div class="title">
2099 <a href="http://people.skolelinux.org/pere/blog/Teaching_vmdebootstrap_to_create_Raspberry_Pi_SD_card_images.html">Teaching vmdebootstrap to create Raspberry Pi SD card images</a>
2100 </div>
2101 <div class="date">
2102 27th October 2013
2103 </div>
2104 <div class="body">
2105 <p>The
2106 <a href="http://packages.qa.debian.org/v/vmdebootstrap.html">vmdebootstrap</a>
2107 program is a a very nice system to create virtual machine images. It
2108 create a image file, add a partition table, mount it and run
2109 debootstrap in the mounted directory to create a Debian system on a
2110 stick. Yesterday, I decided to try to teach it how to make images for
2111 <a href="https://wiki.debian.org/RaspberryPi">Raspberry Pi</a>, as part
2112 of a plan to simplify the build system for
2113 <a href="https://wiki.debian.org/FreedomBox">the FreedomBox
2114 project</a>. The FreedomBox project already uses vmdebootstrap for
2115 the virtualbox images, but its current build system made multistrap
2116 based system for Dreamplug images, and it is lacking support for
2117 Raspberry Pi.</p>
2118
2119 <p>Armed with the knowledge on how to build "foreign" (aka non-native
2120 architecture) chroots for Raspberry Pi, I dived into the vmdebootstrap
2121 code and adjusted it to be able to build armel images on my amd64
2122 Debian laptop. I ended up giving vmdebootstrap five new options,
2123 allowing me to replicate the image creation process I use to make
2124 <a href="http://people.skolelinux.org/pere/blog/A_Raspberry_Pi_based_batman_adv_Mesh_network_node.html">Debian
2125 Jessie based mesh node images for the Raspberry Pi</a>. First, the
2126 <tt>--foreign /path/to/binfm_handler</tt> option tell vmdebootstrap to
2127 call debootstrap with --foreign and to copy the handler into the
2128 generated chroot before running the second stage. This allow
2129 vmdebootstrap to create armel images on an amd64 host. Next I added
2130 two new options <tt>--bootsize size</tt> and <tt>--boottype
2131 fstype</tt> to teach it to create a separate /boot/ partition with the
2132 given file system type, allowing me to create an image with a vfat
2133 partition for the /boot/ stuff. I also added a <tt>--variant
2134 variant</tt> option to allow me to create smaller images without the
2135 Debian base system packages installed. Finally, I added an option
2136 <tt>--no-extlinux</tt> to tell vmdebootstrap to not install extlinux
2137 as a boot loader. It is not needed on the Raspberry Pi and probably
2138 most other non-x86 architectures. The changes were accepted by the
2139 upstream author of vmdebootstrap yesterday and today, and is now
2140 available from
2141 <a href="http://git.liw.fi/cgi-bin/cgit/cgit.cgi/vmdebootstrap/">the
2142 upstream project page</a>.</p>
2143
2144 <p>To use it to build a Raspberry Pi image using Debian Jessie, first
2145 create a small script (the customize script) to add the non-free
2146 binary blob needed to boot the Raspberry Pi and the APT source
2147 list:</p>
2148
2149 <p><pre>
2150 #!/bin/sh
2151 set -e # Exit on first error
2152 rootdir="$1"
2153 cd "$rootdir"
2154 cat &lt;&lt;EOF > etc/apt/sources.list
2155 deb http://http.debian.net/debian/ jessie main contrib non-free
2156 EOF
2157 # Install non-free binary blob needed to boot Raspberry Pi. This
2158 # install a kernel somewhere too.
2159 wget https://raw.github.com/Hexxeh/rpi-update/master/rpi-update \
2160 -O $rootdir/usr/bin/rpi-update
2161 chmod a+x $rootdir/usr/bin/rpi-update
2162 mkdir -p $rootdir/lib/modules
2163 touch $rootdir/boot/start.elf
2164 chroot $rootdir rpi-update
2165 </pre></p>
2166
2167 <p>Next, fetch the latest vmdebootstrap script and call it like this
2168 to build the image:</p>
2169
2170 <pre>
2171 sudo ./vmdebootstrap \
2172 --variant minbase \
2173 --arch armel \
2174 --distribution jessie \
2175 --mirror http://http.debian.net/debian \
2176 --image test.img \
2177 --size 600M \
2178 --bootsize 64M \
2179 --boottype vfat \
2180 --log-level debug \
2181 --verbose \
2182 --no-kernel \
2183 --no-extlinux \
2184 --root-password raspberry \
2185 --hostname raspberrypi \
2186 --foreign /usr/bin/qemu-arm-static \
2187 --customize `pwd`/customize \
2188 --package netbase \
2189 --package git-core \
2190 --package binutils \
2191 --package ca-certificates \
2192 --package wget \
2193 --package kmod
2194 </pre></p>
2195
2196 <p>The list of packages being installed are the ones needed by
2197 rpi-update to make the image bootable on the Raspberry Pi, with the
2198 exception of netbase, which is needed by debootstrap to find
2199 /etc/hosts with the minbase variant. I really wish there was a way to
2200 set up an Raspberry Pi using only packages in the Debian archive, but
2201 that is not possible as far as I know, because it boots from the GPU
2202 using a non-free binary blob.</p>
2203
2204 <p>The build host need debootstrap, kpartx and qemu-user-static and
2205 probably a few others installed. I have not checked the complete
2206 build dependency list.</p>
2207
2208 <p>The resulting image will not use the hardware floating point unit
2209 on the Raspberry PI, because the armel architecture in Debian is not
2210 optimized for that use. So the images created will be a bit slower
2211 than <a href="http://www.raspbian.org/">Raspbian</a> based images.</p>
2212
2213 </div>
2214 <div class="tags">
2215
2216
2217 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox</a>, <a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network</a>.
2218
2219
2220 </div>
2221 </div>
2222 <div class="padding"></div>
2223
2224 <div class="entry">
2225 <div class="title">
2226 <a href="http://people.skolelinux.org/pere/blog/A_Raspberry_Pi_based_batman_adv_Mesh_network_node.html">A Raspberry Pi based batman-adv Mesh network node</a>
2227 </div>
2228 <div class="date">
2229 21st October 2013
2230 </div>
2231 <div class="body">
2232 <p>The last few days I have been experimenting with
2233 <a href="http://www.open-mesh.org/projects/batman-adv/wiki">the
2234 batman-adv mesh technology</a>. I want to gain some experience to see
2235 if it will fit <a href="https://wiki.debian.org/FreedomBox">the
2236 Freedombox project</a>, and together with my neighbors try to build a
2237 mesh network around the park where I live. Batman-adv is a layer 2
2238 mesh system ("ethernet" in other words), where the mesh network appear
2239 as if all the mesh clients are connected to the same switch.</p>
2240
2241 <p>My hardware of choice was the Linksys WRT54GL routers I had lying
2242 around, but I've been unable to get them working with batman-adv. So
2243 instead, I started playing with a
2244 <a href="http://www.raspberrypi.org/">Raspberry Pi</a>, and tried to
2245 get it working as a mesh node. My idea is to use it to create a mesh
2246 node which function as a switch port, where everything connected to
2247 the Raspberry Pi ethernet plug is connected (bridged) to the mesh
2248 network. This allow me to hook a wifi base station like the Linksys
2249 WRT54GL to the mesh by plugging it into a Raspberry Pi, and allow
2250 non-mesh clients to hook up to the mesh. This in turn is useful for
2251 Android phones using <a href="http://servalproject.org/">the Serval
2252 Project</a> voip client, allowing every one around the playground to
2253 phone and message each other for free. The reason is that Android
2254 phones do not see ad-hoc wifi networks (they are filtered away from
2255 the GUI view), and can not join the mesh without being rooted. But if
2256 they are connected using a normal wifi base station, they can talk to
2257 every client on the local network.</p>
2258
2259 <p>To get this working, I've created a debian package
2260 <a href="https://github.com/petterreinholdtsen/meshfx-node">meshfx-node</a>
2261 and a script
2262 <a href="https://github.com/petterreinholdtsen/meshfx-node/blob/master/build-rpi-mesh-node">build-rpi-mesh-node</a>
2263 to create the Raspberry Pi boot image. I'm using Debian Jessie (and
2264 not Raspbian), to get more control over the packages available.
2265 Unfortunately a huge binary blob need to be inserted into the boot
2266 image to get it booting, but I'll ignore that for now. Also, as
2267 Debian lack support for the CPU features available in the Raspberry
2268 Pi, the system do not use the hardware floating point unit. I hope
2269 the routing performance isn't affected by the lack of hardware FPU
2270 support.</p>
2271
2272 <p>To create an image, run the following with a sudo enabled user
2273 after inserting the target SD card into the build machine:</p>
2274
2275 <p><pre>
2276 % wget -O build-rpi-mesh-node \
2277 https://raw.github.com/petterreinholdtsen/meshfx-node/master/build-rpi-mesh-node
2278 % sudo bash -x ./build-rpi-mesh-node > build.log 2>&1
2279 % dd if=/root/rpi/rpi_basic_jessie_$(date +%Y%m%d).img of=/dev/mmcblk0 bs=1M
2280 %
2281 </pre></p>
2282
2283 <p>Booting with the resulting SD card on a Raspberry PI with a USB
2284 wifi card inserted should give you a mesh node. At least it does for
2285 me with a the wifi card I am using. The default mesh settings are the
2286 ones used by the Oslo mesh project at Hackeriet, as I mentioned in
2287 <a href="http://people.skolelinux.org/pere/blog/Oslo_community_mesh_network___with_NUUG_and_Hackeriet_at_Hausmania.html">an
2288 earlier blog post about this mesh testing</a>.</p>
2289
2290 <p>The mesh node was not horribly expensive either. I bought
2291 everything over the counter in shops nearby. If I had ordered online
2292 from the lowest bidder, the price should be significantly lower:</p>
2293
2294 <p><table>
2295
2296 <tr><th>Supplier</th><th>Model</th><th>NOK</th></tr>
2297 <tr><td>Teknikkmagasinet</td><td>Raspberry Pi model B</td><td>349.90</td></tr>
2298 <tr><td>Teknikkmagasinet</td><td>Raspberry Pi type B case</td><td>99.90</td></tr>
2299 <tr><td>Lefdal</td><td>Jensen Air:Link 25150</td><td>295.-</td></tr>
2300 <tr><td>Clas Ohlson</td><td>Kingston 16 GB SD card</td><td>199.-</td></tr>
2301 <tr><td>Total cost</td><td></td><td>943.80</td></tr>
2302
2303 </table></p>
2304
2305 <p>Now my mesh network at home consist of one laptop in the basement
2306 connected to my production network, one Raspberry Pi node on the 1th
2307 floor that can be seen by my neighbor across the park, and one
2308 play-node I use to develop the image building script. And some times
2309 I hook up my work horse laptop to the mesh to test it. I look forward
2310 to figuring out what kind of latency the batman-adv setup will give,
2311 and how much packet loss we will experience around the park. :)</p>
2312
2313 </div>
2314 <div class="tags">
2315
2316
2317 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox</a>, <a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
2318
2319
2320 </div>
2321 </div>
2322 <div class="padding"></div>
2323
2324 <div class="entry">
2325 <div class="title">
2326 <a href="http://people.skolelinux.org/pere/blog/Perl_library_to_control_the_Spykee_robot_moved_to_github.html">Perl library to control the Spykee robot moved to github</a>
2327 </div>
2328 <div class="date">
2329 19th October 2013
2330 </div>
2331 <div class="body">
2332 <p>Back in 2010, I created a Perl library to talk to
2333 <a href="http://en.wikipedia.org/wiki/Spykee">the Spykee robot</a>
2334 (with two belts, wifi, USB and Linux) and made it available from my
2335 web page. Today I concluded that it should move to a site that is
2336 easier to use to cooperate with others, and moved it to github. If
2337 you got a Spykee robot, you might want to check out
2338 <a href="https://github.com/petterreinholdtsen/libspykee-perl">the
2339 libspykee-perl github repository</a>.</p>
2340
2341 </div>
2342 <div class="tags">
2343
2344
2345 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>.
2346
2347
2348 </div>
2349 </div>
2350 <div class="padding"></div>
2351
2352 <div class="entry">
2353 <div class="title">
2354 <a href="http://people.skolelinux.org/pere/blog/Good_causes__Debian_Outreach_Program_for_Women__EFF_documenting_the_spying_and_Open_access_in_Norway.html">Good causes: Debian Outreach Program for Women, EFF documenting the spying and Open access in Norway</a>
2355 </div>
2356 <div class="date">
2357 15th October 2013
2358 </div>
2359 <div class="body">
2360 <p>The last few days I came across a few good causes that should get
2361 wider attention. I recommend signing and donating to each one of
2362 these. :)</p>
2363
2364 <p>Via <a href="http://www.debian.org/News/weekly/2013/18/">Debian
2365 Project News for 2013-10-14</a> I came across the Outreach Program for
2366 Women program which is a Google Summer of Code like initiative to get
2367 more women involved in free software. One debian sponsor has offered
2368 to match <a href="http://debian.ch/opw2013">any donation done to Debian
2369 earmarked</a> for this initiative. I donated a few minutes ago, and
2370 hope you will to. :)</p>
2371
2372 <p>And the Electronic Frontier Foundation just announced plans to
2373 create <a href="https://supporters.eff.org/donate/nsa-videos">video
2374 documentaries about the excessive spying</a> on every Internet user that
2375 take place these days, and their need to fund the work. I've already
2376 donated. Are you next?</p>
2377
2378 <p>For my Norwegian audience, the organisation Studentenes og
2379 Akademikernes Internasjonale Hjelpefond is collecting signatures for a
2380 statement under the heading
2381 <a href="http://saih.no/Bloggers_United/">Bloggers United for Open
2382 Access</a> for those of us asking for more focus on open access in the
2383 Norwegian government. So far 499 signatures. I hope you will sign it
2384 too.</p>
2385
2386 </div>
2387 <div class="tags">
2388
2389
2390 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett</a>, <a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance</a>.
2391
2392
2393 </div>
2394 </div>
2395 <div class="padding"></div>
2396
2397 <div class="entry">
2398 <div class="title">
2399 <a href="http://people.skolelinux.org/pere/blog/Oslo_community_mesh_network___with_NUUG_and_Hackeriet_at_Hausmania.html">Oslo community mesh network - with NUUG and Hackeriet at Hausmania</a>
2400 </div>
2401 <div class="date">
2402 11th October 2013
2403 </div>
2404 <div class="body">
2405 <p>Wireless mesh networks are self organising and self healing
2406 networks that can be used to connect computers across small and large
2407 areas, depending on the radio technology used. Normal wifi equipment
2408 can be used to create home made radio networks, and there are several
2409 successful examples like
2410 <a href="http://www.freifunk.net/">Freifunk</a> and
2411 <a href="http://www.awmn.net/">Athens Wireless Metropolitan Network</a>
2412 (see
2413 <a href="http://en.wikipedia.org/wiki/List_of_wireless_community_networks_by_region#Greece">wikipedia
2414 for a large list</a>) around the globe. To give you an idea how it
2415 work, check out the nice overview of the Kiel Freifunk community which
2416 can be seen from their
2417 <a href="http://freifunk.in-kiel.de/ffmap/nodes.html">dynamically
2418 updated node graph and map</a>, where one can see how the mesh nodes
2419 automatically handle routing and recover from nodes disappearing.
2420 There is also a small community mesh network group in Oslo, Norway,
2421 and that is the main topic of this blog post.</p>
2422
2423 <p>I've wanted to check out mesh networks for a while now, and hoped
2424 to do it as part of my involvement with the <a
2425 href="http://www.nuug.no/">NUUG member organisation</a> community, and
2426 my recent involvement in
2427 <a href="https://wiki.debian.org/FreedomBox">the Freedombox project</a>
2428 finally lead me to give mesh networks some priority, as I suspect a
2429 Freedombox should use mesh networks to connect neighbours and family
2430 when possible, given that most communication between people are
2431 between those nearby (as shown for example by research on Facebook
2432 communication patterns). It also allow people to communicate without
2433 any central hub to tap into for those that want to listen in on the
2434 private communication of citizens, which have become more and more
2435 important over the years.</p>
2436
2437 <p>So far I have only been able to find one group of people in Oslo
2438 working on community mesh networks, over at the hack space
2439 <a href="http://hackeriet.no/">Hackeriet</a> at Husmania. They seem to
2440 have started with some Freifunk based effort using OLSR, called
2441 <a href="http://oslo.freifunk.net/index.php?title=Main_Page">the Oslo
2442 Freifunk project</a>, but that effort is now dead and the people
2443 behind it have moved on to a batman-adv based system called
2444 <a href="http://meshfx.org/trac">meshfx</a>. Unfortunately the wiki
2445 site for the Oslo Freifunk project is no longer possible to update to
2446 reflect this fact, so the old project page can't be updated to point to
2447 the new project. A while back, the people at Hackeriet invited people
2448 from the Freifunk community to Oslo to talk about mesh networks. I
2449 came across this video where Hans Jørgen Lysglimt interview the
2450 speakers about this talk (from
2451 <a href="https://www.youtube.com/watch?v=N2Kd7CLkhSY">youtube</a>):</p>
2452
2453 <p><iframe width="420" height="315" src="https://www.youtube.com/embed/N2Kd7CLkhSY" frameborder="0" allowfullscreen></iframe></p>
2454
2455 <p>I mentioned OLSR and batman-adv, which are mesh routing protocols.
2456 There are heaps of different protocols, and I am still struggling to
2457 figure out which one would be "best" for some definitions of best, but
2458 given that the community mesh group in Oslo is so small, I believe it
2459 is best to hook up with the existing one instead of trying to create a
2460 completely different setup, and thus I have decided to focus on
2461 batman-adv for now. It sure help me to know that the very cool
2462 <a href="http://www.servalproject.org/">Serval project in Australia</a>
2463 is using batman-adv as their meshing technology when it create a self
2464 organizing and self healing telephony system for disaster areas and
2465 less industrialized communities. Check out this cool video presenting
2466 that project (from
2467 <a href="https://www.youtube.com/watch?v=30qNfzJCQOA">youtube</a>):</p>
2468
2469 <p><iframe width="560" height="315" src="https://www.youtube.com/embed/30qNfzJCQOA" frameborder="0" allowfullscreen></iframe></p>
2470
2471 <p>According to the wikipedia page on
2472 <a href="http://en.wikipedia.org/wiki/Wireless_mesh_network">Wireless
2473 mesh network</a> there are around 70 competing schemes for routing
2474 packets across mesh networks, and OLSR, B.A.T.M.A.N. and
2475 B.A.T.M.A.N. advanced are protocols used by several free software
2476 based community mesh networks.</p>
2477
2478 <p>The batman-adv protocol is a bit special, as it provide layer 2
2479 (as in ethernet ) routing, allowing ipv4 and ipv6 to work on the same
2480 network. One way to think about it is that it provide a mesh based
2481 vlan you can bridge to or handle like any other vlan connected to your
2482 computer. The required drivers are already in the Linux kernel at
2483 least since Debian Wheezy, and it is fairly easy to set up. A
2484 <a href="http://www.open-mesh.org/projects/batman-adv/wiki/Quick-start-guide">good
2485 introduction</a> is available from the Open Mesh project. These are
2486 the key settings needed to join the Oslo meshfx network:</p>
2487
2488 <p><table>
2489 <tr><th>Setting</th><th>Value</th></tr>
2490 <tr><td>Protocol / kernel module</td><td>batman-adv</td></tr>
2491 <tr><td>ESSID</td><td>meshfx@hackeriet</td></tr>
2492 <td>Channel / Frequency</td><td>11 / 2462</td></tr>
2493 <td>Cell ID</td><td>02:BA:00:00:00:01</td>
2494 </table></p>
2495
2496 <p>The reason for setting ad-hoc wifi Cell ID is to work around bugs
2497 in firmware used in wifi card and wifi drivers. (See a nice post from
2498 VillageTelco about
2499 "<a href="http://tiebing.blogspot.no/2009/12/ad-hoc-cell-splitting-re-post-original.html">Information
2500 about cell-id splitting, stuck beacons, and failed IBSS merges!</a>
2501 for details.) When these settings are activated and you have some
2502 other mesh node nearby, your computer will be connected to the mesh
2503 network and can communicate with any mesh node that is connected to
2504 any of the nodes in your network of nodes. :)</p>
2505
2506 <p>My initial plan was to reuse my old Linksys WRT54GL as a mesh node,
2507 but that seem to be very hard, as I have not been able to locate a
2508 firmware supporting batman-adv. If anyone know how to use that old
2509 wifi access point with batman-adv these days, please let me know.</p>
2510
2511 <p>If you find this project interesting and want to join, please join
2512 us on IRC, either channel
2513 <a href="irc://irc.freenode.net/#oslohackerspace">#oslohackerspace</a>
2514 or <a href="irc://irc.freenode.net/#nuug">#nuug</a> on
2515 irc.freenode.net.</p>
2516
2517 <p>While investigating mesh networks in Oslo, I came across an old
2518 research paper from the university of Stavanger and Telenor Research
2519 and Innovation called
2520 <a href="http://folk.uio.no/paalee/publications/netrel-egeland-iswcs-2008.pdf">The
2521 reliability of wireless backhaul mesh networks</a> and elsewhere
2522 learned that Telenor have been experimenting with mesh networks at
2523 Grünerløkka in Oslo. So mesh networks are also interesting for
2524 commercial companies, even though Telenor discovered that it was hard
2525 to figure out a good business plan for mesh networking and as far as I
2526 know have closed down the experiment. Perhaps Telenor or others would
2527 be interested in a cooperation?</p>
2528
2529 <p><strong>Update 2013-10-12</strong>: I was just
2530 <a href="http://lists.alioth.debian.org/pipermail/freedombox-discuss/2013-October/005900.html">told
2531 by the Serval project developers</a> that they no longer use
2532 batman-adv (but are compatible with it), but their own crypto based
2533 mesh system.</p>
2534
2535 </div>
2536 <div class="tags">
2537
2538
2539 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox</a>, <a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
2540
2541
2542 </div>
2543 </div>
2544 <div class="padding"></div>
2545
2546 <div class="entry">
2547 <div class="title">
2548 <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>
2549 </div>
2550 <div class="date">
2551 8th October 2013
2552 </div>
2553 <div class="body">
2554 <p>The other day I was pleased and surprised to discover that Marcelo
2555 Salvador had published a
2556 <a href="https://www.youtube.com/watch?v=w-GgpdqgLFc">video on
2557 Youtube</a> showing how to install the standalone Debian Edu /
2558 Skolelinux profile. This is the profile intended for use at home or
2559 on laptops that should not be integrated into the provided network
2560 services (no central home directory, no Kerberos / LDAP directory etc,
2561 in other word a single user machine). The result is 11 minutes long,
2562 and show some user applications (seem to be rather randomly picked).
2563 Missed a few of my favorites like celestia, planets and chromium
2564 showing the <a href="http://www.zygotebody.com/">Zygote Body 3D model
2565 of the human body</a>, but I guess he did not know about those or find
2566 other programs more interesting. :) And the video do not show the
2567 advantages I believe is one of the most valuable featuers in Debian
2568 Edu, its central school server making it possible to run hundreds of
2569 computers without hard drives by installing one central
2570 <a href="http://www.ltsp.org/">LTSP server</a>.</p>
2571
2572 <p>Anyway, check out the video, embedded below and linked to above:</p>
2573
2574 <iframe width="420" height="315" src="http://www.youtube.com/embed/w-GgpdqgLFc" frameborder="0" allowfullscreen></iframe>
2575
2576 <p>Are there other nice videos demonstrating Skolelinux? Please let
2577 me know. :)</p>
2578
2579 </div>
2580 <div class="tags">
2581
2582
2583 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>.
2584
2585
2586 </div>
2587 </div>
2588 <div class="padding"></div>
2589
2590 <div class="entry">
2591 <div class="title">
2592 <a href="http://people.skolelinux.org/pere/blog/Finally__Debian_Edu_Wheezy_is_released_today_.html">Finally, Debian Edu Wheezy is released today!</a>
2593 </div>
2594 <div class="date">
2595 29th September 2013
2596 </div>
2597 <div class="body">
2598 <p>A few hours ago, the announcement for the first stable release of
2599 Debian Edu Wheezy went out from the Debian publicity team. The
2600 complete announcement text can be found at
2601 <a href="http://www.debian.org/News/2013/20130928">the Debian News
2602 section</a>, translated to several languages. Please check it out.</p>
2603
2604 <p>There is one minor known problem that we will fix very soon. One
2605 can not install a amd64 Thin Client Server using PXE, as the /var/
2606 partition is too small. A workaround is to extend the partition (use
2607 lvresize + resize2fs in tty 2 while installing).</p>
2608
2609 </div>
2610 <div class="tags">
2611
2612
2613 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>.
2614
2615
2616 </div>
2617 </div>
2618 <div class="padding"></div>
2619
2620 <div class="entry">
2621 <div class="title">
2622 <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>
2623 </div>
2624 <div class="date">
2625 27th September 2013
2626 </div>
2627 <div class="body">
2628 <p>The <a href="http://www.freedomboxfoundation.org/">Freedombox
2629 project</a> have been going on for a while, and have presented the
2630 vision, ideas and solution several places. Here is a little
2631 collection of videos of talks and presentation of the project.</p>
2632
2633 <ul>
2634
2635 <li><a href="http://www.youtube.com/watch?v=ukvUz5taxvA">FreedomBox -
2636 2,5 minute marketing film</a> (Youtube)</li>
2637
2638 <li><a href="http://www.youtube.com/watch?v=SzW25QTVWsE">Eben Moglen
2639 discusses the Freedombox on CBS news 2011</a> (Youtube)</li>
2640
2641 <li><a href="http://www.youtube.com/watch?v=Ae8SZbxfE0g">Eben Moglen -
2642 Freedom in the Cloud - Software Freedom, Privacy and and Security for
2643 Web 2.0 and Cloud computing at ISOC-NY Public Meeting 2010</a>
2644 (Youtube)</li>
2645
2646 <li><a href="http://www.youtube.com/watch?v=vNaIji_3xBE">Fosdem 2011
2647 Keynote by Eben Moglen presenting the Freedombox</a> (Youtube)</li>
2648
2649 <li><a href="http://www.youtube.com/watch?v=9bDDUyJSQ9s">Presentation of
2650 the Freedombox by James Vasile at Elevate in Gratz 2011</a> (Youtube)</li>
2651
2652 <li><a href="http://www.youtube.com/watch?v=zQTmnk27g9s"> Freedombox -
2653 Discovery, Identity, and Trust by Nick Daly at Freedombox Hackfest New
2654 York City in 2012</a> (Youtube)</li>
2655
2656 <li><a href="http://www.youtube.com/watch?v=tkbSB4Ba7Ck">Introduction
2657 to the Freedombox at Freedombox Hackfest New York City in 2012</a>
2658 (Youtube)</li>
2659
2660 <li><a href="http://www.youtube.com/watch?v=z-P2Jaeg0aQ">Freedom, Out
2661 of the Box! by Bdale Garbee at linux.conf.au Ballarat, 2012</a> (Youtube) </li>
2662
2663 <li><a href="https://archive.fosdem.org/2013/schedule/event/freedombox/">Freedombox
2664 1.0 by Eben Moglen and Bdale Garbee at Fosdem 2013</a> (FOSDEM) </li>
2665
2666 <li><a href="http://www.youtube.com/watch?v=e1LpYX2zVYg">What is the
2667 FreedomBox today by Bdale Garbee at Debconf13 in Vaumarcus
2668 2013</a> (Youtube)</li>
2669
2670 </ul>
2671
2672 <p>A larger list is available from
2673 <a href="https://wiki.debian.org/FreedomBox/TalksAndPresentations">the
2674 Freedombox Wiki</a>.</p>
2675
2676 <p>On other news, I am happy to report that Freedombox based on Debian
2677 Jessie is coming along quite well, and soon both Owncloud and using
2678 Tor should be available for testers of the Freedombox solution. :) In
2679 a few weeks I hope everything needed to test it is included in Debian.
2680 The withsqlite package is already in Debian, and the plinth package is
2681 pending in NEW. The third and vital part of that puzzle is the
2682 metapackage/setup framework, which is still pending an upload. Join
2683 us on <a href="irc://irc.debian.org:6667/%23freedombox">IRC
2684 (#freedombox on irc.debian.org)</a> and
2685 <a href="http://lists.alioth.debian.org/mailman/listinfo/freedombox-discuss">the
2686 mailing list</a> if you want to help make this vision come true.</p>
2687
2688 </div>
2689 <div class="tags">
2690
2691
2692 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>.
2693
2694
2695 </div>
2696 </div>
2697 <div class="padding"></div>
2698
2699 <div class="entry">
2700 <div class="title">
2701 <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>
2702 </div>
2703 <div class="date">
2704 16th September 2013
2705 </div>
2706 <div class="body">
2707 <p>The third wheezy based beta release of Debian Edu was wrapped up
2708 today. This is the release announcement from Holger Levsen:</p>
2709
2710 <blockquote>
2711 <p>Hi,</p>
2712
2713 <p>it is my pleasure to announce the third beta release (beta 2 for
2714 short) of <a href="http://www.skolelinux.org/">Debian Edu /
2715 Skolelinux</a> based on Debian Wheezy!</p>
2716
2717 <p>Please test these images extensivly, if no new problems are found
2718 we plan to do this final Debian Edu Wheezy release this coming
2719 weekend. We are not aware of any major problems or blockers in beta2,
2720 if you find something, please notify us immediately!</p>
2721
2722 <p>(More about the remaining steps for the Edu Wheezy release in
2723 another mail to the edu list tonight or tomorrow...)</p>
2724
2725 <p>Noteworthy changes and software updates for Debian Edu 7.1+edu0~b2
2726 compared to beta1:</p>
2727
2728 <ul>
2729
2730 <li>The KDE proxy setup has been adjusted to use the provided wpad.dat. This
2731 also gets Chromium to use this proxy.</li>
2732 <li>Install kdepim-groupware with KDE desktops to make sure korganizer
2733 understand ical/dav sources.</li>
2734 <li>Increased default maximum size of /var/spool/squid and /skole/backup on the
2735 main server.</li>
2736 <li>A source DVD image containing all source packages is now available as well.</li>
2737 <li>Updates for chromium (29.0.1547.57-1~deb7u1), imagemagick
2738 (6.7.7.10-5+deb7u2), php5 (5.4.4-14+deb7u4), libmodplug
2739 (0.8.8.4-3+deb7u1+git20130828), tiff (4.0.2-6+deb7u2), linux-image
2740 (3.2.0-4-486_3.2.46-1+deb7u1).</li>
2741
2742 </ul>
2743
2744 <p>Where to get it:</p>
2745
2746 <p>To download the multiarch netinstall CD release you can use</p>
2747
2748 <ul>
2749 <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>
2750 <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>
2751 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b2-CD.iso .</li>
2752 </ul>
2753
2754 <p>The SHA1SUM of this image is: 3a1c89f4666df80eebcd46c5bf5fedb866f9472f</p>
2755
2756 <p>To download the multiarch USB stick ISO release you can use
2757 <ul>
2758 <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>
2759 <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>
2760 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b2-USB.iso .</li>
2761 </ul>
2762
2763 <p>The SHA1SUM of this image is: 702d1718548f401c74bfa6df9f032cc3ee16597e</p>
2764
2765 <p>The Source DVD image has the filename
2766 debian-edu-7.1+edu0~b2-source-DVD.iso and the SHA1SUM
2767 089eed8b3f962db47aae1f6a9685e9bb2fa30ca5 and is available the same way
2768 as the other isos.</p>
2769
2770 <p>How to report bugs</p>
2771
2772 <p>For information how to report bugs please see
2773 <br><a href="http://wiki.debian.org/DebianEdu/HowTo/ReportBugs">http://wiki.debian.org/DebianEdu/HowTo/ReportBugs</a></p>
2774
2775
2776 <p>About Debian Edu and Skolelinux</p>
2777
2778 <p>Debian Edu, also known as Skolelinux, is a Linux distribution based
2779 on Debian providing an out-of-the box environment of a completely
2780 configured school network. Immediately after installation a school
2781 server running all services needed for a school network is set up just
2782 waiting for users and machines being added via GOsa², a comfortable
2783 Web-UI. A netbooting environment is prepared using PXE, so after
2784 initial installation of the main server from CD or USB stick all other
2785 machines can be installed via the network. The provided school server
2786 provides LDAP database and Kerberos authentication service,
2787 centralized home directories, DHCP server, web proxy and many other
2788 services. The desktop contains more than 60 educational software
2789 packages and more are available from the Debian archive, and schools
2790 can choose between KDE, Gnome, LXDE and Xfce desktop environment.</p>
2791
2792 <p>This is the seventh test release based on Debian Wheezy. Basically
2793 this is an updated and slightly improved version compared to the
2794 Squeeze release.</p>
2795
2796 <p>Notes for upgrades from Alpha Prereleases</p>
2797
2798 <p>Alpha based installations should reinstall or downgrade the
2799 versions of gosa and libpam-mklocaluser to the ones used in this beta
2800 release. Both alpha and beta0 based installations should reinstall or
2801 deal with gosa.conf manually; there are two options: (1) Keep
2802 gosa.conf and edit this file as outlined on the mailing list. (2)
2803 Accept the new version of gosa.conf and replace both contained admin
2804 password placeholders with the password hashes found in the old one
2805 (backup copy!). In both cases all users need to change their password
2806 to make sure a password is set for CIFS access to their home
2807 directory.</p>
2808
2809
2810 <p>cheers,
2811 <br> Holger</p>
2812 </blockquote>
2813
2814 </div>
2815 <div class="tags">
2816
2817
2818 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>.
2819
2820
2821 </div>
2822 </div>
2823 <div class="padding"></div>
2824
2825 <div class="entry">
2826 <div class="title">
2827 <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>
2828 </div>
2829 <div class="date">
2830 10th September 2013
2831 </div>
2832 <div class="body">
2833 <p>I was introduced to the
2834 <a href="http://www.freedomboxfoundation.org/">Freedombox project</a>
2835 in 2010, when Eben Moglen presented his vision about serving the need
2836 of non-technical people to keep their personal information private and
2837 within the legal protection of their own homes. The idea is to give
2838 people back the power over their network and machines, and return
2839 Internet back to its intended peer-to-peer architecture. Instead of
2840 depending on a central service, the Freedombox will give everyone
2841 control over their own basic infrastructure.</p>
2842
2843 <p>I've intended to join the effort since then, but other tasks have
2844 taken priority. But this summers nasty news about the misuse of trust
2845 and privilege exercised by the "western" intelligence gathering
2846 communities increased my eagerness to contribute to a point where I
2847 actually started working on the project a while back.</p>
2848
2849 <p>The <a href="https://alioth.debian.org/projects/freedombox/">initial
2850 Debian initiative</a> based on the vision from Eben Moglen, is to
2851 create a simple and cheap Debian based appliance that anyone can hook
2852 up in their home and get access to secure and private services and
2853 communication. The initial deployment platform have been the
2854 <a href="http://www.globalscaletechnologies.com/t-dreamplugdetails.aspx">Dreamplug</a>,
2855 which is a piece of hardware I do not own. So to be able to test what
2856 the current Freedombox setup look like, I had to come up with a way to install
2857 it on some hardware I do have access to. I have rewritten the
2858 <a href="https://github.com/NickDaly/freedom-maker">freedom-maker</a>
2859 image build framework to use .deb packages instead of only copying
2860 setup into the boot images, and thanks to this rewrite I am able to
2861 set up any machine supported by Debian Wheezy as a Freedombox, using
2862 the previously mentioned deb (and a few support debs for packages
2863 missing in Debian).</p>
2864
2865 <p>The current Freedombox setup consist of a set of bootstrapping
2866 scripts
2867 (<a href="https://github.com/petterreinholdtsen/freedombox-setup">freedombox-setup</a>),
2868 and a administrative web interface
2869 (<a href="https://github.com/NickDaly/Plinth">plinth</a> + exmachina +
2870 withsqlite), as well as a privacy enhancing proxy based on
2871 <a href="http://packages.qa.debian.org/privoxy">privoxy</a>
2872 (freedombox-privoxy). There is also a web/javascript based XMPP
2873 client (<a href="http://packages.qa.debian.org/jwchat">jwchat</a>)
2874 trying (unsuccessfully so far) to talk to the XMPP server
2875 (<a href="http://packages.qa.debian.org/ejabberd">ejabberd</a>). The
2876 web interface is pluggable, and the goal is to use it to enable OpenID
2877 services, mesh network connectivity, use of TOR, etc, etc. Not much of
2878 this is really working yet, see
2879 <a href="https://github.com/NickDaly/freedombox-todos/blob/master/TODO">the
2880 project TODO</a> for links to GIT repositories. Most of the code is
2881 on github at the moment. The HTTP proxy is operational out of the
2882 box, and the admin web interface can be used to add/remove plinth
2883 users. I've not been able to do anything else with it so far, but
2884 know there are several branches spread around github and other places
2885 with lots of half baked features.</p>
2886
2887 <p>Anyway, if you want to have a look at the current state, the
2888 following recipes should work to give you a test machine to poke
2889 at.</p>
2890
2891 <p><strong>Debian Wheezy amd64</strong></p>
2892
2893 <ol>
2894
2895 <li>Fetch normal Debian Wheezy installation ISO.</li>
2896 <li>Boot from it, either as CD or USB stick.</li>
2897 <li><p>Press [tab] on the boot prompt and add this as a boot argument
2898 to the Debian installer:<p>
2899 <pre>url=<a href="http://www.reinholdtsen.name/freedombox/preseed-wheezy.dat">http://www.reinholdtsen.name/freedombox/preseed-wheezy.dat</a></pre></li>
2900
2901 <li>Answer the few language/region/password questions and pick disk to
2902 install on.</li>
2903
2904 <li>When the installation is finished and the machine have rebooted a
2905 few times, your Freedombox is ready for testing.</li>
2906
2907 </ol>
2908
2909 <p><strong>Raspberry Pi Raspbian</strong></p>
2910
2911 <ol>
2912
2913 <li>Fetch a Raspbian SD card image, create SD card.</li>
2914 <li>Boot from SD card, extend file system to fill the card completely.</li>
2915 <li><p>Log in and add this to /etc/sources.list:</p>
2916 <pre>
2917 deb <a href="http://www.reinholdtsen.name/freedombox/">http://www.reinholdtsen.name/freedombox</a> wheezy main
2918 </pre></li>
2919 <li><p>Run this as root:</p>
2920 <pre>
2921 wget -O - http://www.reinholdtsen.name/freedombox/BE1A583D.asc | \
2922 apt-key add -
2923 apt-get update
2924 apt-get install freedombox-setup
2925 /usr/lib/freedombox/setup
2926 </pre></li>
2927 <li>Reboot into your freshly created Freedombox.</li>
2928
2929 </ol>
2930
2931 <p>You can test it on other architectures too, but because the
2932 freedombox-privoxy package is binary, it will only work as intended on
2933 the architectures where I have had time to build the binary and put it
2934 in my APT repository. But do not let this stop you. It is only a
2935 short "<tt>apt-get source -b freedombox-privoxy</tt>" away. :)</p>
2936
2937 <p>Note that by default Freedombox is a DHCP server on the
2938 192.168.1.0/24 subnet, so if this is your subnet be careful and turn
2939 off the DHCP server by running "<tt>update-rc.d isc-dhcp-server
2940 disable</tt>" as root.</p>
2941
2942 <p>Please let me know if this works for you, or if you have any
2943 problems. We gather on the IRC channel
2944 <a href="irc://irc.debian.org:6667/%23freedombox">#freedombox</a> on
2945 irc.debian.org and the
2946 <a href="http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/freedombox-discuss">project
2947 mailing list</a>.</p>
2948
2949 <p>Once you get your freedombox operational, you can visit
2950 <tt>http://your-host-name:8001/</tt> to see the state of the plint
2951 welcome screen (dead end - do not be surprised if you are unable to
2952 get past it), and next visit <tt>http://your-host-name:8001/help/</tt>
2953 to look at the rest of plinth. The default user is 'admin' and the
2954 default password is 'secret'.</p>
2955
2956 </div>
2957 <div class="tags">
2958
2959
2960 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>.
2961
2962
2963 </div>
2964 </div>
2965 <div class="padding"></div>
2966
2967 <div class="entry">
2968 <div class="title">
2969 <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>
2970 </div>
2971 <div class="date">
2972 22nd August 2013
2973 </div>
2974 <div class="body">
2975 <p>The second wheezy based beta release of Debian Edu was wrapped up
2976 today, slightly delayed because of some bugs in the initial Windows
2977 integration fixes . This is the release announcement:</p>
2978
2979 <p><strong>New features for Debian Edu 7.1+edu0~b1 released 2013-08-22</strong></p>
2980
2981 <p>These are the release notes for Debian Edu / Skolelinux
2982 7.1+edu0~b1, based on Debian with codename "Wheezy".</p>
2983
2984 <p><strong>About Debian Edu and Skolelinux</strong></p>
2985
2986 <p><a href="http://www.skolelinux.org/">Debian Edu, also known as
2987 Skolelinux</a>, is a Linux distribution based on Debian providing an
2988 out-of-the box environment of a completely configured school
2989 network. Immediately after installation a school server running all
2990 services needed for a school network is set up just waiting for users
2991 and machines being added via GOsa², a comfortable Web-UI. A netbooting
2992 environment is prepared using PXE, so after initial installation of
2993 the main server from CD or USB stick all other machines can be
2994 installed via the network. The provided school server provides LDAP
2995 database and Kerberos authentication service, centralized home
2996 directories, DHCP server, web proxy and many other services. The
2997 desktop contains
2998 <a href="http://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html">more
2999 than 60 educational software packages</a> and more are available from
3000 the Debian archive, and schools can choose between KDE, Gnome, LXDE
3001 and Xfce desktop environment.</p>
3002
3003 <p>This is the sixth test release based on Debian Wheezy. Basically this
3004 is an updated and slightly improved version compared to the Squeeze
3005 release.</p>
3006
3007 <p>ALERT: Alpha based installations should reinstall or downgrade the
3008 versions of gosa and libpam-mklocaluser to the ones used in this beta
3009 release. Both alpha and beta0 based installations should reinstall or
3010 deal with gosa.conf manually; there are two options: (1) Keep
3011 gosa.conf and edit this file as outlined
3012 <a href="http://lists.debian.org/debian-edu/2013/08/msg00127.html">on
3013 the mailing list</a>. (2) Accept the new version of gosa.conf and
3014 replace both contained admin password placeholders with the password
3015 hashes found in the old one (backup copy!). In both cases every user
3016 need to change their their password to make sure a password is set for
3017 CIFS access to their home directory.</p>
3018
3019 <p><strong>Software updates</strong></p>
3020
3021 <ul>
3022
3023 <li>Added ssh askpass packages to default installation, to ensure ssh
3024 work also without a attached tty.</li>
3025 <li>Add the command-not-found package to the default installation to
3026 make it easier to figure out where to find missing command line
3027 tools. Please note, that the command 'update-command-not-found'
3028 has to be run as root to actually make it useful (internet access
3029 required).</li>
3030
3031 </ul>
3032
3033 <p><strong>Other changes</strong></p>
3034
3035 <ul>
3036
3037 <li>Adjusted the USB stick ISO image build to include every tool
3038 needed for desktop=xfce installations.</li>
3039 <li>Adjust thin-client-server task to work when installing from USB
3040 stick ISO image.</li>
3041 <li>Made new grub artwork (changed png from indexed to RGB format).</li>
3042 <li>Minor cleanup in the CUPS setup.</li>
3043 <li>Make sure that bootstrapping of the Samba domain really happens
3044 during installation of the main server and adjust SID handling to
3045 cope with this.</li>
3046 <li>Make Samba passwords changeable (again) via GOsa².</li>
3047 <li>Fix generation of LM and NT password hashes via GOsa² to avoid
3048 empty password hashes.</li>
3049 <li>Adapted Samba machine domain joining to latest change in the
3050 smbldap-tools Perl package, fixing bugs blocking Windows machines
3051 from joining the Samba domain.</li>
3052
3053 </ul>
3054
3055 <p><strong>Known issues</strong></p>
3056
3057 <ul>
3058
3059 <li>KDE fails to understand the wpad.dat file provided, causing it to
3060 not use the http proxy as it should.</li>
3061 <li>Chromium also fails to use the proxy when using the KDE desktop
3062 (using the KDE configuration).</li>
3063
3064 </ul>
3065
3066 <p><strong>Where to get it</strong></p>
3067
3068 <p>To download the multiarch netinstall CD release you can use</p>
3069
3070 <ul>
3071
3072 <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>
3073
3074 <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>
3075
3076 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-CD.iso .</li>
3077
3078 </ul>
3079
3080 <p>The MD5SUM of this image is: 1e357f80b55e703523f2254adde6d78b
3081 <br>The SHA1SUM of this image is: 7157f9be5fd27c7694d713c6ecfed61c3edda3b2</p>
3082
3083 <p>To download the multiarch USB stick ISO release you can use</p>
3084
3085 <ul>
3086
3087 <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>
3088 <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>
3089 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-USB.iso .</li>
3090
3091 </ul>
3092
3093 <p>The MD5SUM of this image is: 7a8408ead59cf7e3cef25afb6e91590b
3094 <br>The SHA1SUM of this image is: f1817c031f02790d5edb3bfa0dcf8451088ad119</p>
3095
3096
3097 <p><strong>How to report bugs</strong></p>
3098
3099 <p><a href="http://wiki.debian.org/DebianEdu/HowTo/ReportBugs">http://wiki.debian.org/DebianEdu/HowTo/ReportBugs</a>
3100
3101 </div>
3102 <div class="tags">
3103
3104
3105 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>.
3106
3107
3108 </div>
3109 </div>
3110 <div class="padding"></div>
3111
3112 <div class="entry">
3113 <div class="title">
3114 <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>
3115 </div>
3116 <div class="date">
3117 18th August 2013
3118 </div>
3119 <div class="body">
3120 <p>Earlier, I reported about
3121 <a href="http://people.skolelinux.org/pere/blog/How_to_fix_a_Thinkpad_X230_with_a_broken_180_GB_SSD_disk.html">my
3122 problems using an Intel SSD 520 Series 180 GB disk</a>. Friday I was
3123 told by IBM that the original disk should be thrown away. And as
3124 there no longer was a problem if I bricked the firmware, I decided
3125 today to try to install Intel firmware to replace the Lenovo firmware
3126 currently on the disk.</p>
3127
3128 <p>I searched the Intel site for firmware, and found
3129 <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>
3130 (aka Intel SATA Solid-State Drive Firmware Update Tool) which
3131 according to the site should contain the latest firmware for SSD
3132 disks. I inserted the broken disk in one of my spare laptops and
3133 booted the ISO from a USB stick. The disk was recognized, but the
3134 program claimed the newest firmware already were installed and refused
3135 to insert any Intel firmware. So no change, and the disk is still
3136 unable to handle write load. :( I guess the only way to get them
3137 working would be if Lenovo releases new firmware. No idea how likely
3138 that is. Anyway, just blogging about this test for completeness. I
3139 got a working Samsung disk, and see no point in spending more time on
3140 the broken disks.</p>
3141
3142 </div>
3143 <div class="tags">
3144
3145
3146 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>.
3147
3148
3149 </div>
3150 </div>
3151 <div class="padding"></div>
3152
3153 <div class="entry">
3154 <div class="title">
3155 <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>
3156 </div>
3157 <div class="date">
3158 2nd August 2013
3159 </div>
3160 <div class="body">
3161 <p>It has been a while since my last update. Since last summer, I
3162 have worked on a Norwegian
3163 <a href="http://www.docbook.org/">docbook</a> version of the 2004 book
3164 <a href="http://free-culture.cc/">Free Culture</a> by Lawrence Lessig,
3165 to get a Norwegian text explaining the problems with the copyright
3166 law. Yesterday, I finally broken the 90% mark, when counting the
3167 number of strings to translate. Due to real life constraints, I have
3168 not had time to work on it since March, but when the summer broke out,
3169 I found time to work on it again. Still lots of work left, but the
3170 first draft is nearing completion. I created a graph to show the
3171 progress of the translation:</p>
3172
3173 <p><img width="80%" align="center" src="https://github.com/petterreinholdtsen/free-culture-lessig/raw/master/progress.png"></p>
3174
3175 <p>When the first draft is done, the translated text need to be
3176 proof read, and the remaining formatting problems with images and SVG
3177 drawings need to be fixed. There are probably also some index entries
3178 missing that need to be added. This can be done by comparing the
3179 index entries listed in the SiSU version of the book, or comparing the
3180 English docbook version with the paper version. Last, the colophon
3181 page with ISBN numbers etc need to be wrapped up before the release is
3182 done. I should also figure out how to get correct Norwegian sorting
3183 of the index pages. All docbook tools I have tried so far (xmlto,
3184 docbook-xsl, dblatex) get the order of symbols and the special
3185 Norwegian letters ÆØÅ wrong.</p>
3186
3187 <p>There is still need for translators and people with docbook
3188 knowledge, to be able to get a good looking book (I still struggle
3189 with dblatex, xmlto and docbook-xsl) as well as to do the draft
3190 translation and proof reading. And I would like the figures to be
3191 redrawn as SVGs to make it easy to translate them. Any SVG master
3192 around? There are also some legal terms that are unfamiliar to me.
3193 If you want to help, please get in touch with me, and check out the
3194 project files currently available from
3195 <a href="https://github.com/petterreinholdtsen/free-culture-lessig">github</a>.</p>
3196
3197 <p>If you are curious what the translated book currently look like,
3198 the updated
3199 <a href="https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.pdf?raw=true">PDF</a>
3200 and
3201 <a href="https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.epub?raw=true">EPUB</a>
3202 are published on github. The HTML version is published as well, but
3203 github hand it out with MIME type text/plain, confusing browsers, so I
3204 saw no point in linking to that version.</p>
3205
3206 </div>
3207 <div class="tags">
3208
3209
3210 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>.
3211
3212
3213 </div>
3214 </div>
3215 <div class="padding"></div>
3216
3217 <div class="entry">
3218 <div class="title">
3219 <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>
3220 </div>
3221 <div class="date">
3222 27th July 2013
3223 </div>
3224 <div class="body">
3225 <p>The first wheezy based beta release of Debian Edu was wrapped up
3226 today. This is the release announcement:</p>
3227
3228 <p><strong>New features for Debian Edu 7.1+edu0~b0 released
3229 2013-07-27</strong></p>
3230
3231 <p>These are the release notes for for Debian Edu / Skolelinux
3232 7.1+edu0~b0, based on Debian with codename "Wheezy".</p>
3233
3234 <p><strong>About Debian Edu and Skolelinux</strong></p>
3235
3236 <p><a href="http://www.skolelinux.org/">Debian Edu, also known as
3237 Skolelinux</a>, is a Linux distribution based on Debian providing an
3238 out-of-the box environment of a completely configured school
3239 network. Immediately after installation a school server running all
3240 services needed for a school network is set up just waiting for users
3241 and machines being added via GOsa², a comfortable Web-UI. A netbooting
3242 environment is prepared using PXE, so after initial installation of
3243 the main server from CD, DVD or USB stick all other machines can be
3244 installed via the network. The provided school server provides LDAP
3245 database and Kerberos authentication service, centralized home
3246 directories, DHCP server, web proxy and many other services. The
3247 desktop contains
3248 <a href="http://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html">more
3249 than 60 educational software packages</a> and more are available from
3250 the Debian archive, and schools can choose between KDE, Gnome, LXDE
3251 and Xfce desktop environment.</p>
3252
3253 <p>This is the fifth test release based on Debian Wheezy. Basically
3254 this is an updated and slightly improved version compared to the
3255 Squeeze release.</p>
3256
3257 <p>ALERT: Alpha based installations should reinstall or downgrade the
3258 versions of gosa and libpam-mklocaluser to the ones used in this beta
3259 release.</p>
3260
3261 <p><strong>Software updates</strong></p>
3262
3263 <ul>
3264
3265 <li>Switched roaming workstation profiles from wicd to network-manager
3266 for network configuration, as wicd didn't work any more.</li>
3267 <li>Changed version numbers of patched gosa and libpam-mklocaluser
3268 packages to make sure our locally patched versions will be replaced
3269 by the official packages when they are released from Debian. Those
3270 installing alpha version need to reinstall or manually downgrade gosa
3271 and libpam-mklocaluser.</li>
3272 <li>Added bluetooth tools to the default desktop (bluedevil, blueman).</li>
3273 <li>Added tools for sharing the desktop on KDE (krdc, krfb).</li>
3274 <li>Added valgrind to the default installation for easier debugging of
3275 crash bugs.</li>
3276
3277 </ul>
3278
3279 <p><strong>Other changes</strong></p>
3280
3281 <ul>
3282
3283 <li>Fixed artwork package to work with gnome, no longer break
3284 desktop=gnome installations.</li>
3285 <li>Adjusted installer to now work when forced to use a proxy with the
3286 netinst CD.</li>
3287 <li>Fixed code detecting and setting/loading hardware specific
3288 setup/firmware to work more robust out of the box.</li>
3289 <li>Adjusted Kerberos setup to detect realm and server settings at
3290 install time instead of dynamically at run time. This avoid a crash
3291 with krb5-auth-dialog on diskless workstations without a DNS name.</li>
3292 <li>Worked around misfeature in network-manager not calling the dhclient
3293 exit hooks, causing automatic proxy configuration and automatic host
3294 name setting at run time to work again.</li>
3295 <li>Fixed feature setting the default Iceweasel start page from URL
3296 fetched from LDAP, to allow schools to set the global default by
3297 updating the dc=skole,dc=skolelinux,dc=no LDAP object.</li>
3298 <li>Changed default host name on all networked machines to be unique
3299 (generated from MAC or reverse DNS) after boot.</li>
3300 <li>Adjusted partition sizes to make sure they are big enough.</li>
3301
3302 </ul>
3303
3304 <p><strong>Known issues</strong></p>
3305
3306 <ul>
3307
3308 <li>Grub is missing the new artwork.</li>
3309 <li>KDE fail to understand the wpad.dat file provided, causing it to
3310 not use the http proxy as it should.</li>
3311 <li>Chromium also fail to use the proxy.</li>
3312
3313 </ul>
3314
3315 <p><strong>Where to get it</strong></p>
3316
3317 <p>To download the multiarch netinstall CD release you can use</p>
3318
3319 <ul>
3320
3321 <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>
3322
3323 <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>
3324
3325 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-CD.iso .</li>
3326
3327 </ul>
3328
3329 <p>The MD5SUM of this image is: 55d5de9765b6dccd5d9ec33cf1a07109
3330 <br>The SHA1SUM of this image is: 996a1d9517740e4d627d100de2d12b23dd545a3f</p>
3331
3332 <p>To download the multiarch USB stick ISO release you can use</p>
3333
3334 <ul>
3335
3336 <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>
3337 <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>
3338 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b0-USB.iso .</li>
3339
3340 </ul>
3341
3342 <p>The MD5SUM of this image is: d8f0818c51a78d357de794066f289f69
3343 <br>The SHA1SUM of this image is: 49185ca354e8d0543240423746924f76a6cee733</p>
3344
3345
3346 <p><strong>How to report bugs</strong></p>
3347
3348 <p><a href="http://wiki.debian.org/DebianEdu/HowTo/ReportBugs">http://wiki.debian.org/DebianEdu/HowTo/ReportBugs</a>
3349
3350 </div>
3351 <div class="tags">
3352
3353
3354 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>.
3355
3356
3357 </div>
3358 </div>
3359 <div class="padding"></div>
3360
3361 <div class="entry">
3362 <div class="title">
3363 <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>
3364 </div>
3365 <div class="date">
3366 17th July 2013
3367 </div>
3368 <div class="body">
3369 <p>Today I switched to
3370 <a href="http://people.skolelinux.org/pere/blog/The_Thinkpad_is_dead__long_live_the_Thinkpad_X230_.html">my
3371 new laptop</a>. I've previously written about the problems I had with
3372 my new Thinkpad X230, which was delivered with an
3373 <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
3374 GB Intel SSD disk with Lenovo firmware</a> that did not handle
3375 sustained writes. My hardware supplier have been very forthcoming in
3376 trying to find a solution, and after first trying with another
3377 identical 180 GB disks they decided to send me a 256 GB Samsung SSD
3378 disk instead to fix it once and for all. The Samsung disk survived
3379 the installation of Debian with encrypted disks (filling the disk with
3380 random data during installation killed the first two), and I thus
3381 decided to trust it with my data. I have installed it as a Debian Edu
3382 Wheezy roaming workstation hooked up with my Debian Edu Squeeze main
3383 server at home using Kerberos and LDAP, and will use it as my work
3384 station from now on.</p>
3385
3386 <p>As this is a solid state disk with no moving parts, I believe the
3387 Debian Wheezy default installation need to be tuned a bit to increase
3388 performance and increase life time of the disk. The Linux kernel and
3389 user space applications do not yet adjust automatically to such
3390 environment. To make it easier for my self, I created a draft Debian
3391 package <tt>ssd-setup</tt> to handle this tuning. The
3392 <a href="http://anonscm.debian.org/gitweb/?p=collab-maint/ssd-setup.git">source
3393 for the ssd-setup package</a> is available from collab-maint, and it
3394 is set up to adjust the setup of the machine by just installing the
3395 package. If there is any non-SSD disk in the machine, the package
3396 will refuse to install, as I did not try to write any logic to sort
3397 file systems in SSD and non-SSD file systems.</p>
3398
3399 <p>I consider the package a draft, as I am a bit unsure how to best
3400 set up Debian Wheezy with an SSD. It is adjusted to my use case,
3401 where I set up the machine with one large encrypted partition (in
3402 addition to /boot), put LVM on top of this and set up partitions on
3403 top of this again. See the README file in the package source for the
3404 references I used to pick the settings. At the moment these
3405 parameters are tuned:</p>
3406
3407 <ul>
3408
3409 <li>Set up cryptsetup to pass TRIM commands to the physical disk
3410 (adding discard to /etc/crypttab)</li>
3411
3412 <li>Set up LVM to pass on TRIM commands to the underlying device (in
3413 this case a cryptsetup partition) by changing issue_discards from
3414 0 to 1 in /etc/lvm/lvm.conf.</li>
3415
3416 <li>Set relatime as a file system option for ext3 and ext4 file
3417 systems.</li>
3418
3419 <li>Tell swap to use TRIM commands by adding 'discard' to
3420 /etc/fstab.</li>
3421
3422 <li>Change I/O scheduler from cfq to deadline using a udev rule.</li>
3423
3424 <li>Run fstrim on every ext3 and ext4 file system every night (from
3425 cron.daily).</li>
3426
3427 <li>Adjust sysctl values vm.swappiness to 1 and vm.vfs_cache_pressure
3428 to 50 to reduce the kernel eagerness to swap out processes.</li>
3429
3430 </ul>
3431
3432 <p>During installation, I cancelled the part where the installer fill
3433 the disk with random data, as this would kill the SSD performance for
3434 little gain. My goal with the encrypted file system is to ensure
3435 those stealing my laptop end up with a brick and not a working
3436 computer. I have no hope in keeping the really resourceful people
3437 from getting the data on the disk (see
3438 <a href="http://xkcd.com/538/">XKCD #538</a> for an explanation why).
3439 Thus I concluded that adding the discard option to crypttab is the
3440 right thing to do.</p>
3441
3442 <p>I considered using the noop I/O scheduler, as several recommended
3443 it for SSD, but others recommended deadline and a benchmark I found
3444 indicated that deadline might be better for interactive use.</p>
3445
3446 <p>I also considered using the 'discard' file system option for ext3
3447 and ext4, but read that it would give a performance hit ever time a
3448 file is removed, and thought it best to that that slowdown once a day
3449 instead of during my work.</p>
3450
3451 <p>My package do not set up tmpfs on /var/run, /var/lock and /tmp, as
3452 this is already done by Debian Edu.</p>
3453
3454 <p>I have not yet started on the user space tuning. I expect
3455 iceweasel need some tuning, and perhaps other applications too, but
3456 have not yet had time to investigate those parts.</p>
3457
3458 <p>The package should work on Ubuntu too, but I have not yet tested it
3459 there.</p>
3460
3461 <p>As for the answer to the question in the title of this blog post,
3462 as far as I know, the only solution I know about is to replace the
3463 disk. It might be possible to flash it with Intel firmware instead of
3464 the Lenovo firmware. But I have not tried and did not want to do so
3465 without approval from Lenovo as I wanted to keep the warranty on the
3466 disk until a solution was found and they wanted the broken disks
3467 back.</p>
3468
3469 </div>
3470 <div class="tags">
3471
3472
3473 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>.
3474
3475
3476 </div>
3477 </div>
3478 <div class="padding"></div>
3479
3480 <div class="entry">
3481 <div class="title">
3482 <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>
3483 </div>
3484 <div class="date">
3485 10th July 2013
3486 </div>
3487 <div class="body">
3488 <p>A few days ago, I wrote about
3489 <a href="http://people.skolelinux.org/pere/blog/The_Thinkpad_is_dead__long_live_the_Thinkpad_X230_.html">the
3490 problems I experienced with my new X230 and its SSD disk</a>, which
3491 was dying during installation because it is unable to cope with
3492 sustained write. My supplier is in contact with
3493 <a href="http://www.lenovo.com/">Lenovo</a>, and they wanted to send a
3494 replacement disk to try to fix the problem. They decided to send an
3495 identical model, so my hopes for a permanent fix was slim.</p>
3496
3497 <p>Anyway, today I got the replacement disk and tried to install
3498 Debian Edu Wheezy with encrypted disk on it. The new disk have the
3499 same firmware version as the original. This time my hope raised
3500 slightly as the installation progressed, as the original disk used to
3501 die after 4-7% of the disk was written to, while this time it kept
3502 going past 10%, 20%, 40% and even past 50%. But around 60%, the disk
3503 died again and I was back on square one. I still do not have a new
3504 laptop with a disk I can trust. I can not live with a disk that might
3505 lock up when I download a new
3506 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> ISO or
3507 other large files. I look forward to hearing from my supplier with
3508 the next proposal from Lenovo.</p>
3509
3510 <p>The original disk is marked Intel SSD 520 Series 180 GB,
3511 11S0C38722Z1ZNME35X1TR, ISN: CVCV321407HB180EGN, SA: G57560302, FW:
3512 LF1i, 29MAY2013, PBA: G39779-300, LBA 351,651,888, LI P/N: 0C38722,
3513 Pb-free 2LI, LC P/N: 16-200366, WWN: 55CD2E40002756C4, Model:
3514 SSDSC2BW180A3L 2.5" 6Gb/s SATA SSD 180G 5V 1A, ASM P/N 0C38732, FRU
3515 P/N 45N8295, P0C38732.</p>
3516
3517 <p>The replacement disk is marked Intel SSD 520 Series 180 GB,
3518 11S0C38722Z1ZNDE34N0L0, ISN: CVCV315306RK180EGN, SA: G57560-302, FW:
3519 LF1i, 22APR2013, PBA: G39779-300, LBA 351,651,888, LI P/N: 0C38722,
3520 Pb-free 2LI, LC P/N: 16-200366, WWN: 55CD2E40000AB69E, Model:
3521 SSDSC2BW180A3L 2.5" 6Gb/s SATA SSD 180G 5V 1A, ASM P/N 0C38732, FRU
3522 P/N 45N8295, P0C38732.</p>
3523
3524 <p>The only difference is in the first number (serial number?), ISN,
3525 SA, date and WNPP values. Mentioning all the details here in case
3526 someone is able to use the information to find a way to identify the
3527 failing disk among working ones (if any such working disk actually
3528 exist).</p>
3529
3530 </div>
3531 <div class="tags">
3532
3533
3534 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>.
3535
3536
3537 </div>
3538 </div>
3539 <div class="padding"></div>
3540
3541 <div class="entry">
3542 <div class="title">
3543 <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>
3544 </div>
3545 <div class="date">
3546 9th July 2013
3547 </div>
3548 <div class="body">
3549 <p>The upcoming Saturday, 2013-07-13, we are organising a combined
3550 Debian Edu developer gathering and Debian and Ubuntu bug squashing
3551 party in Oslo. It is organised by <a href="http://www.nuug.no/">the
3552 member assosiation NUUG</a> and
3553 <a href="http://www.skolelinux.org/">the Debian Edu / Skolelinux
3554 project</a> together with <a href="http://bitraf.no/">the hack space
3555 Bitraf</a>.</p>
3556
3557 <p>It starts 10:00 and continue until late evening. Everyone is
3558 welcome, and there is no fee to participate. There is on the other
3559 hand limited space, and only room for 30 people. Please put your name
3560 on <a href="http://wiki.debian.org/BSP/2013/07/13/no/Oslo">the event
3561 wiki page</a> if you plan to join us.</p>
3562
3563 </div>
3564 <div class="tags">
3565
3566
3567 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>.
3568
3569
3570 </div>
3571 </div>
3572 <div class="padding"></div>
3573
3574 <div class="entry">
3575 <div class="title">
3576 <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>
3577 </div>
3578 <div class="date">
3579 5th July 2013
3580 </div>
3581 <div class="body">
3582 <p>Half a year ago, I reported that I had to find a
3583 <a href="http://people.skolelinux.org/pere/blog/Thank_you_Thinkpad_X41__for_your_long_and_trustworthy_service.html">replacement
3584 for my trusty old Thinkpad X41</a>. Unfortunately I did not have much
3585 time to spend on it, and it took a while to find a model I believe
3586 will do the job, but two days ago the replacement finally arrived. I
3587 ended up picking a
3588 <a href="http://www.linlap.com/lenovo_thinkpad_x230">Thinkpad X230</a>
3589 with SSD disk (NZDAJMN). I first test installed Debian Edu Wheezy as
3590 a roaming workstation, and it seemed to work flawlessly. But my
3591 second installation with encrypted disk was not as successful. More
3592 on that below.</p>
3593
3594 <p>I had a hard time trying to track down a good laptop, as my most
3595 important requirements (robust and with a good keyboard) are never
3596 listed in the feature list. But I did get good help from the search
3597 feature at <a href="http://www.prisjakt.no/">Prisjakt</a>, which
3598 allowed me to limit the list of interesting laptops based on my other
3599 requirements. A bit surprising that SSD disk are not disks according
3600 to that search interface, so I had to drop specifying the number of
3601 disks from my search parameters. I also asked around among friends to
3602 get their impression on keyboards and robustness.</p>
3603
3604 <p>So the new laptop arrived, and it is quite a lot wider than the
3605 X41. I am not quite convinced about the keyboard, as it is
3606 significantly wider than my old keyboard, and I have to stretch my
3607 hand a lot more to reach the edges. But the key response is fairly
3608 good and the individual key shape is fairly easy to handle, so I hope
3609 I will get used to it. My old X40 was starting to fail, and I really
3610 needed a new laptop now. :)</p>
3611
3612 <p>Turning off the touch pad was simple. All it took was a quick
3613 visit to the BIOS during boot it disable it.</p>
3614
3615 <p>But there is a fatal problem with the laptop. The 180 GB SSD disk
3616 lock up during load. And this happen when installing Debian Wheezy
3617 with encrypted disk, while the disk is being filled with random data.
3618 I also tested to install Ubuntu Raring, and it happen there too if I
3619 reenable the code to fill the disk with random data (it is disabled by
3620 default in Ubuntu). And the bug with is already known. It was
3621 reported to Debian as <a href="http://bugs.debian.org/691427">BTS
3622 report #691427 2012-10-25</a> (journal commit I/O error on brand-new
3623 Thinkpad T430s ext4 on lvm on SSD). It is also reported to the Linux
3624 kernel developers as
3625 <a href="https://bugzilla.kernel.org/show_bug.cgi?id=51861">Kernel bugzilla
3626 report #51861 2012-12-20</a> (Intel SSD 520 stops working under load
3627 (SSDSC2BW180A3L in Lenovo ThinkPad T430s)). It is also reported on the
3628 Lenovo forums, both for
3629 <a href="http://forums.lenovo.com/t5/T400-T500-and-newer-T-series/T430s-Intel-SSD-520-180GB-issue/m-p/1070549">T430
3630 2012-11-10</a> and for
3631 <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
3632 03-20-2013</a>. The problem do not only affect installation. The
3633 reports state that the disk lock up during use if many writes are done
3634 on the disk, so it is much no use to work around the installation
3635 problem and end up with a computer that can lock up at any moment.
3636 There is even a
3637 <a href="https://git.efficios.com/?p=test-ssd.git">small C program
3638 available</a> that will lock up the hard drive after running a few
3639 minutes by writing to a file.</p>
3640
3641 <p>I've contacted my supplier and asked how to handle this, and after
3642 contacting PCHELP Norway (request 01D1FDP) which handle support
3643 requests for Lenovo, his first suggestion was to upgrade the disk
3644 firmware. Unfortunately there is no newer firmware available from
3645 Lenovo, as my disk already have the most recent one (version LF1i). I
3646 hope to hear more from him today and hope the problem can be
3647 fixed. :)</p>
3648
3649 </div>
3650 <div class="tags">
3651
3652
3653 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>.
3654
3655
3656 </div>
3657 </div>
3658 <div class="padding"></div>
3659
3660 <div class="entry">
3661 <div class="title">
3662 <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>
3663 </div>
3664 <div class="date">
3665 4th July 2013
3666 </div>
3667 <div class="body">
3668 <p>Half a year ago, I reported that I had to find a replacement for my
3669 trusty old Thinkpad X41. Unfortunately I did not have much time to
3670 spend on it, but today the replacement finally arrived. I ended up
3671 picking a <a href="http://www.linlap.com/lenovo_thinkpad_x230">Thinkpad
3672 X230</a> with SSD disk (NZDAJMN). I first test installed Debian Edu
3673 Wheezy as a roaming workstation, and it worked flawlessly. As I write
3674 this, it is installing what I hope will be a more final installation,
3675 with a encrypted hard drive to ensure any dope head stealing it end up
3676 with an expencive door stop.</p>
3677
3678 <p>I had a hard time trying to track down a good laptop, as my most
3679 important requirements (robust and with a good keyboard) are never
3680 listed in the feature list. But I did get good help from the search
3681 feature at <ahref="http://www.prisjakt.no/">Prisjakt</a>, which
3682 allowed me to limit the list of interesting laptops based on my other
3683 requirements. A bit surprising that SSD disk are not disks, so I had
3684 to drop number of disks from my search parameters.</p>
3685
3686 <p>I am not quite convinced about the keyboard, as it is significantly
3687 wider than my old keyboard, and I have to stretch my hand a lot more
3688 to reach the edges. But the key response is fairly good and the
3689 individual key shape is fairly easy to handle, so I hope I will get
3690 used to it. My old X40 was starting to fail, and I really needed a
3691 new laptop now. :)</p>
3692
3693 <p>I look forward to figuring out how to turn off the touch pad.</p>
3694
3695 </div>
3696 <div class="tags">
3697
3698
3699 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>.
3700
3701
3702 </div>
3703 </div>
3704 <div class="padding"></div>
3705
3706 <div class="entry">
3707 <div class="title">
3708 <a href="http://people.skolelinux.org/pere/blog/Fourth_alpha_release_of_Debian_Edu_Skolelinux_based_on_Debian_Wheezy.html">Fourth alpha release of Debian Edu/Skolelinux based on Debian Wheezy</a>
3709 </div>
3710 <div class="date">
3711 3rd July 2013
3712 </div>
3713 <div class="body">
3714 <p>The fourth wheezy based alpha release of Debian Edu was wrapped up
3715 today. This is the release announcement:</p>
3716
3717 <p><strong>New features for Debian Edu 7.1+edu0~alpha3 released
3718 2013-07-03</strong></p>
3719
3720 <p>These are the release notes for for Debian Edu / Skolelinux
3721 7.1+edu0~alpha3, based on Debian with codename "Wheezy".</p>
3722
3723 <p><strong>About Debian Edu and Skolelinux</strong></p>
3724
3725 <p><a href="http://www.skolelinux.org/">Debian Edu, also known as
3726 Skolelinux</a>, is a Linux distribution based on Debian providing an
3727 out-of-the box environment of a completely configured school
3728 network. Immediately after installation a school server running all
3729 services needed for a school network is set up just waiting for users
3730 and machines being added via GOsa², a comfortable Web-UI. A netbooting
3731 environment is prepared using PXE, so after initial installation of
3732 the main server from CD, DVD or USB stick all other machines can be
3733 installed via the network. The provided school server provides LDAP
3734 database and Kerberos authentication service, centralized home
3735 directories, DHCP server, web proxy and many other services. The
3736 desktop contains
3737 <a href="http://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html">more
3738 than 60 educational software packages</a> and more are available from
3739 the Debian archive, and schools can choose between KDE, Gnome, LXDE
3740 and Xfce desktop environment.</p>
3741
3742 <p>This is the fourth test release based on Debian Wheezy. Basically
3743 this is an updated and slightly improved version compared to the
3744 Squeeze release.</p>
3745
3746 <p><strong>Software updates</strong></p>
3747 <ul>
3748 <li>Dropped ispell dictionaries from our default installation.</li>
3749 <li>Dropped menu-xdg from the KDE desktop option, to drop the Debian
3750 submenu. It was not included with Gnome, LXDE or Xfce, so this
3751 brings KDE in line with the others.</li>
3752 <li>Dropped xdrawchem, xjig and xsok from our default installation as
3753 they don't have a desktop menu entry and thus won't show up in the
3754 menu now that menu-xdg was removed.</li>
3755 <li>Removed the killer system to kill left behind processes on
3756 multi-user machines, as it was no longer able to understand when a
3757 X display was in use and killed the processes of the active users
3758 too.</li>
3759 <li>Dropped the golearn (from goplay) package as the debtags in wheezy
3760 are too few to make the package useful.</li>
3761 </ul>
3762 <p><strong>Other changes</strong></p>
3763 <ul>
3764 <li>Updated artwork matching http://wiki.debian.org/DebianArt/Themes/Joy
3765 <li>Multi-arch i386/amd64 USB stick ISO available.</li>
3766 <li>Got rid of ispell/wordlist related debconf questions that showed
3767 up for some language options.</li>
3768 <li>Switched to using http.debian.net as APT source by default.</li>
3769 <li>Fixed proxy configuration on Main Server installations.</li>
3770 <li>Changed LTSP setup to ask dpkg to use force-unsafe-io the same way
3771 d-i is doing it.</li>
3772 <li>Made sure root and user passwords were not left behind in the
3773 debconf database after installation on Main Server installations.</li>
3774 <li>Made Roaming Workstation dynamic setup more robust and added draft
3775 script setup-ad-client to hook a Roaming Workstation up to a
3776 Active Directory server instead of a Debian Edu Main Server.</li>
3777 <li>Update system to install needed firmware packages during
3778 installation, to work properly in Wheezy.</li>
3779 <li>Update system to handle hardware quirks (debian-edu-hwsetup).</li>
3780 <li>Corrected PXE installation setup to properly pass selected desktop
3781 and keymap settings to PXE installation clients.</li>
3782 <li>LTSP diskless workstations use sshfs by default, allowing them to
3783 work without adding them to DNS and NIS netgroups for NFS access.</li>
3784 </ul>
3785 <p><strong>Known issues</strong></p>
3786 <ul>
3787 <li>No mass import of user account data in GOsa (ldif or csv)
3788 available yet (698840).</li>
3789 <li>Artwork not enabled for all desktops.</li>
3790 </ul>
3791 <p><strong>Where to get it</strong></p>
3792
3793 <p>To download the multiarch netinstall CD release you can use</p>
3794 <ul>
3795 <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>
3796 <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>
3797 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~a3-CD.iso .</li>
3798 </ul>
3799
3800 <p>The MD5SUM of this image is: 2b161a99d2a848c376d8d04e3854e30c
3801 <br>The SHA1SUM of this image is: 498922e9c508c0a7ee9dbe1dfe5bf830d779c3c8</p>
3802
3803 <p>To download the multiarch USB stick ISO release you can use</p>
3804 <ul>
3805 <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>
3806 <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>
3807 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~a3-USB.iso .</li>
3808 </ul>
3809
3810 <p>The MD5SUM of this image is: 25e808e403a4c15dbef1d13c37d572ac
3811 <br>The SHA1SUM of this image is: 15ecfc93eb6b4f453b7eb0bc04b6a279262d9721</p>
3812
3813 <p><strong>How to report bugs</strong></p>
3814
3815 <p><a href="http://wiki.debian.org/DebianEdu/HowTo/ReportBugs">http://wiki.debian.org/DebianEdu/HowTo/ReportBugs</a></p>
3816
3817 </div>
3818 <div class="tags">
3819
3820
3821 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>.
3822
3823
3824 </div>
3825 </div>
3826 <div class="padding"></div>
3827
3828 <div class="entry">
3829 <div class="title">
3830 <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>
3831 </div>
3832 <div class="date">
3833 25th June 2013
3834 </div>
3835 <div class="body">
3836 <p>It annoys me when the computer fail to do automatically what it is
3837 perfectly capable of, and I have to do it manually to get things
3838 working. One such task is to find out what firmware packages are
3839 needed to get the hardware on my computer working. Most often this
3840 affect the wifi card, but some times it even affect the RAID
3841 controller or the ethernet card. Today I pushed version 0.4 of the
3842 <a href="http://packages.qa.debian.org/isenkram">Isenkram package</a>
3843 including a new script isenkram-autoinstall-firmware handling the
3844 process of asking all the loaded kernel modules what firmware files
3845 they want, find debian packages providing these files and install the
3846 debian packages. Here is a test run on my laptop:</p>
3847
3848 <p><pre>
3849 # isenkram-autoinstall-firmware
3850 info: kernel drivers requested extra firmware: ipw2200-bss.fw ipw2200-ibss.fw ipw2200-sniffer.fw
3851 info: fetching http://http.debian.net/debian/dists/squeeze/Contents-i386.gz
3852 info: locating packages with the requested firmware files
3853 info: Updating APT sources after adding non-free APT source
3854 info: trying to install firmware-ipw2x00
3855 firmware-ipw2x00
3856 firmware-ipw2x00
3857 Preconfiguring packages ...
3858 Selecting previously deselected package firmware-ipw2x00.
3859 (Reading database ... 259727 files and directories currently installed.)
3860 Unpacking firmware-ipw2x00 (from .../firmware-ipw2x00_0.28+squeeze1_all.deb) ...
3861 Setting up firmware-ipw2x00 (0.28+squeeze1) ...
3862 #
3863 </pre></p>
3864
3865 <p>When all the requested firmware is present, a simple message is
3866 printed instead:</p>
3867
3868 <p><pre>
3869 # isenkram-autoinstall-firmware
3870 info: did not find any firmware files requested by loaded kernel modules. exiting
3871 #
3872 </pre></p>
3873
3874 <p>It could use some polish, but it is already working well and saving
3875 me some time when setting up new machines. :)</p>
3876
3877 <p>So, how does it work? It look at the set of currently loaded
3878 kernel modules, and look up each one of them using modinfo, to find
3879 the firmware files listed in the module meta-information. Next, it
3880 download the Contents file from a nearby APT mirror, and search for
3881 the firmware files in this file to locate the package with the
3882 requested firmware file. If the package is in the non-free section, a
3883 non-free APT source is added and the package is installed using
3884 <tt>apt-get install</tt>. The end result is a slightly better working
3885 machine.</p>
3886
3887 <p>I hope someone find time to implement a more polished version of
3888 this script as part of the hw-detect debian-installer module, to
3889 finally fix <a href="http://bugs.debian.org/655507">BTS report
3890 #655507</a>. There really is no need to insert USB sticks with
3891 firmware during a PXE install when the packages already are available
3892 from the nearby Debian mirror.</p>
3893
3894 </div>
3895 <div class="tags">
3896
3897
3898 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>.
3899
3900
3901 </div>
3902 </div>
3903 <div class="padding"></div>
3904
3905 <div class="entry">
3906 <div class="title">
3907 <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>
3908 </div>
3909 <div class="date">
3910 22nd June 2013
3911 </div>
3912 <div class="body">
3913 <p>In the <a href="http://www.skolelinux.org/">Debian Edu /
3914 Skolelinux</a> project, we include a post-installation test suite,
3915 which check that services are running, working, and return the
3916 expected results. It runs automatically just after the first boot on
3917 test installations (using test ISOs), but not on production
3918 installations (using non-test ISOs). It test that the LDAP service is
3919 operating, Kerberos is responding, DNS is replying, file systems are
3920 online resizable, etc, etc. And it check that the PXE service is
3921 configured, which is the topic of this post.</p>
3922
3923 <p>The last week I've fixed the DVD and USB stick ISOs for our Debian
3924 Edu Wheezy release. These ISOs are supposed to be able to install a
3925 complete system without any Internet connection, but for that to
3926 happen all the needed packages need to be on them. Thanks to our test
3927 suite, I discovered that we had forgotten to adjust our PXE setup to
3928 cope with the new names and paths used by the netboot d-i packages.
3929 When Internet connectivity was available, the installer fall back to
3930 using wget to fetch d-i boot images, but when offline it require
3931 working packages to get it working. And the packages changed name
3932 from debian-installer-6.0-netboot-$arch to
3933 debian-installer-7.0-netboot-$arch, we no longer pulled in the
3934 packages during installation. Without our test suite, I suspect we
3935 would never have discovered this before release. Now it is fixed
3936 right after we got the ISOs operational.</p>
3937
3938 <p>Another by-product of the test suite is that we can ask system
3939 administrators with problems getting Debian Edu to work, to run the
3940 test suite using <tt>/usr/sbin/debian-edu-test-install</tt> and see if
3941 any errors are detected. This usually pinpoint the subsystem causing
3942 the problem.</p>
3943
3944 <p>If you want to help us help kids learn how to share and create,
3945 please join us on
3946 <a href="irc://irc.debian.org/%23debian-edu">#debian-edu on
3947 irc.debian.org</a> and the
3948 <a href="http://lists.debian.org/debian-edu/">debian-edu@</a> mailing
3949 list.</p>
3950
3951 </div>
3952 <div class="tags">
3953
3954
3955 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>.
3956
3957
3958 </div>
3959 </div>
3960 <div class="padding"></div>
3961
3962 <div class="entry">
3963 <div class="title">
3964 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Victor_Ni_u.html">Debian Edu interview: Victor Nițu</a>
3965 </div>
3966 <div class="date">
3967 17th June 2013
3968 </div>
3969 <div class="body">
3970 <p>The <a href="http://www.skolelinux.org/">Debian Edu and
3971 Skolelinux</a> distribution have users and contributors all around the
3972 globe. And a while back, an enterprising young man showed up on
3973 <a href="irc://irc.debian.org/%23debian-edu">our IRC channel
3974 #debian-edu</a> and started asking questions about how Debian Edu
3975 worked. We answered as good as we could, and even convinced him to
3976 help us with translations. And today I managed to get an interview
3977 with him, to learn more about him.</p>
3978
3979 <p><strong>Who are you, and how do you spend your days?</strong></p>
3980
3981 <p>I'm a 25 year old free software enthusiast, living in Romania,
3982 which is also my country of origin. Back in 2009, at a New Year's Eve
3983 party, I had a very nice <strike>beer</strike> discussion with a
3984 friend, when we realized we have no organised Debian community in our
3985 country. A few days later, we put together the infrastructure for such
3986 community and even gathered a nice Debian-ish crowd. Since then, I
3987 began my quest as a free software hacker and activist and I am
3988 constantly trying to cover as much ground as possible on that
3989 field.</p>
3990
3991 <p>A few years ago I founded a small web development company, which
3992 provided me the flexible schedule I needed so much for my
3993 activities. For the last 13 months, I have been the Technical Director
3994 of <a href="http://ceata.org/">Fundația Ceata</a>, which is a free
3995 software activist organisation endorsed by the FSF and the FSFE, and
3996 the only one we have in our country.</p>
3997
3998 <p><strong>How did you get in contact with the Skolelinux / Debian Edu
3999 project?</strong></p>
4000
4001 <p>The idea of participating in the Debian Edu project was a surprise
4002 even to me, since I never used it before I began getting involved in
4003 it. This year I had a great opportunity to deliver a talk on
4004 educational software, and I knew immediately where to look. It was a
4005 love at first sight, since I was previously involved with some of the
4006 technologies the project incorporates, and I rapidly found a lot of
4007 ways to contribute.</p>
4008
4009 <p>My first contributions consisted in translating the installer and
4010 configuration dialogs, then I found some bugs to squash (I still
4011 haven't fixed them yet though), and I even got my eyes on some other
4012 areas where I can prove myself helpful. Since the appetite for free
4013 software in my country is pretty low, I'll be happy to be the first
4014 one around here advocating for the project's adoption in educational
4015 environments, and maybe even get my hands dirty in creating a flavour
4016 for our own needs. I am not used to make very advanced plannings, so
4017 from now on, time will tell what I'll be doing next, but I think I
4018 have a pretty consistent starting point.</p>
4019
4020 <p><strong>What do you see as the advantages of Skolelinux/Debian
4021 Edu?</strong></p>
4022
4023 <p>Not a long time ago, I was in the position of configuring and
4024 maintaining a LDAP server on some Debian derivative, and I must say it
4025 took me a while. A long time ago, I was maintaining a bigger
4026 Samba-powered infrastructure, and I must say I spent quite a lot of
4027 time on it. I have similar stories about many of the services included
4028 with Skolelinux, and the main advantage I see about it is the
4029 out-of-the box availability of them, making it quite competitive when
4030 it comes to managing a school's network, for example.</p>
4031
4032 <p>Of course, there is more to say about Skolelinux than the
4033 availability of the software included, its flexibility in various
4034 scenarios is something I can't wait to experiment "into the wild" (I
4035 only played with virtual machines so far). And I am sure there is a
4036 lot more I haven't discovered yet about it, being so new within the
4037 project.</p>
4038
4039 <p><strong>What do you see as the disadvantages of Skolelinux / Debian
4040 Edu?</strong></p>
4041
4042 <p>As usual, when it comes to Debian Blends, I see as the biggest
4043 disadvantage the lack of a numerous team dedicated to the
4044 project. Every day I see the same names in the changelogs, and I have
4045 a constantly fear of the bus factor in this story. I'd like to see
4046 Debian Edu advertised more as an entry point into the Debian
4047 ecosystem, especially amongst newcomers and students. IMHO there are a
4048 lot low-hanging fruits in terms of bug squashing, and enough
4049 opportunities to get the feeling of the Debian Project's dynamics. Not
4050 to mention it's a very fun blend to work on!</p>
4051
4052 <p>Derived from the previous statement, is the delay in catching up
4053 with the main Debian release and documentation. This is common though
4054 to all blends and derivatives, but it's an issue we can all work
4055 on.</p>
4056
4057 <p><strong>Which free software do you use daily?</strong></p>
4058
4059 <p>I can hardly imagine myself spending a day without Vim, since my
4060 daily routine covers writing code and hacking configuration files. I
4061 am a fan of the Awesome window manager (but I also like the
4062 Enlightenment project a lot!),
4063 <a href="http://www.claws-mail.org/‎">Claws Mail</a> due to its ease of
4064 use and very configurable behaviour. Recently I fell in love with
4065 <a href="https://launchpad.net/redshift">Redshift</a>, which helps me
4066 get through the night without headaches. Of course, there is much more
4067 stuff in this bag, but I'll need a blog on my own for doing this!</p>
4068
4069 <p><strong>Which strategy do you believe is the right one to use to
4070 get schools to use free software?</strong></p>
4071
4072 <p>Well, on this field, I cannot do much more than experiment right
4073 now. So, being far from having a recipe for success, I can only assume
4074 that:</p>
4075
4076 <ul>
4077
4078 <li>schools would like to get rid of proprietary software</li>
4079
4080 <li>students will love the openness of the system, and will want to
4081 experiment with it - maybe we need to harvest the native curiosity
4082 of teenagers more?</li>
4083
4084 <li>there is no "right one" when it comes to strategies, but it would
4085 be useful to have some success stories published somewhere, so
4086 other can get some inspiration from them (I know I'd promote
4087 them!)</li>
4088
4089 <li>more active promotion - talks, conferences, even small school
4090 lectures can do magical things if they encounter at least one
4091 person interested. Who knows who that person might be? ;-)</li>
4092
4093 </ul>
4094
4095 <p>I also see some problems in getting Skolelinux into schools; for
4096 example, in our country we have a great deal of corruption issues, so
4097 it might be hard(er) to fight against proprietary solutions. Also,
4098 people who relied on commercial software for all their lives, would be
4099 very hard to convert against their will.</p>
4100
4101 </div>
4102 <div class="tags">
4103
4104
4105 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>.
4106
4107
4108 </div>
4109 </div>
4110 <div class="padding"></div>
4111
4112 <div class="entry">
4113 <div class="title">
4114 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Jonathan_Carter.html">Debian Edu interview: Jonathan Carter</a>
4115 </div>
4116 <div class="date">
4117 12th June 2013
4118 </div>
4119 <div class="body">
4120 <p>There is a certain cross-over between the
4121 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux
4122 project</a> and <a href="http://www.edubuntu.org/">the Edubuntu
4123 project</a>, and for example the LTSP packages in Debian are a joint
4124 effort between the projects. One person with a foot in both camps is
4125 Jonathan Carter, which I am now happy to present to you.</p>
4126
4127 <p><strong>Who are you, and how do you spend your days?</strong></p>
4128
4129 <p>I'm a South-African free software geek who lives in Cape Town. My
4130 days vary quite a bit since I'm involved in too many things. As I'm
4131 getting older I'm learning how to focus a bit more :)</p>
4132
4133 <p>I'm also an Edubuntu contributor and I love when there are
4134 opportunities for the Edubuntu and Debian Edu projects to benefit from
4135 each other.</p>
4136
4137 <p><strong>How did you get in contact with the Skolelinux / Debian Edu
4138 project?</strong></p>
4139
4140 <p>I've been somewhat familiar with the project before, but I think my
4141 first direct exposure to the project was when I met Petter
4142 [Reinholdtsen] and Knut [Yrvin] at the Edubuntu summit in 2005 in
4143 London. They provided great feedback that helped the bootstrapping of
4144 Edubuntu. Back then Edubuntu (and even Ubuntu) was still very new and
4145 it was great getting input from people who have been around longer. I
4146 was also still very excitable and said yes to everything and to this
4147 day I have a big todo list backlog that I'm catching up with. I think
4148 over the years the relationship between Edubuntu and Debian-Edu has
4149 been gradually improving, although I think there's a lot that we could
4150 still improve on in terms of working together on packages. I'm sure
4151 we'll get there one day.</p>
4152
4153 <p><strong>What do you see as the advantages of Skolelinux / Debian
4154 Edu?</strong></p>
4155
4156 <p>Debian itself already has so many advantages. I could go on about
4157 it for pages, but in essence I love that it's a very honest project
4158 that puts its users first with no hidden agendas and also produces
4159 very high quality work.</p>
4160
4161 <p>I think the advantage of Debian Edu is that it makes many common
4162 set-up tasks simpler so that administrators can get up and running
4163 with a lot less effort and frustration. At the same time I think it
4164 helps to standardise installations in schools so that it's easier for
4165 community members and commercial suppliers to support.</p>
4166
4167 <p><strong>What do you see as the disadvantages of Skolelinux / Debian
4168 Edu?</strong></p>
4169
4170 <p>I had to re-type this one a few times because I'm trying to
4171 separate "disadvantages" from "areas that need improvement" (which is
4172 what I originally rambled on about)</p>
4173
4174 <p>The biggest disadvantage I can think of is lack of manpower. The
4175 project could do so much more if there were more good contributors. I
4176 think some of the problems are external too. Free software and free
4177 content in education is a no-brainer but it takes some time to catch
4178 on. When you've been working with the same proprietary eco-system for
4179 years and have gotten used to it, it can be hard to adjust to some
4180 concepts in the free software world. It would be nice if there were
4181 more Debian Edu consultants across the world. I'd love to be one
4182 myself but I'm already so over-committed that it's just not possible
4183 currently.</p>
4184
4185 <p>I think the best short-term solution to that large-scale problem is
4186 for schools to be pro-active and share their experiences and grow
4187 their skills in-house. I'm often saddened to see how much money
4188 educational institutions spend on 3rd party solutions that they don't
4189 have access to after the service has ended and they could've gotten so
4190 much more value otherwise by being more self-sustainable and
4191 autonomous.</p>
4192
4193 <p><strong>Which free software do you use daily?</strong></p>
4194
4195 <p>My main laptop dual-boots between Debian and Windows 7. I was
4196 Windows free for years but started dual-booting again last year for
4197 some games which help me focus and relax (Starcraft II in
4198 particular). Gaming support on Linux is improving in leaps and bounds
4199 so I suppose I'll soon be able to regain that disk space :)</p>
4200
4201 <p>Besides that I rely on Icedove, Chromium, Terminator, Byobu, irssi,
4202 git, Tomboy, KVM, VLC and LibreOffice. Recently I've been torn on
4203 which desktop environment I like and I'm taking some refuge in Xfce
4204 while I figure that out. I like tools that keep things simple. I enjoy
4205 Python and shell scripting. I went to an Arduino workshop recently and
4206 it was awesome seeing how easy and simple the IDE software was to get
4207 up and running in Debian compared to the users running Windows and OS
4208 X.</p>
4209
4210 <p>I also use mc which some people frown upon slightly. I got used to
4211 using Norton Commander in the early 90's and it stuck (I think the
4212 people who sneer at it is just jealous that they don't know how to use
4213 it :p)
4214
4215 <p><strong>Which strategy do you believe is the right one to use to
4216 get schools to use free software?</strong></p>
4217
4218 <p>I think trying to force it is unproductive. I also think that in
4219 many cases it's appropriate for schools to use non-free systems and I
4220 don't think that there's any particular moral or ethical problem with
4221 that.</p>
4222
4223 <p>I do think though that free software can already solve so so many
4224 problems in educational institutions and it's just a shame not taking
4225 advantage of that.</p>
4226
4227 <p>I also think that some curricula need serious review. For example,
4228 some areas of the world rely heavily on very specific versions of MS
4229 Office, teaching students to parrot menu items instead of learning the
4230 general concepts. I think that's very unproductive because firstly, MS
4231 Office's interface changes drastically every few years and on top of
4232 that it also locks in a generation to a product that might not be the
4233 best solution for them.</p>
4234
4235 <p>To answer your question, I believe that the right strategy is to
4236 educate and inform, giving someone the information they require to
4237 make a decision that would work for them.</p>
4238
4239 </div>
4240 <div class="tags">
4241
4242
4243 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>.
4244
4245
4246 </div>
4247 </div>
4248 <div class="padding"></div>
4249
4250 <div class="entry">
4251 <div class="title">
4252 <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>
4253 </div>
4254 <div class="date">
4255 11th June 2013
4256 </div>
4257 <div class="body">
4258 <p>When installing RedHat, Fedora, Debian and Ubuntu on some machines,
4259 the screen just turn black when Linux boot, either during installation
4260 or on first boot from the hard disk. I've seen it once in a while the
4261 last few years, but only recently understood the cause. I've seen it
4262 on HP laptops, and on my latest acquaintance the Packard Bell laptop.
4263 The reason seem to be in the wiring of some laptops. The system to
4264 control the screen background light is inverted, so when Linux try to
4265 turn the brightness fully on, it end up turning it off instead. I do
4266 not know which Linux drivers are affected, but this post is about the
4267 i915 driver used by the
4268 <a href="http://www.linlap.com/packard_bell_easynote_lv">Packard Bell
4269 EasyNote LV</a>, Thinkpad X40 and many other laptops.</p>
4270
4271 <p>The problem can be worked around two ways. Either by adding
4272 i915.invert_brightness=1 as a kernel option, or by adding a file in
4273 /etc/modprobe.d/ to tell modprobe to add the invert_brightness=1
4274 option when it load the i915 kernel module. On Debian and Ubuntu, it
4275 can be done by running these commands as root:</p>
4276
4277 <pre>
4278 echo options i915 invert_brightness=1 | tee /etc/modprobe.d/i915.conf
4279 update-initramfs -u -k all
4280 </pre>
4281
4282 <p>Since March 2012 there is
4283 <a href="http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=4dca20efb1a9c2efefc28ad2867e5d6c3f5e1955">a
4284 mechanism in the Linux kernel</a> to tell the i915 driver which
4285 hardware have this problem, and get the driver to invert the
4286 brightness setting automatically. To use it, one need to add a row in
4287 <a href="http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/i915/intel_display.c">the
4288 intel_quirks array</a> in the driver source
4289 <tt>drivers/gpu/drm/i915/intel_display.c</tt> (look for "<tt>static
4290 struct intel_quirk intel_quirks</tt>"), specifying the PCI device
4291 number (vendor number 8086 is assumed) and subdevice vendor and device
4292 number.</p>
4293
4294 <p>My Packard Bell EasyNote LV got this output from <tt>lspci
4295 -vvnn</tt> for the video card in question:</p>
4296
4297 <p><pre>
4298 00:02.0 VGA compatible controller [0300]: Intel Corporation \
4299 3rd Gen Core processor Graphics Controller [8086:0156] \
4300 (rev 09) (prog-if 00 [VGA controller])
4301 Subsystem: Acer Incorporated [ALI] Device [1025:0688]
4302 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- \
4303 ParErr- Stepping- SE RR- FastB2B- DisINTx+
4304 Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- \
4305 <TAbort- <MAbort->SERR- <PERR- INTx-
4306 Latency: 0
4307 Interrupt: pin A routed to IRQ 42
4308 Region 0: Memory at c2000000 (64-bit, non-prefetchable) [size=4M]
4309 Region 2: Memory at b0000000 (64-bit, prefetchable) [size=256M]
4310 Region 4: I/O ports at 4000 [size=64]
4311 Expansion ROM at <unassigned> [disabled]
4312 Capabilities: <access denied>
4313 Kernel driver in use: i915
4314 </pre></p>
4315
4316 <p>The resulting intel_quirks entry would then look like this:</p>
4317
4318 <p><pre>
4319 struct intel_quirk intel_quirks[] = {
4320 ...
4321 /* Packard Bell EasyNote LV11HC needs invert brightness quirk */
4322 { 0x0156, 0x1025, 0x0688, quirk_invert_brightness },
4323 ...
4324 }
4325 </pre></p>
4326
4327 <p>According to the kernel module instructions (as seen using
4328 <tt>modinfo i915</tt>), information about hardware needing the
4329 invert_brightness flag should be sent to the
4330 <a href="http://lists.freedesktop.org/mailman/listinfo/dri-devel">dri-devel
4331 (at) lists.freedesktop.org</a> mailing list to reach the kernel
4332 developers. But my email about the laptop sent 2013-06-03 have not
4333 yet shown up in
4334 <a href="http://lists.freedesktop.org/archives/dri-devel/2013-June/thread.html">the
4335 web archive for the mailing list</a>, so I suspect they do not accept
4336 emails from non-subscribers. Because of this, I sent my patch also to
4337 the Debian bug tracking system instead as
4338 <a href="http://bugs.debian.org/710938">BTS report #710938</a>, to make
4339 sure the patch is not lost.</p>
4340
4341 <p>Unfortunately, it is not enough to fix the kernel to get Laptops
4342 with this problem working properly with Linux. If you use Gnome, your
4343 worries should be over at this point. But if you use KDE, there is
4344 something in KDE ignoring the invert_brightness setting and turning on
4345 the screen during login. I've reported it to Debian as
4346 <a href="http://bugs.debian.org/711237">BTS report #711237</a>, and
4347 have no idea yet how to figure out exactly what subsystem is doing
4348 this. Perhaps you can help? Perhaps you know what the Gnome
4349 developers did to handle this, and this can give a clue to the KDE
4350 developers? Or you know where in KDE the screen brightness is changed
4351 during login? If so, please update the BTS report (or get in touch if
4352 you do not know how to update BTS).</p>
4353
4354 <p>Update 2013-07-19: The correct fix for this machine seem to be
4355 acpi_backlight=vendor, to disable ACPI backlight support completely,
4356 as the ACPI information on the machine is trash and it is better to
4357 leave it to the intel video driver to control the screen
4358 backlight.</p>
4359
4360 </div>
4361 <div class="tags">
4362
4363
4364 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>.
4365
4366
4367 </div>
4368 </div>
4369 <div class="padding"></div>
4370
4371 <div class="entry">
4372 <div class="title">
4373 <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>
4374 </div>
4375 <div class="date">
4376 10th June 2013
4377 </div>
4378 <div class="body">
4379 <p>The third wheezy based alpha release of Debian Edu was wrapped up
4380 today. This is the release announcement:</p>
4381
4382 <p><strong>New features for Debian Edu 7.0.0 alpha2 released
4383 2013-06-10</strong></p>
4384
4385 <p>This is the release notes for for Debian Edu / Skolelinux 7.0.0 edu
4386 alpha2, based on Debian with codename "Wheezy".</p>
4387
4388 <p><strong>About Debian Edu and Skolelinux</strong></p>
4389
4390 <p><a href="http://www.skolelinux.org/">Debian Edu, also known as
4391 Skolelinux</a>, is a Linux distribution based on Debian providing an
4392 out-of-the box environment of a completely configured school
4393 network. Immediately after installation a school server running all
4394 services needed for a school network is set up just waiting for users
4395 and machines being added via GOsa², a comfortable Web-UI. A netbooting
4396 environment is prepared using PXE, so after initial installation of
4397 the main server from CD, DVD or USB stick all other machines can be
4398 installed via the network. The provided school server provides LDAP
4399 database and Kerberos authentication service, centralized home
4400 directories, DHCP server, web proxy and many other services. The
4401 desktop contains
4402 <a href="http://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html">more
4403 than 60 educational software packages</a> and more are available from
4404 the Debian archive, and schools can choose between KDE, Gnome, LXDE
4405 and Xfce desktop environment.</p>
4406
4407 <p>This is the third test release based on Debian Wheezy. Basically
4408 this is an updated and slightly improved version compared to the
4409 Squeeze release.</p>
4410
4411 <p><strong>Software updates</strong></p>
4412
4413 <ul>
4414
4415 <li>Iceweasel was updated from 10 to 17. (DSA 2699-1)
4416 <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).
4417 <li>Switched xrdp on thin client servers to use tightvncserver instead of xvnc4.
4418 <li>Now install software oscilloscope xoscope by default.
4419 <li>Now install music tools gtick, lingot and pianobooster by default.
4420
4421 </ul>
4422
4423 <p><strong>Other changes</strong></p>
4424
4425 <ul>
4426
4427 <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.
4428 <li>Updated translation of the installation.
4429 <li>New Romanian translation.
4430 <li>Fix security problem causing root and first user password to no longer show up in /var/cache/debconf/templates.dat.
4431 <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).
4432 <li>Made roaming workstation setup more robust in non-Debian Edu environments.
4433 <li>New script debian-edu-bless to transform a Debian installation to a Debian Edu profile.
4434 <li>Adjust Iceweasel setup to improve performance when $HOME is on NFS.
4435 <li>More testsuite tests.
4436 <li>Make automatic proxy configuration more robust.
4437 <li>Adjust GOsa² GUI configuration.
4438
4439 <li>Update thin client and diskless workstation setup to work with
4440 LTSP in Wheezy.</li>
4441
4442 <li>Diskless workstations now run out of the box -- no need to set
4443 them up with GOsa².</li>
4444
4445 <li>Update IMAP server setup. </li>
4446
4447 <li>Fix login into Skolelinux Backup Tool (Closed in
4448 slbackup-php/0.4.4-1: #700257: slbackup-php: Fails to submit correctly
4449 entered password). </li>
4450
4451 </ul>
4452
4453 <p><strong>Known issues</strong></p>
4454
4455 <ul>
4456
4457 <li>DVD binary and source images are not yet ready.</li>
4458
4459 <li>No mass import of user account data in GOsa (ldif or csv)
4460 available yet (Open in gosa/2.7.4-4: #698840: gosa-plugin-ldapmanager:
4461 missing import feature).</li>
4462
4463 <li>Missing artwork for the KDE desktop (and probably a few others). </li>
4464
4465 <li>KDE Debian submenu lacks icons (Closed: #502192: menu-xdg: invents
4466 own icon names instead of using existing). This will remain
4467 unfixed.</li>
4468
4469 </ul>
4470
4471 <p><strong>Where to get it</strong></p>
4472
4473 <p>To download the multiarch netinstall CD release you can use</p>
4474
4475 <ul>
4476
4477 <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>
4478
4479 <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>
4480
4481 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.0+edu0~a2-CD.iso .</li>
4482
4483 </ul>
4484
4485 <p>The MD5SUM of this image is: 27bbcace407743382f3c42c08dbe8178
4486 <br>The SHA1SUM of this image is: e35f7d7908566cd3075375b3721fa10ee420d419</p>
4487
4488 <p><strong>How to report bugs</strong></p>
4489
4490 <p><a href="http://wiki.debian.org/DebianEdu/HowTo/ReportBugs">http://wiki.debian.org/DebianEdu/HowTo/ReportBugs</a>
4491
4492 </div>
4493 <div class="tags">
4494
4495
4496 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>.
4497
4498
4499 </div>
4500 </div>
4501 <div class="padding"></div>
4502
4503 <div class="entry">
4504 <div class="title">
4505 <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>
4506 </div>
4507 <div class="date">
4508 5th June 2013
4509 </div>
4510 <div class="body">
4511 <p>Here is a call for help from the Debian Edu / Skolelinux project.
4512 We have two problems blocking the release of the Wheezy version we
4513 hope to get released soon. The two problems require some with PHP
4514 skills, and we seem to lack anyone with both time and PHP skills in
4515 the project:
4516
4517 <ol>
4518
4519 <li>It is impossible to log into the slbackup web interface
4520 (slbackup-php) using the root user and password. This is
4521 <a href="http://bugs.debian.org/700257">BTS report #700257</a>.
4522 This used to work, but stopped working some time since Squeeze.
4523 Perhaps some obsolete PHP feature was used?</li>
4524
4525 <li>It is not possible to "mass import" user lists in Gosa, neither
4526 using ldif nor using CSV files. The feature was disabled after a
4527 major rewrite of Gosa, and need to be ported to the new system.
4528 This is <a href="http://bugs.debian.org/698840">BTS report
4529 #698840</a>.</li>
4530
4531 </ol>
4532
4533 <p>If you can help us, please join us on IRC
4534 (<a href="irc://irc.debian.org/%23debian-edu">#debian-edu on
4535 irc.debian.org</a>) and provide patches via the BTS.</p>
4536
4537 </div>
4538 <div class="tags">
4539
4540
4541 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>.
4542
4543
4544 </div>
4545 </div>
4546 <div class="padding"></div>
4547
4548 <div class="entry">
4549 <div class="title">
4550 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__C_dric_Boutillier.html">Debian Edu interview: Cédric Boutillier</a>
4551 </div>
4552 <div class="date">
4553 4th June 2013
4554 </div>
4555 <div class="body">
4556 <p>It has been a while since my last English
4557 <a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>
4558 interview last November. But the developers and translators are still
4559 pulling along to get the Wheezy based release out the door, and this
4560 time I managed to get an interview from one of the French translators
4561 in the project, Cédric Boutillier.</p>
4562
4563 <p><strong>Who are you, and how do you spend your days?</strong></p>
4564
4565 <p>I am 34 year old. I live near Paris, France. I am an assistant
4566 professor in probability theory. I spend my daytime teaching
4567 mathematics at the university and doing fundamental research in
4568 probability in connexion with combinatorics and statistical physics.</p>
4569
4570 <p>I have been involved in the Debian project for a couple of years
4571 and became Debian Developer a few months ago. I am working on Ruby
4572 packaging, publicity and translation.</p>
4573
4574 <p><strong>How did you get in contact with the Skolelinux / Debian Edu
4575 project?</strong></p>
4576
4577 <p>I came to the Debian Edu project after a call for translation of
4578 <a href="http://wiki.debian.org/DebianEdu/Documentation/Manuals">the
4579 Debian Edu manual</a> for the release of Debian Edu Squeeze. Since
4580 then, I have been working on updating the French translation of the
4581 manual.
4582
4583 <p>I had the opportunity to make an installation of Debian Edu in a
4584 virtual machine when I was preparing localised version of some screen
4585 shots for the manual. I was amazed to see it worked out of the box and
4586 how comprehensive the list of software installed by default was.</p>
4587
4588 <p>What amazed me was the complete network infrastructure directly
4589 ready to use, which can and the nice administration interface provided
4590 by <a href="https://oss.gonicus.de/labs/gosa/">GOsa²</a>. What pleased
4591 me also was the fact that among the software installed by default,
4592 there were many "traditional" educative software to learn languages,
4593 to count, to program... but also software to develop creativity and
4594 artistic skills with music (<a href="http://ardour.org/">Ardour</a>,
4595 <a href="http://audacity.sourceforge.net/">Audacity</a>) and
4596 movies/animation (I was especially thinking of
4597 <a href="http://linuxstopmotion.sourceforge.net/">Stopmotion</a>).</p>
4598
4599 <p>I am following the development of Debian Edu and am hanging out on
4600 <a href="irc://irc.debian.org/%23debian-edu">#debian-edu</a>.
4601 Unfortunately, I don't much time to get more involved in this
4602 beautiful project.</p>
4603
4604 <p><strong>What do you see as the advantages of Skolelinux / Debian
4605 Edu?</strong></p>
4606
4607 <p>For me, the main advantages of Skolelinux/Debian Edu are its
4608 community of experts and its precise documentation, as well as the
4609 fact that it provides a solution ready to use.</p>
4610
4611 <p>I would add also the fact that it is based on the rock solid Debian
4612 distribution, which ensures stability and provides a huge collection
4613 of educational free software.</p>
4614
4615 <p><strong>What do you see as the disadvantages of Skolelinux / Debian
4616 Edu?</strong></p>
4617
4618 <p>Maybe the lack of manpower to do lobbying on the
4619 project. Sometimes, people who need to take decisions concerning IT do
4620 not have all the elements to evaluate properly free software
4621 solutions. The fact that support by a company may be difficult to find
4622 is probably a problem if the school does not have IT personnel.</p>
4623
4624 <p>One can find support from a company by looking at
4625 <a href="http://wiki.debian.org/DebianEdu/Help/ProfessionalHelp">the
4626 wiki dokumentation</a>, where some countries already have a number of
4627 companies providing support for Debian Edu, like Germany or
4628 Norway. This list is easy to find readily from the manual. However,
4629 for other countries, like France, the list is empty. I guess that
4630 consultants proposing support for Debian would be able to provide some
4631 support for Debian Edu as well.</p>
4632
4633 <p><strong>Which free software do you use daily?</strong></p>
4634
4635 <p>I am using the KDE Plasma Desktop. But the pieces of software I use
4636 most runs in a terminal: Mutt and OfflineIMAP for emails, latex for
4637 scientific documents, mpd for music. VIM is my editor of choice. I am
4638 also using the mathematical software
4639 <a href="http://www.scilab.org/en/scilab/about‎">Scilab</a> and
4640 <a href="http://www.sagemath.org/index.html‎">Sage</a> (built from
4641 source as not completely packaged for Debian, yet).
4642
4643 <p><strong>Do you have any suggestions for teachers interested in
4644 using the free software in Debian to teach mathematics and
4645 statistics?</strong></p>
4646
4647 <p>I do not have any "nice" recommendations for statistics. At our
4648 university, we use both <a href="http://www.r-project.org/‎">R</a> and
4649 Scilab to teach statistics and probabilistic simulations. For
4650 geometry, there are nice programs:</p>
4651
4652 <ul>
4653
4654 <li><a href="http://www.drgeo.eu/">drgeo</a> and
4655 <a href="http://edu.kde.org/applications/all/kig‎">kig</a> to do
4656 constructions in planar geometry
4657
4658 <li><a href="http://www.geom.uiuc.edu/software/download/kali.html">kali</a>
4659 to discover symmetry groups (the so-called wallpapers and frieze
4660 groups), although the interface looks a bit old.</li>
4661
4662 </ul>
4663
4664 <p>I like also
4665 <a href="http://edu.kde.org/applications/all/cantor">cantor</a>, which
4666 provides a uniform interface to SciLab, Sage,
4667 <a href="http://directory.fsf.org/wiki/Octave‎">Octave</a>, etc...</p>
4668
4669 <p><strong>Which strategy do you believe is the right one to use to
4670 get schools to use free software?</strong></p>
4671
4672 <p>My suggestions would be to</p>
4673
4674 <ul>
4675
4676 <li>advertise the reduction of costs when free software is used.</li>
4677
4678 <li>communicate about the quality of free software projects, using
4679 well known examples like Firefox, ThunderBird and
4680 OpenOffice.org/LibreOffice.</li>
4681
4682 <li>advertise the living and strong community around the project.</li>
4683
4684 <li>show that it is not more difficult to use than any other
4685 system.</li>
4686
4687 </ul>
4688
4689 </div>
4690 <div class="tags">
4691
4692
4693 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>.
4694
4695
4696 </div>
4697 </div>
4698 <div class="padding"></div>
4699
4700 <div class="entry">
4701 <div class="title">
4702 <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>
4703 </div>
4704 <div class="date">
4705 1st June 2013
4706 </div>
4707 <div class="body">
4708 <p>Included in <a href="http://www.skolelinux.org/">Debian Edu /
4709 Skolelinux</a>, there are quite a lot of educational software.
4710 Created to help teachers teach, and pupils learn. We have tried to
4711 tag them all using debtags use::learning and role::program, and using
4712 the debtags I was happy to be able to create a collage of the
4713 educational software packages installed by default, sorted by the
4714 debtag field. Here it is. Click on a image to learn more about the
4715 program.</p>
4716
4717 <!-- 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 -->
4718
4719 <p><strong>field::arts</strong></p>
4720 <p>
4721 <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>
4722 <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>
4723 <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>
4724 <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>
4725 <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>
4726 <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>
4727 <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>
4728 <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>
4729 <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>
4730 <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>
4731 <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>
4732 <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>
4733 <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>
4734 <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>
4735 </p>
4736
4737 <p><strong>field::astronomy</strong></p>
4738 <p>
4739 <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>
4740 <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>
4741 <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>
4742 <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>
4743 <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>
4744 <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>
4745 </p>
4746
4747 <p><strong>field::biology:structural</strong></p>
4748 <p>
4749 <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>
4750 </p>
4751
4752 <p><strong>field::chemistry</strong></p>
4753 <p>
4754 <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>
4755 <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>
4756 <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>
4757 <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>
4758 <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>
4759 <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>
4760 <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>
4761 <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>
4762 <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>
4763 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=viewmol'>[viewmol]</a>
4764 <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>
4765 </p>
4766
4767 <p><strong>field::electronics</strong></p>
4768 <p>
4769 <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>
4770 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=gpsim'>[gpsim]</a>
4771 </p>
4772
4773 <p><strong>field::geography</strong></p>
4774 <p>
4775 <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>
4776 <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>
4777 <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>
4778 </p>
4779
4780 <p><strong>field::linguistics</strong></p>
4781 <p>
4782 <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>
4783 <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>
4784 <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>
4785 <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>
4786 <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>
4787 </p>
4788
4789 <p><strong>field::mathematics</strong></p>
4790 <p>
4791 <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>
4792 <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>
4793 <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>
4794 <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>
4795 <a href='http://packages.debian.org/search?searchon=names&exact=1&suite=all&section=all&keywords=geomview'>[geomview]</a>
4796 <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>
4797 <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>
4798 <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>
4799 <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>
4800 <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>
4801 <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>
4802 <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>
4803 <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>
4804 <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>
4805 <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>
4806 <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>
4807 <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>
4808 </p>
4809
4810 <p><strong>field::physics</strong></p>
4811 <p>
4812 <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>
4813 <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>
4814 </p>
4815
4816 <p><strong>field::TODO</strong></p>
4817 <p>
4818 <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>
4819 <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>
4820 <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>
4821 <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>
4822 <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>
4823 <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>
4824 <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>
4825 <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>
4826 <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>
4827 <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>
4828 </p>
4829
4830 <p>In total, 61 applications. 3 of them lacked screen shots on
4831 <a href="http://screenshot.debian.net">screenshot.debian.net</a>. If
4832 you know of some packages we should install by default, please let us
4833 know on <a href="irc://irc.debian.org/%23debian-edu">IRC, #debian-edu
4834 on irc.debian.org</a>, or our
4835 <a href="http://lists.debian.org/debian-edu/">mailing list
4836 debian-edu@</a>.</p>
4837
4838 </div>
4839 <div class="tags">
4840
4841
4842 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>.
4843
4844
4845 </div>
4846 </div>
4847 <div class="padding"></div>
4848
4849 <div class="entry">
4850 <div class="title">
4851 <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>
4852 </div>
4853 <div class="date">
4854 27th May 2013
4855 </div>
4856 <div class="body">
4857 <p>Two days ago, I asked
4858 <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
4859 I could install Linux on a Packard Bell EasyNote LV computer
4860 preinstalled with Windows 8</a>. I found a solution, but am horrified
4861 with the obstacles put in the way of Linux users on a laptop with UEFI
4862 and Windows 8.</p>
4863
4864 <p>I never found out if the cause of my problems were the use of UEFI
4865 secure booting or fast boot. I suspect fast boot was the problem,
4866 causing the firmware to boot directly from HD without considering any
4867 key presses and alternative devices, but do not know UEFI settings
4868 enough to tell.</p>
4869
4870 <p>There is no way to install Linux on the machine in question without
4871 opening the box and disconnecting the hard drive! This is as far as I
4872 can tell, the only way to get access to the firmware setup menu
4873 without accepting the Windows 8 license agreement. I am told (and
4874 found description on how to) that it is possible to configure the
4875 firmware setup once booted into Windows 8. But as I believe the terms
4876 of that agreement are completely unacceptable, accepting the license
4877 was never an alternative. I do not enter agreements I do not intend
4878 to follow.</p>
4879
4880 <p>I feared I had to return the laptops and ask for a refund, and
4881 waste many hours on this, but luckily there was a way to get it to
4882 work. But I would not recommend it to anyone planning to run Linux on
4883 it, and I have become sceptical to Windows 8 certified laptops. Is
4884 this the way Linux will be forced out of the market place, by making
4885 it close to impossible for "normal" users to install Linux without
4886 accepting the Microsoft Windows license terms? Or at least not
4887 without risking to loose the warranty?</p>
4888
4889 <p>I've updated the
4890 <a href="http://www.linlap.com/packard_bell_easynote_lv">Linux Laptop
4891 wiki page for Packard Bell EasyNote LV</a>, to ensure the next person
4892 do not have to struggle as much as I did to get Linux into the
4893 machine.</p>
4894
4895 <p>Thanks to Bob Rosbag, Florian Weimer, Philipp Kern, Ben Hutching,
4896 Michael Tokarev and others for feedback and ideas.</p>
4897
4898 </div>
4899 <div class="tags">
4900
4901
4902 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>.
4903
4904
4905 </div>
4906 </div>
4907 <div class="padding"></div>
4908
4909 <div class="entry">
4910 <div class="title">
4911 <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>
4912 </div>
4913 <div class="date">
4914 25th May 2013
4915 </div>
4916 <div class="body">
4917 <p>I've run into quite a problem the last few days. I bought three
4918 new laptops for my parents and a few others. I bought Packard Bell
4919 Easynote LV to run Kubuntu on and use as their home computer. But I
4920 am completely unable to figure out how to install Linux on it. The
4921 computer is preinstalled with Windows 8, and I suspect it uses UEFI
4922 instead of a BIOS to boot.</p>
4923
4924 <p>The problem is that I am unable to get it to PXE boot, and unable
4925 to get it to boot the Linux installer from my USB stick. I have yet
4926 to try the DVD install, and still hope it will work. when I turn on
4927 the computer, there is no information on what buttons to press to get
4928 the normal boot menu. I expect to get some boot menu to select PXE or
4929 USB stick booting. When booting, it first ask for the language to
4930 use, then for some regional settings, and finally if I will accept the
4931 Windows 8 terms of use. As these terms are completely unacceptable to
4932 me, I have no other choice but to turn off the computer and try again
4933 to get it to boot the Linux installer.</p>
4934
4935 <p>I have gathered my findings so far on a Linlap page about the
4936 <a href="http://www.linlap.com/packard_bell_easynote_lv">Packard Bell
4937 EasyNote LV</a> model. If you have any idea how to get Linux
4938 installed on this machine, please get in touch or update that wiki
4939 page. If I can't find a way to install Linux, I will have to return
4940 the laptop to the seller and find another machine for my parents.</p>
4941
4942 <p>I wonder, is this the way Linux will be forced out of the market
4943 using UEFI and "secure boot" by making it impossible to install Linux
4944 on new Laptops?</p>
4945
4946 </div>
4947 <div class="tags">
4948
4949
4950 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>.
4951
4952
4953 </div>
4954 </div>
4955 <div class="padding"></div>
4956
4957 <div class="entry">
4958 <div class="title">
4959 <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>
4960 </div>
4961 <div class="date">
4962 17th May 2013
4963 </div>
4964 <div class="body">
4965 <p><a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> is
4966 an operating system based on Debian intended for use in schools. It
4967 contain a turn-key solution for the computer network provided to
4968 pupils in the primary schools. It provide both the central server,
4969 network boot servers and desktop environments with heaps of
4970 educational software. The project was founded almost 12 years ago,
4971 2001-07-02. If you want to support the project, which is in need for
4972 cash to fund developer gatherings and other project related activity,
4973 <a href="http://www.linuxiskolen.no/slxdebianlabs/donations.html">please
4974 donate some money</a>.
4975
4976 <p>A topic that come up again and again on the Debian Edu mailing
4977 lists and elsewhere, is the question on how to transform a Debian or
4978 Ubuntu installation into a Debian Edu installation. It isn't very
4979 hard, and last week I wrote a script to replicate the steps done by
4980 the Debian Edu installer.</p>
4981
4982 <p>The script,
4983 <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/>
4984 in the debian-edu-config package, will go through these six steps and
4985 transform an existing Debian Wheezy or Ubuntu (untested) installation
4986 into a Debian Edu Workstation:</p>
4987
4988 <ol>
4989
4990 <li>Add skolelinux related APT sources.</li>
4991 <li>Create /etc/debian-edu/config with the wanted configuration.</li>
4992 <li>Install debian-edu-install to load preseeding values and pull in
4993 our configuration.</li>
4994 <li>Preseed debconf database with profile setup in
4995 /etc/debian-edu/config, and run tasksel to install packages
4996 according to the profile specified in the config above,
4997 overriding some of the Debian automation machinery.</li>
4998 <li>Run debian-edu-cfengine-D installation to configure everything
4999 that could not be done using preseeding.</li>
5000 <li>Ask for a reboot to enable all the configuration changes.</li>
5001
5002 </ol>
5003
5004 <p>There are some steps in the Debian Edu installation that can not be
5005 replicated like this. Disk partitioning and LVM setup, for example.
5006 So this script just assume there is enough disk space to install all
5007 the needed packages.</p>
5008
5009 <p>The script was created to help a Debian Edu student working on
5010 setting up <a href="http://www.raspberrypi.org">Raspberry Pi</a> as a
5011 Debian Edu client, and using it he can take the existing
5012 <a href="http://www.raspbian.org/FrontPage‎">Raspbian</a> installation and
5013 transform it into a fully functioning Debian Edu Workstation (or
5014 Roaming Workstation, or whatever :).</p>
5015
5016 <p>The default setting in the script is to create a KDE Workstation.
5017 If a LXDE based Roaming workstation is wanted instead, modify the
5018 PROFILE and DESKTOP values at the top to look like this instead:</p>
5019
5020 <p><pre>
5021 PROFILE="Roaming-Workstation"
5022 DESKTOP="lxde"
5023 </pre></p>
5024
5025 <p>The script could even become useful to set up Debian Edu servers in
5026 the cloud, by starting with a virtual Debian installation at some
5027 virtual hosting service and setting up all the services on first
5028 boot.</p>
5029
5030 </div>
5031 <div class="tags">
5032
5033
5034 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>.
5035
5036
5037 </div>
5038 </div>
5039 <div class="padding"></div>
5040
5041 <div class="entry">
5042 <div class="title">
5043 <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>
5044 </div>
5045 <div class="date">
5046 14th May 2013
5047 </div>
5048 <div class="body">
5049 <p>The <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux
5050 project</a> is making great progress and made its second Wheezy based
5051 release today. This is the release announcement:</p>
5052
5053 <p><strong>New features for Debian Edu 7.0.0 alpha1 released
5054 2013-05-14</strong></p>
5055
5056 <p>This is the release notes for for Debian Edu / Skolelinux 7.0.0 edu
5057 alpha1, based on <a href="http://www.debian.org">Debian</a> with
5058 codename "Wheezy".</p>
5059
5060 <p><strong>About Debian Edu and Skolelinux</strong></p>
5061
5062 <p>Debian Edu, also known as Skolelinux, is a Linux distribution based
5063 on Debian providing an out-of-the box environment of a completely
5064 configured school network. Immediatly after installation a school
5065 server running all services needed for a school network is set up just
5066 waiting for users and machines being added via GOsa², a comfortable
5067 Web-UI. A netbooting environment is prepared using PXE, so after
5068 initial installation of the main server from CD, DVD or USB stick all
5069 other machines can be installed via the network.</p>
5070
5071 <p>This is the first test release based on Wheezy (which currently is
5072 not released yet). Basically this is an updated and slightly improved
5073 version compared to the Squeeze release.</p>
5074
5075 <p><strong>Software updates</strong></p>
5076 <ul>
5077 <li>Install freemind (0.9.0) by default, and stop installing vym by
5078 default.</li>
5079 <li>Install chromium (26.0.1410.43) by default.</li>
5080 <li>Install goplay (0.5-1.1) to make golearn available by default.</li>
5081 <li>Updated support for Japanese input methods, now based on
5082 ibus-anthy.</li>
5083 </ul>
5084
5085 <p><strong>Other changes</strong></p>
5086 <ul>
5087
5088 <li>Switched default file system from ext3 to ext4 for speed and
5089 reliability improvements.</li>
5090 <li>Got rid of unwanted winbind daemon and PAM setup activated because
5091 of <a href="http://bugs.debian.org/706434">706434</a>.</li>
5092 <li>Extended and improved the testsuite tests to detect more possible
5093 problems.</li>
5094 <li>Corrected proxy handling to not set http_proxy to a bogus
5095 direct:// URL.</li>
5096 <li>Corrected proxy setup for diskless workstations.</li>
5097 <li>Corrected PXE setup to use our updated udebs during installation.</li>
5098 <li>Made installation handling of low entropy level more robust.</li>
5099 <li>Create larger partitions for Roaming workstations and Thin client
5100 servers, to make room for all the software installed.</li>
5101 <li>Fix bug in Roaming workstation PAM setup, making it impossible to
5102 log in (<a href="http://bugs.debian.org/706753">706753</a>).</li>
5103 </ul>
5104
5105 <p><strong>Known issues</strong></p>
5106 <ul>
5107
5108 <li>IP resolution for the local hostname give useless IPv6 address
5109 (<a href="http://bugs.debian.org/705900">705900</a>). Only install
5110 libnss-myhostname on roaming workstations until it is fixed.</li>
5111 <li>DVD images are not yet ready.</li>
5112 <li>No mass import of user account data in GOsa (ldif or csv)
5113 available yet (<a href="http://bugs.debian.org/698840">698840</a>).</li>
5114 <li>Missing artwork for the KDE desktop (and probably a few others).</li>
5115 <li>KDE Debian submenu lacks icons.</li>
5116 <li>LXDE menu lacks entry for changing GOsa password
5117 (website). Installing gosa-desktop will be an option.</li>
5118 <li>Backup configuration via web interface is impossible due to
5119 password submission problem
5120 (<a href="http://bugs.debian.org/700257">700257</a>).</li>
5121
5122 </ul>
5123
5124 <p><strong>Where to get it</strong></p>
5125
5126 <p>To download the multiarch netinstall CD release you can use</p>
5127 <ul>
5128
5129 <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>
5130 <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>
5131 <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>
5132
5133 </ul>
5134
5135 <p>The MD5SUM of this image is: 685ed76c1aa8e44b12d3fde21faf450b</p>
5136
5137 <p>The SHA1SUM of this image is: 6c874de157024da13e115bab29c068080a11ec4c</p>
5138
5139 <p><strong>How to report bugs</strong></p>
5140
5141 <p><a href="http://wiki.debian.org/DebianEdu/HowTo/ReportBugs">http://wiki.debian.org/DebianEdu/HowTo/ReportBugs</a></p>
5142
5143 </div>
5144 <div class="tags">
5145
5146
5147 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>.
5148
5149
5150 </div>
5151 </div>
5152 <div class="padding"></div>
5153
5154 <div class="entry">
5155 <div class="title">
5156 <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>
5157 </div>
5158 <div class="date">
5159 11th May 2013
5160 </div>
5161 <div class="body">
5162 <P>In January,
5163 <a href="http://people.skolelinux.org/pere/blog/New_IRC_channel_for_LEGO_designers_using_Debian.html">I
5164 announced a</a> new <a href="irc://irc.debian.org/%23debian-lego">IRC
5165 channel #debian-lego</a>, for those of us in the Debian and Linux
5166 community interested in <a href="http://www.lego.com/">LEGO</a>, the
5167 marvellous construction system from Denmark. We also created
5168 <a href="http://wiki.debian.org/LegoDesigners">a wiki page</a> to have
5169 a place to take notes and write down our plans and hopes. And several
5170 people showed up to help. I was very happy to see the effect of my
5171 call. Since the small start, we have a debtags tag
5172 <a href="http://debtags.debian.net/search/bytag?wl=hardware::hobby:lego">hardware::hobby:lego</a>
5173 tag for LEGO related packages, and now count 10 packages related to
5174 LEGO and <a href="http://mindstorms.lego.com/">Mindstorms</a>:</p>
5175
5176 <p><table>
5177 <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>
5178 <tr><td><a href="http://packages.qa.debian.org/leocad">leocad</a></td><td>virtual brick CAD software</td></tr>
5179 <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>
5180 <tr><td><a href="http://packages.qa.debian.org/lnpd">lnpd</a></td><td>daemon for LNP communication with BrickOS</td></tr>
5181 <tr><td><a href="http://packages.qa.debian.org/nbc">nbc</a></td><td>compiler for LEGO Mindstorms NXT bricks</td></tr>
5182 <tr><td><a href="http://packages.qa.debian.org/nqc">nqc</a></td><td>Not Quite C compiler for LEGO Mindstorms RCX</td></tr>
5183 <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>
5184 <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>
5185 <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>
5186 <tr><td><a href="http://packages.qa.debian.org/t2n">t2n</a></td><td>simple command-line tool for Lego NXT</td></tr>
5187 </table></p>
5188
5189 <p>Some of these are available in Wheezy, and all but one are
5190 currently available in Jessie/testing. leocad is so far only
5191 available in experimental.</p>
5192
5193 <p>If you care about LEGO in Debian, please join us on IRC and help
5194 adding the rest of the great free software tools available on Linux
5195 for LEGO designers.</p>
5196
5197 </div>
5198 <div class="tags">
5199
5200
5201 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>.
5202
5203
5204 </div>
5205 </div>
5206 <div class="padding"></div>
5207
5208 <div class="entry">
5209 <div class="title">
5210 <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>
5211 </div>
5212 <div class="date">
5213 5th May 2013
5214 </div>
5215 <div class="body">
5216 <p>When I woke up this morning, I was very happy to see that the
5217 <a href="http://www.debian.org/News/2013/20130504">release announcement
5218 for Debian Wheezy</a> was waiting in my mail box. This is a great
5219 Debian release, and I expect to move my machines at home over to it fairly
5220 soon.</p>
5221
5222 <p>The new debian release contain heaps of new stuff, and one program
5223 in particular make me very happy to see included. The
5224 <a href="http://scratch.mit.edu/">Scratch</a> program, made famous by
5225 the <a href="http://www.code.org/">Teach kids code</a> movement, is
5226 included for the first time. Alongside similar programs like
5227 <a href="http://edu.kde.org/kturtle/">kturtle</a> and
5228 <a href="http://wiki.sugarlabs.org/go/Activities/Turtle_Art">turtleart</a>,
5229 it allow for visual programming where syntax errors can not happen,
5230 and a friendly programming environment for learning to control the
5231 computer. Scratch will also be included in the next release of Debian
5232 Edu.</a>
5233
5234 <p>And now that Wheezy is wrapped up, we can wrap up the next Debian
5235 Edu/Skolelinux release too. The
5236 <a href="http://lists.debian.org/debian-edu/2013/04/msg00132.html">first
5237 alpha release</a> went out last week, and the next should soon
5238 follow.<p>
5239
5240 </div>
5241 <div class="tags">
5242
5243
5244 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>.
5245
5246
5247 </div>
5248 </div>
5249 <div class="padding"></div>
5250
5251 <div class="entry">
5252 <div class="title">
5253 <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>
5254 </div>
5255 <div class="date">
5256 26th April 2013
5257 </div>
5258 <div class="body">
5259 <p>The Debian Edu / Skolelinux project is still going strong and made
5260 its first Wheezy based release today. This is the release
5261 announcement:</p>
5262
5263 <p><strong>New features for Debian Edu ~7.0.0 alpha0 released
5264 2013-04-26</strong></p>
5265
5266 <p>This is the release notes for for Debian Edu / Skolelinux ~7.0.0
5267 edu alpha0, based on Debian with codename "Wheezy".</p>
5268
5269 <p><strong>About Debian Edu and Skolelinux</strong></p>
5270
5271 <p><a href="http://www.skolelinux.org/">Debian Edu, also known as
5272 Skolelinux</a>, is a Linux distribution based on Debian providing an
5273 out-of-the box environment of a completely configured school
5274 network. Immediatly after installation a school server running all
5275 services needed for a school network is set up just waiting for users
5276 and machines being added via GOsa², a comfortable Web-UI. A netbooting
5277 environment is prepared using PXE, so after initial installation of
5278 the main server from CD, DVD or USB stick all other machines can be
5279 installed via the network.</p>
5280
5281 <p>This is the first test release based on Wheezy (which currently is
5282 not released yet). Basically this is an updated and slightly improved
5283 version compared to the Squeeze release.</p>
5284
5285 <p><strong>Software updates</strong></p>
5286
5287 <ul>
5288 <li>Everything which is new in Debian Wheezy, eg:
5289 <ul>
5290 <li>Linux kernel 3.2.x</li>
5291 <li>Desktop environments KDE "Plasma" 4.8.4, GNOME 3.4, and LXDE 4
5292 (KDE is installed by default; to choose GNOME or LXDE: see
5293 manual.)</li>
5294 <li>Web browser Iceweasel 10 ESR</li>
5295 <li>LibreOffice 3.5.4</li>
5296 <li>LTSP 5.4.2</li>
5297 <li>GOsa 2.7.4</li>
5298 <li>CUPS print system 1.5.3</li>
5299 <li>Educational toolbox GCompris 12.01</li>
5300 <li>Music creator Rosegarden 12.04</li>
5301 <li>Image editor Gimp 2.8.2</li>
5302 <li>Virtual universe Celestia 1.6.1</li>
5303 <li>Virtual stargazer Stellarium 0.11.3</li>
5304 <li>Scratch visual programming environment 1.4.0.6</li>
5305 <li>New version of debian-installer from Debian Wheezy, see
5306 <a href="http://www.debian.org/releases/wheezy/installmanual">installation
5307 manual</a> for more details.</li>
5308 <li>Debian Wheezy includes about 37000 packages available for
5309 installation.</li>
5310 <li>More information about Debian Wheezy 7.0 is provided in the
5311 <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>
5312 </ul></li>
5313 </ul>
5314
5315 <p><strong>Documentation</strong></p>
5316 <ul>
5317 <li>The (<a href="http://wiki.debian.org/DebianEdu/Documentation/Wheezy">English</a>) Debian Edu Wheezy Manual is fully translated to
5318 German, French, Italian and Danish. Partly translated versions exist
5319 for Norwegian Bokmal and Spanish.</li>
5320 </ul>
5321
5322 <p><Strong>LDAP related changes</strong></p>
5323 <ul>
5324 <li>Slight changes to some objects and acls to have more types to
5325 choose from when adding systems in GOsa. Now systems can be of type
5326 server, workstation, printer, terminal or netdevice.</li>
5327 </ul>
5328
5329 <p><strong>Other changes</strong></p>
5330 <ul>
5331 <li>LTSP clients start as diskless workstation / thin client can be
5332 configured via command line argument -- or individually adding an
5333 entry in lts.conf or LDAP.<li>
5334 <li>GOsa gui: Now some options that seemed to be available, but are non
5335 functional, are greyed out (or are not clickable). Some tabs are
5336 completely hidden to the end user, others even to the GOsa admin.</li>
5337 </ul>
5338
5339 <p><strong>Regressions</strong></p>
5340 <ul>
5341 <li>No mass import of user account data in GOsa (ldif or csv) available
5342 yet.</li>
5343 </ul>
5344
5345 <p><strong>No updated artwork</strong></p>
5346
5347 <ul>
5348 <li>Updated artwork which is visible during installation, in the login
5349 screen and as desktop wallpaper is still missing or the same as we
5350 had for our Squeeze based release.</li>
5351 </ul>
5352
5353 <p><strong>Where to get it</strong></p>
5354
5355 To download the multiarch netinstall CD release you can use
5356 <ul>
5357 <li><a href="ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/">ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/</a></li>
5358 <li><a href="http://ftp.skolelinux.org/skolelinux-cd/wheezy/">http://ftp.skolelinux.org/skolelinux-cd/wheezy/</a></li>
5359 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/</li>
5360 </ul>
5361
5362 <p>The MD5SUM of this image is: c5e773ddafdaa4f48c409c682f598b6c</p>
5363
5364 <p>The SHA1SUM of this image is: 25934fabb9b7d20235499a0a51f08ce6c54215f2</p>
5365
5366 <p><strong>How to report bugs</strong></p>
5367
5368 <p><a href="http://wiki.debian.org/DebianEdu/HowTo/ReportBugs">http://wiki.debian.org/DebianEdu/HowTo/ReportBugs</a></p>
5369
5370 </div>
5371 <div class="tags">
5372
5373
5374 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>.
5375
5376
5377 </div>
5378 </div>
5379 <div class="padding"></div>
5380
5381 <div class="entry">
5382 <div class="title">
5383 <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>
5384 </div>
5385 <div class="date">
5386 16th April 2013
5387 </div>
5388 <div class="body">
5389 <p>This years first <a href="http://www.skolelinux.org/">Skolelinux /
5390 Debian Edu</a> developer gathering take place the coming weekend in Trondheim.
5391 Details about the gathering can be found
5392 <a href="http://www.friprogramvareiskolen.no/Gathering/2013-04-19-21-Trondheim">on
5393 the FRiSK wiki</a>. The dates are 19-21th of April 2013, and online
5394 participation for those unable to make it in person is very welcome,
5395 and I plan to participate online myself as I could not leave Oslo this
5396 weekend.</p>
5397
5398 <p>The focus of the gathering is to work on the web pages and project
5399 infrastructure, and to continue the work on the Wheezy based Debian
5400 Edu release.</p>
5401
5402 <p>See you on <a href="irc://irc.debian.org/%23debian-edu">IRC, #debian-edu on irc.debian.org,</a> then?</p>
5403
5404 </div>
5405 <div class="tags">
5406
5407
5408 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>.
5409
5410
5411 </div>
5412 </div>
5413 <div class="padding"></div>
5414
5415 <div class="entry">
5416 <div class="title">
5417 <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>
5418 </div>
5419 <div class="date">
5420 3rd April 2013
5421 </div>
5422 <div class="body">
5423 <p>Today the <a href="http://packages.qa.debian.org/isenkram">Isenkram
5424 package</a> finally made it into the archive, after lingering in NEW
5425 for many months. I uploaded it to the Debian experimental suite
5426 2013-01-27, and today it was accepted into the archive.</p>
5427
5428 <p>Isenkram is a system for suggesting to users what packages to
5429 install to work with a pluggable hardware device. The suggestion pop
5430 up when the device is plugged in. For example if a Lego Mindstorm NXT
5431 is inserted, it will suggest to install the program needed to program
5432 the NXT controller. Give it a go, and report bugs and suggestions to
5433 BTS. :)</p>
5434
5435 </div>
5436 <div class="tags">
5437
5438
5439 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>.
5440
5441
5442 </div>
5443 </div>
5444 <div class="padding"></div>
5445
5446 <div class="entry">
5447 <div class="title">
5448 <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>
5449 </div>
5450 <div class="date">
5451 26th March 2013
5452 </div>
5453 <div class="body">
5454 <p>Would you like to help the environment and save money at the same
5455 time, without much sacrifice? A small step could be to change the
5456 font you use when printing.</p>
5457
5458 <p>Three years ago,
5459 <a href="http://arstechnica.com/business/2010/04/last-year-printer-comparison-website/">Ars
5460 Technica</a> reported how the University of Wisconsin-Green Bay
5461 changed their default front from
5462 <a href="http://en.wikipedia.org/wiki/Arial">Arial</a> to
5463 <a href="http://en.wikipedia.org/wiki/Century_Gothic">Century
5464 Gothic</a> to save money. The Century Gothic font uses 30% less toner
5465 than Arial to print the same text. In other word, you could cut your
5466 toner costs by 30% (or actually, increase your toner supply life time
5467 by more than 30%), by simply changing the default font used in your
5468 prints.</p>
5469
5470 <p>But it is not quite obvious how much one will save by switching.
5471 The University of Wisconsin-Green Bay said it used $100,000 per year
5472 on ink and toner cartridges, according to
5473 <a href="http://www.twincities.com/ci_14833097">a report from
5474 TwinCities.com</a>, and expected to save between $5,000 and $10,000
5475 per year by asking staff and students to use a different font. Not
5476 all PDFs and documents are created internally, and those from external
5477 sources will most likely still use a different font. Also, the
5478 Century Gothic font is slightly wider than Arial, and thus might use
5479 more sheets of paper to print the same text, so the total saving
5480 depend on the documents printed.</p>
5481
5482 <p>But it is definitely something to consider, if you want to reduce
5483 the amount of trash, decrease the amount of toner used in the world,
5484 and save some money in the process.</p>
5485
5486 <p>Update 2013-04-10: If you want to know how much ink/toner could be
5487 saved when switching between fonts, Inkfarm got a
5488 <a href="http://www.inkfarm.com/What-the-Font">service to calculate the
5489 difference between font pairs</a>. They also
5490 <a href="http://www.inkfarm.com/Recommended-Ink-Saving-Fonts---">recommend
5491 which fonts to use</a> to save ink. Check it out. :) While updating
5492 this blog post, I also came across a blog post from InkCloners,
5493 <a href="http://inkcloners.com/blog/ink-cartridges/change-fonts-to-save-ink-costs/">listing
5494 the fonts they recommend</a>, with Centory Gothic at the top.</p>
5495
5496 </div>
5497 <div class="tags">
5498
5499
5500 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
5501
5502
5503 </div>
5504 </div>
5505 <div class="padding"></div>
5506
5507 <div class="entry">
5508 <div class="title">
5509 <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>
5510 </div>
5511 <div class="date">
5512 24th March 2013
5513 </div>
5514 <div class="body">
5515 <p>A few days ago, during a discussion in
5516 <a href="http://www.efn.no/">EFN</a> about interesting books to read
5517 about copyright and the data retention directive, a suggestion to read
5518 the 1968 short story Kodémus by
5519 <a href="http://web2.gyldendal.no/toraage/">Tore Åge Bringsværd</a>
5520 came up. The text was only available in old paper books, and thus not
5521 easily available for current and future generations. Some of the
5522 people participating in the discussion contacted the author, and
5523 reported back 2013-03-19 that the author was OK with releasing the
5524 short story using a <a href="http://www.creativecommons.org/">Creative
5525 Commons</a> license. The text was quickly scanned and OCR-ed, and we
5526 were ready to start on the editing and typesetting.</p>
5527
5528 <p>As I already had some experience formatting text in my project to
5529 provide a Norwegian version of the Free Culture book by Lawrence
5530 Lessig, I chipped in and set up a
5531 <a href="http://www.docbook.org/">DocBook</a> processing framework to
5532 generate PDF, HTML and EPUB version of the short story. The tools to
5533 transform DocBook to different formats are already in my Linux
5534 distribution of choice, <a href="http://www.debian.org/">Debian</a>, so
5535 all I had to do was to use the
5536 <a href="http://dblatex.sourceforge.net/">dblatex</a>,
5537 <a href="http://docbook.sourceforge.net/release/xsl/current/epub/README">dbtoepub</a>
5538 and <a href="https://fedorahosted.org/xmlto/">xmlto</a> tools to do the
5539 conversion. After a few days, we decided to replace dblatex with
5540 xsltproc/fop (aka
5541 <a href="http://wiki.docbook.org/DocBookXslStylesheets">docbook-xsl</a>),
5542 to get the copyright information to show up in the PDF and to get a
5543 nicer &lt;variablelist&gt; typesetting, but that is just a minor
5544 technical detail.</p>
5545
5546 <p>There were a few challenges, of course. We want to typeset the
5547 short story to look like the original, and that require fairly good
5548 control over the layout. The original short story have three
5549 parts/scenes separated by a single horizontally centred star (*), and
5550 the paragraphs do not contain only flowing text, but dialogs and text
5551 that started on a new line in the middle of the paragraph.</p>
5552
5553 <p>I initially solved the first challenge by using a paragraph with a
5554 single star in it, ie &lt;para&gt;*&lt;/para&gt;, but it made sure a
5555 placeholder indicated where the scene shifted. This did not look too
5556 good without the centring. The next approach was to create a new
5557 preprocessor directive &lt;?newscene?&gt;, mapping to "&lt;hr/&gt;"
5558 for HTML and "&lt;fo:block text-align="center"&gt;&lt;fo:leader
5559 leader-pattern="rule" rule-thickness="0.5pt"/&gt;&lt;/fo:block&gt;"
5560 for FO/PDF output (did not try to implement this in dblatex, as we had
5561 switched at this time). The HTML XSL file looked like this:</p>
5562
5563 <p><blockquote><pre>
5564 &lt;?xml version='1.0'?&gt;
5565 &lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'&gt;
5566 &lt;xsl:template match="processing-instruction('newscene')"&gt;
5567 &lt;hr/&gt;
5568 &lt;/xsl:template&gt;
5569 &lt;/xsl:stylesheet&gt;
5570 </pre></blockquote></p>
5571
5572 <p>And the FO/PDF XSL file looked like this:</p>
5573
5574 <p><blockquote><pre>
5575 &lt;?xml version='1.0'?&gt;
5576 &lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'&gt;
5577 &lt;xsl:template match="processing-instruction('newscene')"&gt;
5578 &lt;fo:block text-align="center"&gt;
5579 &lt;fo:leader leader-pattern="rule" rule-thickness="0.5pt"/&gt;
5580 &lt;/fo:block&gt;
5581 &lt;/xsl:template&gt;
5582 &lt;/xsl:stylesheet&gt;
5583 </pre></blockquote></p>
5584
5585 <p>Finally, I came across the &lt;bridgehead&gt; tag, which seem to be
5586 a good fit for the task at hand, and I replaced &lt;?newscene?&gt;
5587 with &lt;bridgehead&gt;*&lt;/bridgehead&gt;. It isn't centred, but we
5588 can fix it with some XSL rule if the current visual layout isn't
5589 enough.</p>
5590
5591 <p>I did not find a good DocBook compliant way to solve the
5592 linebreak/paragraph challenge, so I ended up creating a new processor
5593 directive &lt;?linebreak?&gt;, mapping to &lt;br/&gt; in HTML, and
5594 &lt;fo:block/&gt; in FO/PDF. I suspect there are better ways to do
5595 this, and welcome ideas and patches on github. The HTML XSL file now
5596 look like this:</p>
5597
5598 <p><blockquote><pre>
5599 &lt;?xml version='1.0'?&gt;
5600 &lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'&gt;
5601 &lt;xsl:template match="processing-instruction('linebreak)"&gt;
5602 &lt;br/&gt;
5603 &lt;/xsl:template&gt;
5604 &lt;/xsl:stylesheet&gt;
5605 </pre></blockquote></p>
5606
5607 <p>And the FO/PDF XSL file looked like this:</p>
5608
5609 <p><blockquote><pre>
5610 &lt;?xml version='1.0'?&gt;
5611 &lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'
5612 xmlns:fo="http://www.w3.org/1999/XSL/Format"&gt;
5613 &lt;xsl:template match="processing-instruction('linebreak)"&gt;
5614 &lt;fo:block/&gt;
5615 &lt;/xsl:template&gt;
5616 &lt;/xsl:stylesheet&gt;
5617 </pre></blockquote></p>
5618
5619 <p>One unsolved challenge is our wish to expose different ISBN numbers
5620 per publication format, while keeping all of them in some conditional
5621 structure in the DocBook source. No idea how to do this, so we ended
5622 up listing all the ISBN numbers next to their format in the colophon
5623 page.</p>
5624
5625 <p>If you want to check out the finished result, check out the
5626 <a href="https://github.com/sickel/kodemus">source repository at
5627 github</a>
5628 (<a href="https://github.com/EFN/kodemus">future/new/official
5629 repository</a>). We expect it to be ready and announced in a few
5630 days.</p>
5631
5632 </div>
5633 <div class="tags">
5634
5635
5636 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>.
5637
5638
5639 </div>
5640 </div>
5641 <div class="padding"></div>
5642
5643 <div class="entry">
5644 <div class="title">
5645 <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>
5646 </div>
5647 <div class="date">
5648 17th March 2013
5649 </div>
5650 <div class="body">
5651 <p>Via
5652 <a href="https://twitter.com/pcwizz/status/313044373262716930">twitter</a>
5653 I just discovered that <a href="http://pcwizz.net/">Pcwizz</a> have
5654 done a <a href="http://www.youtube.com/watch?v=wPzTZ61Pcuc">video
5655 review</a> on Youtube of <a href="http://www.skolelinux.org/">Skolelinux
5656 / Debian Edu</a> version 6. He installed the standalone profile and
5657 the video show a walk-through of of the menu content, demonstration of
5658 a few programs and his view of our distribution.</p>
5659
5660 <p>There is also some really nice quotes (transcribed by me, might
5661 have heard wrong). While looking thought the Graphics menu:</p>
5662
5663 <blockquote>
5664 "Basically everything you ever need in a school environment."
5665 </blockquote>
5666
5667 <p>And as a general evaluation of the entire distribution:</p>
5668
5669 <blockquote>
5670 "So, yeah, a bit bloated. It kept all the Debian stuff in there, just
5671 to keep it nice and GNU. So, I do not want to go on about it, but
5672 lets give it 7 out of 10. I am not going to use it. That is because
5673 I am not deploying a school network. There may be some mythical
5674 feature to help you deploy Skolelinux on a school network."
5675 </blockquote>
5676
5677 <p>To bad he did not test the server profile, and discovered the PXE
5678 installation option. It make it possible to install only the main
5679 server from CD, and the rest of the machines via the net, and might be
5680 considered the mythical feature he talk about. :)</p>
5681
5682 <p>While looking through the menus, there is also this funny comment
5683 about the part of the K menu generated from the Debian menu subsystem:
5684
5685 <blockquote>
5686 "[The K menu] have a special Debian section for software that no-one
5687 is going to look at, because it contain lots of junky stuff that you
5688 actually don't need in the education distribution, but have just been
5689 included because it isn't stripped out for some reason."
5690 </blockquote>
5691
5692 <p>I guess it is yet another argument for merging the Debian menu and
5693 Gnome/KDE desktop menu entries into
5694 <a href="http://wiki.debian.org/Proposals/DebianMenuUsingDesktopEntries">one
5695 consistent menu system</a> instead of two incomplete and partly
5696 inconsistent menu systems.</p>
5697
5698 <p>The entire video is available below for those accepting iframe
5699 embedding:</p>
5700
5701 <iframe width="560" height="315" src="http://www.youtube.com/embed/wPzTZ61Pcuc" frameborder="0" allowfullscreen></iframe>
5702
5703 </div>
5704 <div class="tags">
5705
5706
5707 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>.
5708
5709
5710 </div>
5711 </div>
5712 <div class="padding"></div>
5713
5714 <div class="entry">
5715 <div class="title">
5716 <a href="http://people.skolelinux.org/pere/blog/First_Skolelinux___Debian_Edu_Squeeze_update_released.html">First Skolelinux / Debian Edu Squeeze update released</a>
5717 </div>
5718 <div class="date">
5719 8th March 2013
5720 </div>
5721 <div class="body">
5722 <p>Last Sunday, 2013-03-03,, Holger Levsen announced the first update
5723 of <a href="http://www.skolelinux.org/">Skolelinux / Debian Edu</a>
5724 based on Debian Squeeze. This is the first update since
5725 <a href="http://lists.debian.org/debian-edu-announce/2012/03/msg00001.html">the
5726 initial release 2012-03-11</a>. This is the
5727 <a href="http://lists.debian.org/debian-edu-announce/2013/03/msg00000.html">release
5728 announcement email from Holger</a>:</p>
5729
5730 <blockquote><p>Hi,</p>
5731
5732 <p>it's my pleasure to announce the immediate availability of Debian
5733 Edu 6.0.7+r1 ("Debian Edu Squeeze").</p>
5734
5735 <p>Debian Edu 6.0.7+r1 is an incremental update to Debian Edu
5736 6.0.4+r0, containing all the changes between Debian 6.0.4 and 6.0.7 as
5737 well Debian Edu specific bugfixes and enhancements. See below (in this
5738 mail) for the full list of (edu) changes. Please see
5739 <a href="http://www.debian.org/News/2012/20120311">http://www.debian.org/News/2012/20120311</a>
5740 for more information on "Debian Edu Squeeze".</p>
5741
5742 <p>Images are available for download at
5743 <a href="http://ftp.skolelinux.org/skolelinux-cd/">http://ftp.skolelinux.org/skolelinux-cd/</a></p>
5744
5745 <p>md5sums:
5746 <br>1fe79eb4f0f9ae1c58fc318e26cc1e2e debian-edu-6.0.7+r1-CD.iso
5747 <br>a6ddd924a8bd9a1b5ca122e8fe1c34ec debian-edu-6.0.7+r1-DVD.iso
5748 <br>ac6c72cd7925ccec51bfbf58e2a7c69c debian-edu-6.0.7+r1-source-DVD.iso</p>
5749
5750 <p>sha1sums:
5751 <br>a4b58233b672a99c7df8dc24fb6de3327654a5c3 debian-edu-6.0.7+r1-CD.iso
5752 <br>9b524915e0ff2aa793f13d93123e5bd2bab2dbaa debian-edu-6.0.7+r1-DVD.iso
5753 <br>43997614893fc5e9e59ad6ce066b05d07fd836fa debian-edu-6.0.7+r1-source-DVD.iso</p>
5754
5755 <p>These images are suitable for amd64+i386.</p>
5756
5757 <p>Changes for Debian Edu 6.0.7+r1 Codename "Squeeze", released
5758 2013-03-03:</p>
5759
5760 <ul>
5761 <li>sitesummary was updated from 0.1.3 to 0.1.8
5762 <ul>
5763 <li>Make Nagios configuration more robust and efficient</li>
5764 <li>Comply with 3.X kernel</li>
5765 </ul></li>
5766 <li>debian-edu-doc from 1.4~20120310~6.0.4+r0 to 1.4~20130228~6.0.7+r1
5767 <ul>
5768 <li>Minor updates from the wiki</li>
5769 <li>Danish translation now complete</li>
5770 </ul></li>
5771 <li>debian-edu-config from 1.453 to 1.455
5772 <ul>
5773 <li>Fix /etc/hosts for LTSP diskless workstations. Closes: #699880</li>
5774 <li>Make ltsp_local_mount script work for multiple devices.</li>
5775 <li>Correct Kerberos user policy: don't expire password after 2 days.
5776 Closes: #664596</li>
5777 <li>Handle '#' characters in the root or first users password.
5778 Closes: #664976</li>
5779 <li>Fixes for gosa-sync:
5780 <ul>
5781 <li>Don't fail if password contains "</li>
5782 <li>Don't disclose new password string in syslog</li>
5783 </ul></li>
5784 <li>Fixes for gosa-create:
5785 <ul>
5786 <li>Invalidate libnss cache before applying changes</li>
5787 <li>Multiple failures during mass user import into GOsa²</li>
5788 <li>gosa-netgroups plugin: don't erase entries of attribute type
5789 "memberNisNetgroup". Closes: #687256</li>
5790 <li>First user now uses the same Kerberos policy as all other users</li>
5791 </ul></li>
5792 <li>Add Danish web page</li>
5793 </ul>
5794 <li>debian-edu-install from 1.528 to 1.530
5795 <ul>
5796 <li>Improve preseeding support and documentation</li>
5797 </ul></li>
5798 </ul>
5799
5800 <p>End-user documentation in English is available at
5801 <a href="http://wiki.debian.org/DebianEdu/Documentation/Squeeze/">http://wiki.debian.org/DebianEdu/Documentation/Squeeze/</a>
5802 - translations to French, Italian, Danish and German are available in
5803 the debian-edu-doc package. (Other languages could use your help!)</p>
5804
5805 <p>If you want to contribute to Debian Edu, please join our
5806 mailinglist
5807 <a href="http://lists.debian.org/debian-edu/">debian-edu@lists.debian.org</a>!
5808 </p></blockquote>
5809
5810 <p>I am very happy to see the fruits of a year of hard work. :)</p>
5811
5812 </div>
5813 <div class="tags">
5814
5815
5816 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>.
5817
5818
5819 </div>
5820 </div>
5821 <div class="padding"></div>
5822
5823 <div class="entry">
5824 <div class="title">
5825 <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>
5826 </div>
5827 <div class="date">
5828 3rd March 2013
5829 </div>
5830 <div class="body">
5831 <p>Do you want to set up your own TV station, schedule videos and
5832 broadcast them on the air? Using free software? With video on demand
5833 support using
5834 <a href="http://www.digistan.org/open-standard:definition">free and
5835 open standards</a>? Included a web based video stream as well? And
5836 administrate it all in your web browser from anywhere in the world? A
5837 few years now the Norwegian public access TV-channel
5838 <a href="http://www.frikanalen.no/">Frikanalen</a> have been building a
5839 system to do just this. The source code for the solution is licensed
5840 using the GNU LGPL, and
5841 <a href="http://github.com/Frikanalen">available from github</a>.</p>
5842
5843 <p>The idea is simple. You upload a video file over the web, and
5844 attach meta information to the file. You select a time slot in the
5845 program schedule, and when the time come it is played on the air and
5846 in the web stream. It is also made available in a video on demand
5847 solution for anyone to see it also outside its scheduled time. All
5848 you need to run a TV station - using your web browser.</p>
5849
5850 <p>There are several parts to this web based solution. I'll mention
5851 the three most important ones. The first part is the database of
5852 videos and the schedule. This is written in Django and include a REST
5853 API. The current database is SQLite, but the plan is to migrate it to
5854 PostgreSQL. At the moment this system can be tested on
5855 <a href="http://beta.frikanalen.tv/">beta.frikanalen.tv</a>. The
5856 second part is the video playout, taking the schedule information from
5857 the database and providing a video stream to broadcast. This is done
5858 using <a href="http://www.casparcg.com/">CasparCG from SVT</a> and
5859 <a href="http://www.mltframework.org/">Media Lovin' Toolkit</a>. Video
5860 signal distribution is handled using
5861 <a href="http://www.ob-encoder.com/">Open Broadcast Encoder</a>. The
5862 third part is the converter, handling the transformation of uploaded
5863 video files to a format useful for broadcasting, streaming and video
5864 on demand. It is still very much work in progress, so it is not yet
5865 decided what it will end up using. Note that the source of the latter
5866 two parts are not yet pushed to github. The lead author want to clean
5867 them up a bit more first.</p>
5868
5869 <p>The development is coordinated on the
5870 <a href="irc://irc.freenode.net/%23frikanalen">#frikanalen IRC
5871 channel</a> (irc.freenode.net), and discussed on
5872 <a href="http://lists.nuug.no/mailman/listinfo/frikanalen">the
5873 frikanalen mailing list</a>. The lead developer is Benjamin Bruheim
5874 (phed on IRC). Anyone is welcome to participate in the
5875 development.</p>
5876
5877 </div>
5878 <div class="tags">
5879
5880
5881 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>.
5882
5883
5884 </div>
5885 </div>
5886 <div class="padding"></div>
5887
5888 <div class="entry">
5889 <div class="title">
5890 <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>
5891 </div>
5892 <div class="date">
5893 27th February 2013
5894 </div>
5895 <div class="body">
5896 <p>Dr. <a href="http://www.stallman.org/">Richard Stallman</a>,
5897 founder of <a href="http://www.fsf.org/">Free Software Foundation</a>,
5898 is giving <a href="http://www.nuug.no/aktiviteter/20130301-rms/">a
5899 talk in Oslo March 1st 2013 17:00 to 19:00</a>. The event is public
5900 and organised by <a href="">Norwegian Unix Users Group (NUUG)</a>
5901 (where I am the chair of the board) and
5902 <a href="http://www.friprog.no/">The Norwegian Open Source Competence
5903 Center</a>. The title of the talk is «The Free Software Movement and
5904 GNU», with this description:
5905
5906 <p><blockquote>
5907 The Free Software Movement campaigns for computer users' freedom to
5908 cooperate and control their own computing. The Free Software Movement
5909 developed the GNU operating system, typically used together with the
5910 kernel Linux, specifically to make these freedoms possible.
5911 </blockquote></p>
5912
5913 <p>The meeting is open for everyone. Due to space limitations, the
5914 doors opens for NUUG members at 16:15, and everyone else at 16:45. I
5915 am really curious how many will show up. See
5916 <a href="http://www.nuug.no/aktiviteter/20130301-rms/">the event
5917 page</a> for the location details.</p>
5918
5919 </div>
5920 <div class="tags">
5921
5922
5923 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>.
5924
5925
5926 </div>
5927 </div>
5928 <div class="padding"></div>
5929
5930 <div class="entry">
5931 <div class="title">
5932 <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>
5933 </div>
5934 <div class="date">
5935 15th February 2013
5936 </div>
5937 <div class="body">
5938 <p>If you, like me, want an updated a map for your Garmin GPS, there is
5939 now a great source of free maps available from
5940 <a href="http://www.frikart.no/garmin/index.html">Frikart</a>. To
5941 download a map, just click on the country you are interested in, and
5942 download the map type you want. There are 8 different maps available,
5943 using different colours and data selection. Pick one of Roadmap, Topo
5944 Summer, Topo Winter, Roadmap II, Topo Summer II, Topo Winter II,
5945 "Trails - overlay map" and "Cross country - overlay map" (see the web
5946 page for descriptions).</p>
5947
5948 <p>The maps are updated weekly, so if you find something wrong in the
5949 map you can just edit the
5950 <a href="http://www.openstreetmap.org/">OpenStreetmap</a> map source
5951 (anyone can contribute) and fetch a fixed map a week later. :)</p>
5952
5953 </div>
5954 <div class="tags">
5955
5956
5957 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>.
5958
5959
5960 </div>
5961 </div>
5962 <div class="padding"></div>
5963
5964 <div class="entry">
5965 <div class="title">
5966 <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>
5967 </div>
5968 <div class="date">
5969 12th February 2013
5970 </div>
5971 <div class="body">
5972 <p>Here in Norway, electronic invoices are spreading, and the
5973 <a href="http://www.anskaffelser.no/e-handel/faktura">solution promoted
5974 by the Norwegian government</a> require that invoices are sent through
5975 one of the approved facilitators, and it is not possible to send
5976 electronic invoices without an agreement with one of these
5977 facilitators. This seem like a needless limitation to be able to
5978 transfer invoice information between buyers and sellers. My preferred
5979 solution would be to just transfer the invoice information directly
5980 between seller and buyer, for example using SMTP, or some HTTP based
5981 protocol like REST or SOAP. But this might also be overkill, as the
5982 "electronic" information can be transferred using paper invoices too,
5983 using a simple bar code. My bar code encoding of choice would be QR
5984 codes, as this encoding can be read by any smart phone out there. The
5985 content of the code could be anything, but I would go with
5986 <a href="http://en.wikipedia.org/wiki/VCard">the vCard format</a>, as
5987 it too is supported by a lot of computer equipment these days.</p>
5988
5989 <p>The vCard format support extentions, and the invoice specific
5990 information can be included using such extentions. For example an
5991 invoice from SLX Debian Labs (picked because we
5992 <a href="http://www.linuxiskolen.no/slxdebianlabs/donations.html">ask
5993 for donations to the Debian Edu project</a> and thus have bank account
5994 information publicly available) for NOK 1000.00 could have these extra
5995 fields:</p>
5996
5997 <p><pre>
5998 X-INVOICE-NUMBER:1
5999 X-INVOICE-AMOUNT:NOK1000.00
6000 X-INVOICE-KID:123412341234
6001 X-INVOICE-MSG:Donation to Debian Edu
6002 X-BANK-ACCOUNT-NUMBER:16040884339
6003 X-BANK-IBAN-NUMBER:NO8516040884339
6004 X-BANK-SWIFT-NUMBER:DNBANOKKXXX
6005 </pre></p>
6006
6007 <p>The X-BANK-ACCOUNT-NUMBER field was proposed in a stackoverflow
6008 answer regarding
6009 <a href="http://stackoverflow.com/questions/10045664/storing-bank-account-in-vcard-file">how
6010 to put bank account information into a vCard</a>. For payments in
6011 Norway, either X-INVOICE-KID (payment ID) or X-INVOICE-MSG could be
6012 used to pass on information to the seller when paying the invoice.</p>
6013
6014 <p>The complete vCard could look like this:</p>
6015
6016 <p><pre>
6017 BEGIN:VCARD
6018 VERSION:2.1
6019 ORG:SLX Debian Labs Foundation
6020 ADR;WORK:;;Gunnar Schjelderups vei 29D;OSLO;;0485;Norway
6021 URL;WORK:http://www.linuxiskolen.no/slxdebianlabs/
6022 EMAIL;PREF;INTERNET:sdl-styret@rt.nuug.no
6023 REV:20130212T095000Z
6024 X-INVOICE-NUMBER:1
6025 X-INVOICE-AMOUNT:NOK1000.00
6026 X-INVOICE-MSG:Donation to Debian Edu
6027 X-BANK-ACCOUNT-NUMBER:16040884339
6028 X-BANK-IBAN-NUMBER:NO8516040884339
6029 X-BANK-SWIFT-NUMBER:DNBANOKKXXX
6030 END:VCARD
6031 </pre></p>
6032
6033 <p>The resulting QR code created using
6034 <a href="http://fukuchi.org/works/qrencode/">qrencode</a> would look
6035 like this, and should be readable (and thus checkable) by any smart
6036 phone, or for example the <a href="http://zbar.sourceforge.net/">zbar
6037 bar code reader</a> and feed right into the approval and accounting
6038 system.</p>
6039
6040 <p><img src="http://people.skolelinux.org/pere/blog/images/2013-02-12-qr-invoice.png"></p>
6041
6042 <p>The extension fields will most likely not show up in any normal
6043 vCard reader, so those parts would have to go directly into a system
6044 handling invoices. I am a bit unsure how vCards without name parts
6045 are handled, but a simple test indicate that this work just fine.</p>
6046
6047 <p><strong>Update 2013-02-12 11:30</strong>: Added KID to the proposal
6048 based on feedback from Sturle Sunde.</p>
6049
6050 </div>
6051 <div class="tags">
6052
6053
6054 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>.
6055
6056
6057 </div>
6058 </div>
6059 <div class="padding"></div>
6060
6061 <div class="entry">
6062 <div class="title">
6063 <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>
6064 </div>
6065 <div class="date">
6066 10th February 2013
6067 </div>
6068 <div class="body">
6069 <p><img align="left" style="margin-right:25px;" src="http://people.skolelinux.org/pere/blog/images/2013-02-10-morning-light.jpeg"></p>
6070
6071 <p>With kids in the house, one challenge is getting them to sleep
6072 during the night and wake up when it is morning. I mean, when I
6073 believe it is morning, and not two hours earlier. In our household we
6074 have decided that 07:00 is the turning point, but getting the kids to
6075 sleep until 07:00 is a small challenge every day. They have adapted
6076 quite well, and rarely wake up at 05:00 any more, but some times wake
6077 up at times like 05:50, 06:15, 06:30 or 06:45, and it is hard to put
6078 the awake one to bed again without disturbing and waking the rest.
6079 And I understand perfectly well that they fail to sleep until 07:00
6080 some times, as there is no way for them to know if it is before or
6081 after the magic moment without coming and asking us parents.</p>
6082
6083 <p>But yesterday I came up with a method to solve this problem. It
6084 involve home automation. A few years ago I bought a
6085 <a href="http://www.telldus.se/products/tellstick">Tellstick</a> and RF
6086 switches at the local <a href="http://www.clasohlson.com/">Clas
6087 Ohlson</a> shop, allowing me to control lights and other electrical
6088 gadgets using my Linux server. When I moved from the old flat to a
6089 small house, I put away all this equipment as most of the lighting in
6090 the house was not using wall sockets and thus not easy to connect to
6091 the gadgets I had. But recently I bought a
6092 <a href="http://www.telldus.se/products/tellstick_net">Tellstick
6093 Net</a> to be able to read sensor input as well as control power
6094 sockets. I want to control ovens in the basement to avoid the pipes
6095 to freeze, and monitor the humidity to detect flooding. The default
6096 setup for Tellstick Net is to be controlled by the vendor web service,
6097 which to me is a security problem, but it is also possible to build
6098 ones own
6099 <a href="http://developer.telldus.com/blog/2012/03/02/help-us-develop-local-access-using-tellstick-net-build-your-own-firmware">firmware
6100 with local access</A> instead of being controlled by a Swedish
6101 company, thanks to the release of the GPL licensed firmware source
6102 code. I plan to get that running before I let it control anything
6103 important. But while working on this, one idea to make it easier for
6104 the kids came to me yesterday. We can set up a night light controlled
6105 by the computer, and turn it automatically on at 07:00. The kids can
6106 then check the light in the morning to know if they are supposed to
6107 get up or not. They joined me in setting everything up, and I
6108 repeated the concept several times before bed times to make sure they
6109 remembered to check the light before getting up in the morning.</p>
6110
6111 <p>We tested it this morning, and all the kids stayed in bed until
6112 after 07:00, and every one of them commented on the fact that the
6113 "morning light" was turned on and signalled that the morning had
6114 arrived. So this look like a success, and I am excited to see how
6115 this develops the next few days. :) I really hope this can allow us
6116 all to sleep a bit longer in the morning.</p>
6117
6118 <p>A nice advantage of this setup is that we can remote control when
6119 to tell the kids to get up. We do not have to wait until 07:00, and
6120 can also delay it if we want to.</p>
6121
6122 </div>
6123 <div class="tags">
6124
6125
6126 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
6127
6128
6129 </div>
6130 </div>
6131 <div class="padding"></div>
6132
6133 <div class="entry">
6134 <div class="title">
6135 <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>
6136 </div>
6137 <div class="date">
6138 2nd February 2013
6139 </div>
6140 <div class="body">
6141 <p>My
6142 <a href="http://people.skolelinux.org/pere/blog/How_to_backport_bitcoin_qt_version_0_7_2_2_to_Debian_Squeeze.html">last
6143 bitcoin related blog post</a> mentioned that the new
6144 <a href="http://packages.qa.debian.org/bitcoin">bitcoin package</a> for
6145 Debian was waiting in NEW. It was accepted by the Debian ftp-masters
6146 2013-01-19, and have been available in unstable since then. It was
6147 automatically copied to Ubuntu, and is available in their Raring
6148 version too.</p>
6149
6150 <p>But there is a strange problem with the build that block this new
6151 version from being available on the i386 and kfreebsd-i386
6152 architectures. For some strange reason, the autobuilders in Debian
6153 for these architectures fail to run the test suite on these
6154 architectures (<a href="http://bugs.debian.org/672524">BTS #672524</a>).
6155 We are so far unable to reproduce it when building it manually, and
6156 no-one have been able to propose a fix. If you got an idea what is
6157 failing, please let us know via the BTS.</p>
6158
6159 <p>One feature that is annoying me with of the bitcoin client, because
6160 I often run low on disk space, is the fact that the client will exit
6161 if it run short on space (<a href="http://bugs.debian.org/696715">BTS
6162 #696715</a>). So make sure you have enough disk space when you run
6163 it. :)</p>
6164
6165 <p>As usual, if you use bitcoin and want to show your support of my
6166 activities, please send Bitcoin donations to my address
6167 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
6168
6169 </div>
6170 <div class="tags">
6171
6172
6173 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>.
6174
6175
6176 </div>
6177 </div>
6178 <div class="padding"></div>
6179
6180 <div class="entry">
6181 <div class="title">
6182 <a href="http://people.skolelinux.org/pere/blog/Welcome_to_the_world__Isenkram_.html">Welcome to the world, Isenkram!</a>
6183 </div>
6184 <div class="date">
6185 22nd January 2013
6186 </div>
6187 <div class="body">
6188 <p>Yesterday, I
6189 <a href="http://people.skolelinux.org/pere/blog/First_prototype_ready_making_hardware_easier_to_use_in_Debian.html">asked
6190 for testers</a> for my prototype for making Debian better at handling
6191 pluggable hardware devices, which I
6192 <a href="http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html">set
6193 out to create</a> earlier this month. Several valuable testers showed
6194 up, and caused me to really want to to open up the development to more
6195 people. But before I did this, I want to come up with a sensible name
6196 for this project. Today I finally decided on a new name, and I have
6197 renamed the project from hw-support-handler to this new name. In the
6198 process, I moved the source to git and made it available as a
6199 <a href="http://anonscm.debian.org/gitweb/?p=collab-maint/isenkram.git">collab-maint</a>
6200 repository in Debian. The new name? It is <strong>Isenkram</strong>.
6201 To fetch and build the latest version of the source, use</p>
6202
6203 <pre>
6204 git clone http://anonscm.debian.org/git/collab-maint/isenkram.git
6205 cd isenkram && git-buildpackage -us -uc
6206 </pre>
6207
6208 <p>I have not yet adjusted all files to use the new name yet. If you
6209 want to hack on the source or improve the package, please go ahead.
6210 But please talk to me first on IRC or via email before you do major
6211 changes, to make sure we do not step on each others toes. :)</p>
6212
6213 <p>If you wonder what 'isenkram' is, it is a Norwegian word for iron
6214 stuff, typically meaning tools, nails, screws, etc. Typical hardware
6215 stuff, in other words. I've been told it is the Norwegian variant of
6216 the German word eisenkram, for those that are familiar with that
6217 word.</p>
6218
6219 <p><strong>Update 2013-01-26</strong>: Added -us -us to build
6220 instructions, to avoid confusing people with an error from the signing
6221 process.</p>
6222
6223 <p><strong>Update 2013-01-27</strong>: Switch to HTTP URL for the git
6224 clone argument to avoid the need for authentication.</p>
6225
6226 </div>
6227 <div class="tags">
6228
6229
6230 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>.
6231
6232
6233 </div>
6234 </div>
6235 <div class="padding"></div>
6236
6237 <div class="entry">
6238 <div class="title">
6239 <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>
6240 </div>
6241 <div class="date">
6242 21st January 2013
6243 </div>
6244 <div class="body">
6245 <p>Early this month I set out to try to
6246 <a href="http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html">improve
6247 the Debian support for pluggable hardware devices</a>. Now my
6248 prototype is working, and it is ready for a larger audience. To test
6249 it, fetch the
6250 <a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/">source
6251 from the Debian Edu subversion repository</a>, build and install the
6252 package. You might have to log out and in again activate the
6253 autostart script.</p>
6254
6255 <p>The design is simple:</p>
6256
6257 <ul>
6258
6259 <li>Add desktop entry in /usr/share/autostart/ causing a program
6260 hw-support-handlerd to start when the user log in.</li>
6261
6262 <li>This program listen for kernel events about new hardware (directly
6263 from the kernel like udev does), not using HAL dbus events as I
6264 initially did.</li>
6265
6266 <li>When new hardware is inserted, look up the hardware modalias in
6267 the APT database, a database
6268 <a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/modaliases?view=markup">available
6269 via HTTP</a> and a database available as part of the package.</li>
6270
6271 <li>If a package is mapped to the hardware in question, the package
6272 isn't installed yet and this is the first time the hardware was
6273 plugged in, show a desktop notification suggesting to install the
6274 package or packages.</li>
6275
6276 <li>If the user click on the 'install package now' button, ask
6277 aptdaemon via the PackageKit API to install the requrired package.</li>
6278
6279 <li>aptdaemon ask for root password or sudo password, and install the
6280 package while showing progress information in a window.</li>
6281
6282 </ul>
6283
6284 <p>I still need to come up with a better name for the system. Here
6285 are some screen shots showing the prototype in action. First the
6286 notification, then the password request, and finally the request to
6287 approve all the dependencies. Sorry for the Norwegian Bokmål GUI.</p>
6288
6289 <p><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-1-notification.png">
6290 <br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-2-password.png">
6291 <br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-3-dependencies.png">
6292 <br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-4-installing.png">
6293 <br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-5-installing-details.png" width="70%"></p>
6294
6295 <p>The prototype still need to be improved with longer timeouts, but
6296 is already useful. The database of hardware to package mappings also
6297 need more work. It is currently compatible with the Ubuntu way of
6298 storing such information in the package control file, but could be
6299 changed to use other formats instead or in addition to the current
6300 method. I've dropped the use of discover for this mapping, as the
6301 modalias approach is more flexible and easier to use on Linux as long
6302 as the Linux kernel expose its modalias strings directly.</p>
6303
6304 <p><strong>Update 2013-01-21 16:50</strong>: Due to popular demand,
6305 here is the command required to check out and build the source: Use
6306 '<tt>svn checkout
6307 svn://svn.debian.org/debian-edu/trunk/src/hw-support-handler/; cd
6308 hw-support-handler; debuild</tt>'. If you lack debuild, install the
6309 devscripts package.</p>
6310
6311 <p><strong>Update 2013-01-23 12:00</strong>: The project is now
6312 renamed to Isenkram and the source moved from the Debian Edu
6313 subversion repository to a Debian collab-maint git repository. See
6314 <a href="http://people.skolelinux.org/pere/blog/Welcome_to_the_world__Isenkram_.html">build
6315 instructions</a> for details.</p>
6316
6317 </div>
6318 <div class="tags">
6319
6320
6321 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>.
6322
6323
6324 </div>
6325 </div>
6326 <div class="padding"></div>
6327
6328 <div class="entry">
6329 <div class="title">
6330 <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>
6331 </div>
6332 <div class="date">
6333 19th January 2013
6334 </div>
6335 <div class="body">
6336 <p>This Christmas my trusty old laptop died. It died quietly and
6337 suddenly in bed. With a quiet whimper, it went completely quiet and
6338 black. The power button was no longer able to turn it on. It was a
6339 IBM Thinkpad X41, and the best laptop I ever had. Better than both
6340 Thinkpads X30, X31, X40, X60, X61 and X61S. Far better than the
6341 Compaq I had before that. Now I need to find a replacement. To keep
6342 going during Christmas, I moved the one year old SSD disk to my old
6343 X40 where it fitted (only one I had left that could use it), but it is
6344 not a durable solution.
6345
6346 <p>My laptop needs are fairly modest. This is my wishlist from when I
6347 got a new one more than 10 years ago. It still holds true.:)</p>
6348
6349 <ul>
6350
6351 <li>Lightweight (around 1 kg) and small volume (preferably smaller
6352 than A4).</li>
6353 <li>Robust, it will be in my backpack every day.</li>
6354 <li>Three button mouse and a mouse pin instead of touch pad.</li>
6355 <li>Long battery life time. Preferable a week.</li>
6356 <li>Internal WIFI network card.</li>
6357 <li>Internal Twisted Pair network card.</li>
6358 <li>Some USB slots (2-3 is plenty)</li>
6359 <li>Good keyboard - similar to the Thinkpad.</li>
6360 <li>Video resolution at least 1024x768, with size around 12" (A4 paper
6361 size).</li>
6362 <li>Hardware supported by Debian Stable, ie the default kernel and
6363 X.org packages.</li>
6364 <li>Quiet, preferably fan free (or at least not using the fan most of
6365 the time).
6366
6367 </ul>
6368
6369 <p>You will notice that there are no RAM and CPU requirements in the
6370 list. The reason is simply that the specifications on laptops the
6371 last 10-15 years have been sufficient for my needs, and I have to look
6372 at other features to choose my laptop. But are there still made as
6373 robust laptops as my X41? The Thinkpad X60/X61 proved to be less
6374 robust, and Thinkpads seem to be heading in the wrong direction since
6375 Lenovo took over. But I've been told that X220 and X1 Carbon might
6376 still be useful.</p>
6377
6378 <p>Perhaps I should rethink my needs, and look for a pad with an
6379 external keyboard? I'll have to check the
6380 <a href="http://www.linux-laptop.net/">Linux Laptops site</a> for
6381 well-supported laptops, or perhaps just buy one preinstalled from one
6382 of the vendors listed on the <a href="http://linuxpreloaded.com/">Linux
6383 Pre-loaded site</a>.</p>
6384
6385 </div>
6386 <div class="tags">
6387
6388
6389 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>.
6390
6391
6392 </div>
6393 </div>
6394 <div class="padding"></div>
6395
6396 <div class="entry">
6397 <div class="title">
6398 <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>
6399 </div>
6400 <div class="date">
6401 18th January 2013
6402 </div>
6403 <div class="body">
6404 <p>Some times I try to figure out which Iceweasel browser plugin to
6405 install to get support for a given MIME type. Thanks to
6406 <a href="https://wiki.ubuntu.com/MozillaTeam/Plugins">specifications
6407 done by Ubuntu</a> and Mozilla, it is possible to do this in Debian.
6408 Unfortunately, not very many packages provide the needed meta
6409 information, Anyway, here is a small script to look up all browser
6410 plugin packages announcing ther MIME support using this specification:</p>
6411
6412 <pre>
6413 #!/usr/bin/python
6414 import sys
6415 import apt
6416 def pkgs_handling_mimetype(mimetype):
6417 cache = apt.Cache()
6418 cache.open(None)
6419 thepkgs = []
6420 for pkg in cache:
6421 version = pkg.candidate
6422 if version is None:
6423 version = pkg.installed
6424 if version is None:
6425 continue
6426 record = version.record
6427 if not record.has_key('Npp-MimeType'):
6428 continue
6429 mime_types = record['Npp-MimeType'].split(',')
6430 for t in mime_types:
6431 t = t.rstrip().strip()
6432 if t == mimetype:
6433 thepkgs.append(pkg.name)
6434 return thepkgs
6435 mimetype = "audio/ogg"
6436 if 1 < len(sys.argv):
6437 mimetype = sys.argv[1]
6438 print "Browser plugin packages supporting %s:" % mimetype
6439 for pkg in pkgs_handling_mimetype(mimetype):
6440 print " %s" %pkg
6441 </pre>
6442
6443 <p>It can be used like this to look up a given MIME type:</p>
6444
6445 <pre>
6446 % ./apt-find-browserplug-for-mimetype
6447 Browser plugin packages supporting audio/ogg:
6448 gecko-mediaplayer
6449 % ./apt-find-browserplug-for-mimetype application/x-shockwave-flash
6450 Browser plugin packages supporting application/x-shockwave-flash:
6451 browser-plugin-gnash
6452 %
6453 </pre>
6454
6455 <p>In Ubuntu this mechanism is combined with support in the browser
6456 itself to query for plugins and propose to install the needed
6457 packages. It would be great if Debian supported such feature too. Is
6458 anyone working on adding it?</p>
6459
6460 <p><strong>Update 2013-01-18 14:20</strong>: The Debian BTS
6461 request for icweasel support for this feature is
6462 <a href="http://bugs.debian.org/484010">#484010</a> from 2008 (and
6463 <a href="http://bugs.debian.org/698426">#698426</a> from today). Lack
6464 of manpower and wish for a different design is the reason thus feature
6465 is not yet in iceweasel from Debian.</p>
6466
6467 </div>
6468 <div class="tags">
6469
6470
6471 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>.
6472
6473
6474 </div>
6475 </div>
6476 <div class="padding"></div>
6477
6478 <div class="entry">
6479 <div class="title">
6480 <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>
6481 </div>
6482 <div class="date">
6483 16th January 2013
6484 </div>
6485 <div class="body">
6486 <p>The <a href="http://wiki.debian.org/AppStreamDebianProposal">DEP-11
6487 proposal to add AppStream information to the Debian archive</a>, is a
6488 proposal to make it possible for a Desktop application to propose to
6489 the user some package to install to gain support for a given MIME
6490 type, font, library etc. that is currently missing. With such
6491 mechanism in place, it would be possible for the desktop to
6492 automatically propose and install leocad if some LDraw file is
6493 downloaded by the browser.</p>
6494
6495 <p>To get some idea about the current content of the archive, I decided
6496 to write a simple program to extract all .desktop files from the
6497 Debian archive and look up the claimed MIME support there. The result
6498 can be found on the
6499 <a href="http://ftp.skolelinux.org/pub/AppStreamTest">Skolelinux FTP
6500 site</a>. Using the collected information, it become possible to
6501 answer the question in the title. Here are the 20 most supported MIME
6502 types in Debian stable (Squeeze), testing (Wheezy) and unstable (Sid).
6503 The complete list is available from the link above.</p>
6504
6505 <p><strong>Debian Stable:</strong></p>
6506
6507 <pre>
6508 count MIME type
6509 ----- -----------------------
6510 32 text/plain
6511 30 audio/mpeg
6512 29 image/png
6513 28 image/jpeg
6514 27 application/ogg
6515 26 audio/x-mp3
6516 25 image/tiff
6517 25 image/gif
6518 22 image/bmp
6519 22 audio/x-wav
6520 20 audio/x-flac
6521 19 audio/x-mpegurl
6522 18 video/x-ms-asf
6523 18 audio/x-musepack
6524 18 audio/x-mpeg
6525 18 application/x-ogg
6526 17 video/mpeg
6527 17 audio/x-scpls
6528 17 audio/ogg
6529 16 video/x-ms-wmv
6530 </pre>
6531
6532 <p><strong>Debian Testing:</strong></p>
6533
6534 <pre>
6535 count MIME type
6536 ----- -----------------------
6537 33 text/plain
6538 32 image/png
6539 32 image/jpeg
6540 29 audio/mpeg
6541 27 image/gif
6542 26 image/tiff
6543 26 application/ogg
6544 25 audio/x-mp3
6545 22 image/bmp
6546 21 audio/x-wav
6547 19 audio/x-mpegurl
6548 19 audio/x-mpeg
6549 18 video/mpeg
6550 18 audio/x-scpls
6551 18 audio/x-flac
6552 18 application/x-ogg
6553 17 video/x-ms-asf
6554 17 text/html
6555 17 audio/x-musepack
6556 16 image/x-xbitmap
6557 </pre>
6558
6559 <p><strong>Debian Unstable:</strong></p>
6560
6561 <pre>
6562 count MIME type
6563 ----- -----------------------
6564 31 text/plain
6565 31 image/png
6566 31 image/jpeg
6567 29 audio/mpeg
6568 28 application/ogg
6569 27 image/gif
6570 26 image/tiff
6571 26 audio/x-mp3
6572 23 audio/x-wav
6573 22 image/bmp
6574 21 audio/x-flac
6575 20 audio/x-mpegurl
6576 19 audio/x-mpeg
6577 18 video/x-ms-asf
6578 18 video/mpeg
6579 18 audio/x-scpls
6580 18 application/x-ogg
6581 17 audio/x-musepack
6582 16 video/x-ms-wmv
6583 16 video/x-msvideo
6584 </pre>
6585
6586 <p>I am told that PackageKit can provide an API to access the kind of
6587 information mentioned in DEP-11. I have not yet had time to look at
6588 it, but hope the PackageKit people in Debian are on top of these
6589 issues.</p>
6590
6591 <p><strong>Update 2013-01-16 13:35</strong>: Updated numbers after
6592 discovering a typo in my script.</p>
6593
6594 </div>
6595 <div class="tags">
6596
6597
6598 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>.
6599
6600
6601 </div>
6602 </div>
6603 <div class="padding"></div>
6604
6605 <div class="entry">
6606 <div class="title">
6607 <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>
6608 </div>
6609 <div class="date">
6610 15th January 2013
6611 </div>
6612 <div class="body">
6613 <p>Yesterday, I wrote about the
6614 <a href="http://people.skolelinux.org/pere/blog/Modalias_strings___a_practical_way_to_map__stuff__to_hardware.html">modalias
6615 values provided by the Linux kernel</a> following my hope for
6616 <a href="http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html">better
6617 dongle support in Debian</a>. Using this knowledge, I have tested how
6618 modalias values attached to package names can be used to map packages
6619 to hardware. This allow the system to look up and suggest relevant
6620 packages when I plug in some new hardware into my machine, and replace
6621 discover and discover-data as the database used to map hardware to
6622 packages.</p>
6623
6624 <p>I create a modaliases file with entries like the following,
6625 containing package name, kernel module name (if relevant, otherwise
6626 the package name) and globs matching the relevant hardware
6627 modalias.</p>
6628
6629 <p><blockquote>
6630 Package: package-name
6631 <br>Modaliases: module(modaliasglob, modaliasglob, modaliasglob)</p>
6632 </blockquote></p>
6633
6634 <p>It is fairly trivial to write code to find the relevant packages
6635 for a given modalias value using this file.</p>
6636
6637 <p>An entry like this would suggest the video and picture application
6638 cheese for many USB web cameras (interface bus class 0E01):</p>
6639
6640 <p><blockquote>
6641 Package: cheese
6642 <br>Modaliases: cheese(usb:v*p*d*dc*dsc*dp*ic0Eisc01ip*)</p>
6643 </blockquote></p>
6644
6645 <p>An entry like this would suggest the pcmciautils package when a
6646 CardBus bridge (bus class 0607) PCI device is present:</p>
6647
6648 <p><blockquote>
6649 Package: pcmciautils
6650 <br>Modaliases: pcmciautils(pci:v*d*sv*sd*bc06sc07i*)
6651 </blockquote></p>
6652
6653 <p>An entry like this would suggest the package colorhug-client when
6654 plugging in a ColorHug with USB IDs 04D8:F8DA:</p>
6655
6656 <p><blockquote>
6657 Package: colorhug-client
6658 <br>Modaliases: colorhug-client(usb:v04D8pF8DAd*)</p>
6659 </blockquote></p>
6660
6661 <p>I believe the format is compatible with the format of the Packages
6662 file in the Debian archive. Ubuntu already uses their Packages file
6663 to store their mappings from packages to hardware.</p>
6664
6665 <p>By adding a XB-Modaliases: header in debian/control, any .deb can
6666 announce the hardware it support in a way my prototype understand.
6667 This allow those publishing packages in an APT source outside the
6668 Debian archive as well as those backporting packages to make sure the
6669 hardware mapping are included in the package meta information. I've
6670 tested such header in the pymissile package, and its modalias mapping
6671 is working as it should with my prototype. It even made it to Ubuntu
6672 Raring.</p>
6673
6674 <p>To test if it was possible to look up supported hardware using only
6675 the shell tools available in the Debian installer, I wrote a shell
6676 implementation of the lookup code. The idea is to create files for
6677 each modalias and let the shell do the matching. Please check out and
6678 try the
6679 <a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/hw-support-lookup?view=co">hw-support-lookup</a>
6680 shell script. It run without any extra dependencies and fetch the
6681 hardware mappings from the Debian archive and the subversion
6682 repository where I currently work on my prototype.</p>
6683
6684 <p>When I use it on a machine with a yubikey inserted, it suggest to
6685 install yubikey-personalization:</p>
6686
6687 <p><blockquote>
6688 % ./hw-support-lookup
6689 <br>yubikey-personalization
6690 <br>%
6691 </blockquote></p>
6692
6693 <p>When I run it on my Thinkpad X40 with a PCMCIA/CardBus slot, it
6694 propose to install the pcmciautils package:</p>
6695
6696 <p><blockquote>
6697 % ./hw-support-lookup
6698 <br>pcmciautils
6699 <br>%
6700 </blockquote></p>
6701
6702 <p>If you know of any hardware-package mapping that should be added to
6703 <a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/modaliases?view=co">my
6704 database</a>, please tell me about it.</p>
6705
6706 <p>It could be possible to generate several of the mappings between
6707 packages and hardware. One source would be to look at packages with
6708 kernel modules, ie packages with *.ko files in /lib/modules/, and
6709 extract their modalias information. Another would be to look at
6710 packages with udev rules, ie packages with files in
6711 /lib/udev/rules.d/, and extract their vendor/model information to
6712 generate a modalias matching rule. I have not tested any of these to
6713 see if it work.</p>
6714
6715 <p>If you want to help implementing a system to let us propose what
6716 packages to install when new hardware is plugged into a Debian
6717 machine, please send me an email or talk to me on
6718 <a href="irc://irc.debian.org/%23debian-devel">#debian-devel</a>.</p>
6719
6720 </div>
6721 <div class="tags">
6722
6723
6724 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>.
6725
6726
6727 </div>
6728 </div>
6729 <div class="padding"></div>
6730
6731 <div class="entry">
6732 <div class="title">
6733 <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>
6734 </div>
6735 <div class="date">
6736 14th January 2013
6737 </div>
6738 <div class="body">
6739 <p>While looking into how to look up Debian packages based on hardware
6740 information, to find the packages that support a given piece of
6741 hardware, I refreshed my memory regarding modalias values, and decided
6742 to document the details. Here are my findings so far, also available
6743 in
6744 <a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/">the
6745 Debian Edu subversion repository</a>:
6746
6747 <p><strong>Modalias decoded</strong></p>
6748
6749 <p>This document try to explain what the different types of modalias
6750 values stands for. It is in part based on information from
6751 &lt;URL: <a href="https://wiki.archlinux.org/index.php/Modalias">https://wiki.archlinux.org/index.php/Modalias</a> &gt;,
6752 &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;,
6753 &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
6754 &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;.
6755
6756 <p>The modalias entries for a given Linux machine can be found using
6757 this shell script:</p>
6758
6759 <pre>
6760 find /sys -name modalias -print0 | xargs -0 cat | sort -u
6761 </pre>
6762
6763 <p>The supported modalias globs for a given kernel module can be found
6764 using modinfo:</p>
6765
6766 <pre>
6767 % /sbin/modinfo psmouse | grep alias:
6768 alias: serio:ty05pr*id*ex*
6769 alias: serio:ty01pr*id*ex*
6770 %
6771 </pre>
6772
6773 <p><strong>PCI subtype</strong></p>
6774
6775 <p>A typical PCI entry can look like this. This is an Intel Host
6776 Bridge memory controller:</p>
6777
6778 <p><blockquote>
6779 pci:v00008086d00002770sv00001028sd000001ADbc06sc00i00
6780 </blockquote></p>
6781
6782 <p>This represent these values:</p>
6783
6784 <pre>
6785 v 00008086 (vendor)
6786 d 00002770 (device)
6787 sv 00001028 (subvendor)
6788 sd 000001AD (subdevice)
6789 bc 06 (bus class)
6790 sc 00 (bus subclass)
6791 i 00 (interface)
6792 </pre>
6793
6794 <p>The vendor/device values are the same values outputted from 'lspci
6795 -n' as 8086:2770. The bus class/subclass is also shown by lspci as
6796 0600. The 0600 class is a host bridge. Other useful bus values are
6797 0300 (VGA compatible card) and 0200 (Ethernet controller).</p>
6798
6799 <p>Not sure how to figure out the interface value, nor what it
6800 means.</p>
6801
6802 <p><strong>USB subtype</strong></p>
6803
6804 <p>Some typical USB entries can look like this. This is an internal
6805 USB hub in a laptop:</p>
6806
6807 <p><blockquote>
6808 usb:v1D6Bp0001d0206dc09dsc00dp00ic09isc00ip00
6809 </blockquote></p>
6810
6811 <p>Here is the values included in this alias:</p>
6812
6813 <pre>
6814 v 1D6B (device vendor)
6815 p 0001 (device product)
6816 d 0206 (bcddevice)
6817 dc 09 (device class)
6818 dsc 00 (device subclass)
6819 dp 00 (device protocol)
6820 ic 09 (interface class)
6821 isc 00 (interface subclass)
6822 ip 00 (interface protocol)
6823 </pre>
6824
6825 <p>The 0900 device class/subclass means hub. Some times the relevant
6826 class is in the interface class section. For a simple USB web camera,
6827 these alias entries show up:</p>
6828
6829 <p><blockquote>
6830 usb:v0AC8p3420d5000dcEFdsc02dp01ic01isc01ip00
6831 <br>usb:v0AC8p3420d5000dcEFdsc02dp01ic01isc02ip00
6832 <br>usb:v0AC8p3420d5000dcEFdsc02dp01ic0Eisc01ip00
6833 <br>usb:v0AC8p3420d5000dcEFdsc02dp01ic0Eisc02ip00
6834 </blockquote></p>
6835
6836 <p>Interface class 0E01 is video control, 0E02 is video streaming (aka
6837 camera), 0101 is audio control device and 0102 is audio streaming (aka
6838 microphone). Thus this is a camera with microphone included.</p>
6839
6840 <p><strong>ACPI subtype</strong></p>
6841
6842 <p>The ACPI type is used for several non-PCI/USB stuff. This is an IR
6843 receiver in a Thinkpad X40:</p>
6844
6845 <p><blockquote>
6846 acpi:IBM0071:PNP0511:
6847 </blockquote></p>
6848
6849 <p>The values between the colons are IDs.</p>
6850
6851 <p><strong>DMI subtype</strong></p>
6852
6853 <p>The DMI table contain lots of information about the computer case
6854 and model. This is an entry for a IBM Thinkpad X40, fetched from
6855 /sys/devices/virtual/dmi/id/modalias:</p>
6856
6857 <p><blockquote>
6858 dmi:bvnIBM:bvr1UETB6WW(1.66):bd06/15/2005:svnIBM:pn2371H4G:pvrThinkPadX40:rvnIBM:rn2371H4G:rvrNotAvailable:cvnIBM:ct10:cvrNotAvailable:
6859 </blockquote></p>
6860
6861 <p>The values present are</p>
6862
6863 <pre>
6864 bvn IBM (BIOS vendor)
6865 bvr 1UETB6WW(1.66) (BIOS version)
6866 bd 06/15/2005 (BIOS date)
6867 svn IBM (system vendor)
6868 pn 2371H4G (product name)
6869 pvr ThinkPadX40 (product version)
6870 rvn IBM (board vendor)
6871 rn 2371H4G (board name)
6872 rvr NotAvailable (board version)
6873 cvn IBM (chassis vendor)
6874 ct 10 (chassis type)
6875 cvr NotAvailable (chassis version)
6876 </pre>
6877
6878 <p>The chassis type 10 is Notebook. Other interesting values can be
6879 found in the dmidecode source:</p>
6880
6881 <pre>
6882 3 Desktop
6883 4 Low Profile Desktop
6884 5 Pizza Box
6885 6 Mini Tower
6886 7 Tower
6887 8 Portable
6888 9 Laptop
6889 10 Notebook
6890 11 Hand Held
6891 12 Docking Station
6892 13 All In One
6893 14 Sub Notebook
6894 15 Space-saving
6895 16 Lunch Box
6896 17 Main Server Chassis
6897 18 Expansion Chassis
6898 19 Sub Chassis
6899 20 Bus Expansion Chassis
6900 21 Peripheral Chassis
6901 22 RAID Chassis
6902 23 Rack Mount Chassis
6903 24 Sealed-case PC
6904 25 Multi-system
6905 26 CompactPCI
6906 27 AdvancedTCA
6907 28 Blade
6908 29 Blade Enclosing
6909 </pre>
6910
6911 <p>The chassis type values are not always accurately set in the DMI
6912 table. For example my home server is a tower, but the DMI modalias
6913 claim it is a desktop.</p>
6914
6915 <p><strong>SerIO subtype</strong></p>
6916
6917 <p>This type is used for PS/2 mouse plugs. One example is from my
6918 test machine:</p>
6919
6920 <p><blockquote>
6921 serio:ty01pr00id00ex00
6922 </blockquote></p>
6923
6924 <p>The values present are</p>
6925
6926 <pre>
6927 ty 01 (type)
6928 pr 00 (prototype)
6929 id 00 (id)
6930 ex 00 (extra)
6931 </pre>
6932
6933 <p>This type is supported by the psmouse driver. I am not sure what
6934 the valid values are.</p>
6935
6936 <p><strong>Other subtypes</strong></p>
6937
6938 <p>There are heaps of other modalias subtypes according to
6939 file2alias.c. There is the rest of the list from that source: amba,
6940 ap, bcma, ccw, css, eisa, hid, i2c, ieee1394, input, ipack, isapnp,
6941 mdio, of, parisc, pcmcia, platform, scsi, sdio, spi, ssb, vio, virtio,
6942 vmbus, x86cpu and zorro. I did not spend time documenting all of
6943 these, as they do not seem relevant for my intended use with mapping
6944 hardware to packages when new stuff is inserted during run time.</p>
6945
6946 <p><strong>Looking up kernel modules using modalias values</strong></p>
6947
6948 <p>To check which kernel modules provide support for a given modalias,
6949 one can use the following shell script:</p>
6950
6951 <pre>
6952 for id in $(find /sys -name modalias -print0 | xargs -0 cat | sort -u); do \
6953 echo "$id" ; \
6954 /sbin/modprobe --show-depends "$id"|sed 's/^/ /' ; \
6955 done
6956 </pre>
6957
6958 <p>The output can look like this (only the first few entries as the
6959 list is very long on my test machine):</p>
6960
6961 <pre>
6962 acpi:ACPI0003:
6963 insmod /lib/modules/2.6.32-5-686/kernel/drivers/acpi/ac.ko
6964 acpi:device:
6965 FATAL: Module acpi:device: not found.
6966 acpi:IBM0068:
6967 insmod /lib/modules/2.6.32-5-686/kernel/drivers/char/nvram.ko
6968 insmod /lib/modules/2.6.32-5-686/kernel/drivers/leds/led-class.ko
6969 insmod /lib/modules/2.6.32-5-686/kernel/net/rfkill/rfkill.ko
6970 insmod /lib/modules/2.6.32-5-686/kernel/drivers/platform/x86/thinkpad_acpi.ko
6971 acpi:IBM0071:PNP0511:
6972 insmod /lib/modules/2.6.32-5-686/kernel/lib/crc-ccitt.ko
6973 insmod /lib/modules/2.6.32-5-686/kernel/net/irda/irda.ko
6974 insmod /lib/modules/2.6.32-5-686/kernel/drivers/net/irda/nsc-ircc.ko
6975 [...]
6976 </pre>
6977
6978 <p>If you want to help implementing a system to let us propose what
6979 packages to install when new hardware is plugged into a Debian
6980 machine, please send me an email or talk to me on
6981 <a href="irc://irc.debian.org/%23debian-devel">#debian-devel</a>.</p>
6982
6983 <p><strong>Update 2013-01-15:</strong> Rewrite "cat $(find ...)" to
6984 "find ... -print0 | xargs -0 cat" to make sure it handle directories
6985 in /sys/ with space in them.</p>
6986
6987 </div>
6988 <div class="tags">
6989
6990
6991 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>.
6992
6993
6994 </div>
6995 </div>
6996 <div class="padding"></div>
6997
6998 <div class="entry">
6999 <div class="title">
7000 <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>
7001 </div>
7002 <div class="date">
7003 10th January 2013
7004 </div>
7005 <div class="body">
7006 <p>As part of my investigation on how to improve the support in Debian
7007 for hardware dongles, I dug up my old Mark and Spencer USB Rocket
7008 Launcher and updated the Debian package
7009 <a href="http://packages.qa.debian.org/pymissile">pymissile</a> to make
7010 sure udev will fix the device permissions when it is plugged in. I
7011 also added a "Modaliases" header to test it in the Debian archive and
7012 hopefully make the package be proposed by jockey in Ubuntu when a user
7013 plug in his rocket launcher. In the process I moved the source to a
7014 git repository under collab-maint, to make it easier for any DD to
7015 contribute. <a href="http://code.google.com/p/pymissile/">Upstream</a>
7016 is not very active, but the software still work for me even after five
7017 years of relative silence. The new git repository is not listed in
7018 the uploaded package yet, because I want to test the other changes a
7019 bit more before I upload the new version. If you want to check out
7020 the new version with a .desktop file included, visit the
7021 <a href="http://anonscm.debian.org/gitweb/?p=collab-maint/pymissile.git">gitweb
7022 view</a> or use "<tt>git clone
7023 git://anonscm.debian.org/collab-maint/pymissile.git</tt>".</p>
7024
7025 </div>
7026 <div class="tags">
7027
7028
7029 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>.
7030
7031
7032 </div>
7033 </div>
7034 <div class="padding"></div>
7035
7036 <div class="entry">
7037 <div class="title">
7038 <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>
7039 </div>
7040 <div class="date">
7041 9th January 2013
7042 </div>
7043 <div class="body">
7044 <p>One thing that annoys me with Debian and Linux distributions in
7045 general, is that there is a great package management system with the
7046 ability to automatically install software packages by downloading them
7047 from the distribution mirrors, but no way to get it to automatically
7048 install the packages I need to use the hardware I plug into my
7049 machine. Even if the package to use it is easily available from the
7050 Linux distribution. When I plug in a LEGO Mindstorms NXT, it could
7051 suggest to automatically install the python-nxt, nbc and t2n packages
7052 I need to talk to it. When I plug in a Yubikey, it could propose the
7053 yubikey-personalization package. The information required to do this
7054 is available, but no-one have pulled all the pieces together.</p>
7055
7056 <p>Some years ago, I proposed to
7057 <a href="http://lists.debian.org/debian-devel/2010/05/msg01206.html">use
7058 the discover subsystem to implement this</a>. The idea is fairly
7059 simple:
7060
7061 <ul>
7062
7063 <li>Add a desktop entry in /usr/share/autostart/ pointing to a program
7064 starting when a user log in.</li>
7065
7066 <li>Set this program up to listen for kernel events emitted when new
7067 hardware is inserted into the computer.</li>
7068
7069 <li>When new hardware is inserted, look up the hardware ID in a
7070 database mapping to packages, and take note of any non-installed
7071 packages.</li>
7072
7073 <li>Show a message to the user proposing to install the discovered
7074 package, and make it easy to install it.</li>
7075
7076 </ul>
7077
7078 <p>I am not sure what the best way to implement this is, but my
7079 initial idea was to use dbus events to discover new hardware, the
7080 discover database to find packages and
7081 <a href="http://www.packagekit.org/">PackageKit</a> to install
7082 packages.</p>
7083
7084 <p>Yesterday, I found time to try to implement this idea, and the
7085 draft package is now checked into
7086 <a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/">the
7087 Debian Edu subversion repository</a>. In the process, I updated the
7088 <a href="http://packages.qa.debian.org/d/discover-data.html">discover-data</a>
7089 package to map the USB ids of LEGO Mindstorms and Yubikey devices to
7090 the relevant packages in Debian, and uploaded a new version
7091 2.2013.01.09 to unstable. I also discovered that the current
7092 <a href="http://packages.qa.debian.org/d/discover.html">discover</a>
7093 package in Debian no longer discovered any USB devices, because
7094 /proc/bus/usb/devices is no longer present. I ported it to use
7095 libusb as a fall back option to get it working. The fixed package
7096 version 2.1.2-6 is now in experimental (didn't upload it to unstable
7097 because of the freeze).</p>
7098
7099 <p>With this prototype in place, I can insert my Yubikey, and get this
7100 desktop notification to show up (only once, the first time it is
7101 inserted):</p>
7102
7103 <p align="center"><img src="http://people.skolelinux.org/pere/blog/images/2013-01-09-hw-autoinstall.png"></p>
7104
7105 <p>For this prototype to be really useful, some way to automatically
7106 install the proposed packages by pressing the "Please install
7107 program(s)" button should to be implemented.</p>
7108
7109 <p>If this idea seem useful to you, and you want to help make it
7110 happen, please help me update the discover-data database with mappings
7111 from hardware to Debian packages. Check if 'discover-pkginstall -l'
7112 list the package you would like to have installed when a given
7113 hardware device is inserted into your computer, and report bugs using
7114 reportbug if it isn't. Or, if you know of a better way to provide
7115 such mapping, please let me know.</p>
7116
7117 <p>This prototype need more work, and there are several questions that
7118 should be considered before it is ready for production use. Is dbus
7119 the correct way to detect new hardware? At the moment I look for HAL
7120 dbus events on the system bus, because that is the events I could see
7121 on my Debian Squeeze KDE desktop. Are there better events to use?
7122 How should the user be notified? Is the desktop notification
7123 mechanism the best option, or should the background daemon raise a
7124 popup instead? How should packages be installed? When should they
7125 not be installed?</p>
7126
7127 <p>If you want to help getting such feature implemented in Debian,
7128 please send me an email. :)</p>
7129
7130 </div>
7131 <div class="tags">
7132
7133
7134 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>.
7135
7136
7137 </div>
7138 </div>
7139 <div class="padding"></div>
7140
7141 <div class="entry">
7142 <div class="title">
7143 <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>
7144 </div>
7145 <div class="date">
7146 2nd January 2013
7147 </div>
7148 <div class="body">
7149 <p>During Christmas, I have worked a bit on the Debian support for
7150 <a href="http://mindstorms.lego.com/en-us/Default.aspx">LEGO Mindstorm
7151 NXT</a>. My son and I have played a bit with my NXT set, and I
7152 discovered I had to build all the tools myself because none were
7153 already in Debian Squeeze. If Debian support for LEGO is something
7154 you care about, please join me on the IRC channel
7155 <a href="irc://irc.debian.org/%23debian-lego">#debian-lego</a> (server
7156 irc.debian.org). There is a lot that could be done to improve the
7157 Debian support for LEGO designers. For example both CAD software
7158 and Mindstorm compilers are missing. :)</p>
7159
7160 <p>Update 2012-01-03: A
7161 <a href="http://wiki.debian.org/LegoDesigners">project page</a>
7162 including links to Lego related packages is now available.</p>
7163
7164 </div>
7165 <div class="tags">
7166
7167
7168 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>.
7169
7170
7171 </div>
7172 </div>
7173 <div class="padding"></div>
7174
7175 <div class="entry">
7176 <div class="title">
7177 <a href="http://people.skolelinux.org/pere/blog/A_Christmas_present_for_Skolelinux___Debian_Edu.html">A Christmas present for Skolelinux / Debian Edu</a>
7178 </div>
7179 <div class="date">
7180 28th December 2012
7181 </div>
7182 <div class="body">
7183 <p>I was happy to discover a few days ago that the
7184 <a href="http://www.skolelinux.org/">Skolelinux / Debian Edu</a>
7185 project also this year received a Christmas present from Another
7186 Agency in Trondheim. NOK 1000,- showed up on our donation account
7187 December 24th. I want to express our thanks for this very welcome
7188 present. As the Debian Edu / Skolelinux project is very short on
7189 funding these days, and thus lack the money to do regular developer
7190 gatherings, this donation was most welcome. One developer gathering
7191 cost around NOK 15&nbsp;000,-, so we need quite a lot more to keep the
7192 development pace we want. Thus, I hope their example this year is
7193 followed by many others. :)</p>
7194
7195 <p>The public list of donors can be found on
7196 <a href="http://www.linuxiskolen.no/slxdebianlabs/donations.html">the
7197 donation page</a> for the project, which also contain instructions if
7198 you want to donate to the project.</p>
7199
7200 </div>
7201 <div class="tags">
7202
7203
7204 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>.
7205
7206
7207 </div>
7208 </div>
7209 <div class="padding"></div>
7210
7211 <div class="entry">
7212 <div class="title">
7213 <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>
7214 </div>
7215 <div class="date">
7216 25th December 2012
7217 </div>
7218 <div class="body">
7219 <p>Let me start by wishing you all marry Christmas and a happy new
7220 year! I hope next year will prove to be a good year.</p>
7221
7222 <p><a href="http://www.bitcoin.org/">Bitcoin</a>, the digital
7223 decentralised "currency" that allow people to transfer bitcoins
7224 between each other with minimal overhead, is a very interesting
7225 experiment. And as I wrote a few days ago, the bitcoin situation in
7226 <a href="http://www.debian.org/">Debian</a> is about to improve a bit.
7227 The <a href="http://packages.qa.debian.org/bitcoin">new debian source
7228 package</a> (version 0.7.2-2) was uploaded yesterday, and is waiting
7229 in <a href="http://ftp-master.debian.org/new.html">the NEW queue</A>
7230 for one of the ftpmasters to approve the new bitcoin-qt package
7231 name.</p>
7232
7233 <p>And thanks to the great work of Jonas and the rest of the bitcoin
7234 team in Debian, you can easily test the package in Debian Squeeze
7235 using the following steps to get a set of working packages:</p>
7236
7237 <blockquote><pre>
7238 git clone git://git.debian.org/git/collab-maint/bitcoin
7239 cd bitcoin
7240 DEB_MAINTAINER_MODE=1 DEB_BUILD_OPTIONS=noupnp fakeroot debian/rules clean
7241 DEB_BUILD_OPTIONS=noupnp git-buildpackage --git-ignore-new
7242 </pre></blockquote>
7243
7244 <p>You might have to install some build dependencies as well. The
7245 list of commands should give you two packages, bitcoind and
7246 bitcoin-qt, ready for use in a Squeeze environment. Note that the
7247 client will download the complete set of bitcoin "blocks", which need
7248 around 5.6 GiB of data on my machine at the moment. Make sure your
7249 ~/.bitcoin/ directory have lots of spare room if you want to download
7250 all the blocks. The client will warn if the disk is getting full, so
7251 there is not really a problem if you got too little room, but you will
7252 not be able to get all the features out of the client.</p>
7253
7254 <p>As usual, if you use bitcoin and want to show your support of my
7255 activities, please send Bitcoin donations to my address
7256 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
7257
7258 </div>
7259 <div class="tags">
7260
7261
7262 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>.
7263
7264
7265 </div>
7266 </div>
7267 <div class="padding"></div>
7268
7269 <div class="entry">
7270 <div class="title">
7271 <a href="http://people.skolelinux.org/pere/blog/A_word_on_bitcoin_support_in_Debian.html">A word on bitcoin support in Debian</a>
7272 </div>
7273 <div class="date">
7274 21st December 2012
7275 </div>
7276 <div class="body">
7277 <p>It has been a while since I wrote about
7278 <a href="http://www.bitcoin.org/">bitcoin</a>, the decentralised
7279 peer-to-peer based crypto-currency, and the reason is simply that I
7280 have been busy elsewhere. But two days ago, I started looking at the
7281 state of <a href="http://packages.qa.debian.org/bitcoin">bitcoin in
7282 Debian</a> again to try to recover my old bitcoin wallet. The package
7283 is now maintained by a
7284 <a href="https://alioth.debian.org/projects/pkg-bitcoin/">team of
7285 people</a>, and the grunt work had already been done by this team. We
7286 owe a huge thank you to all these team members. :)
7287 But I was sad to discover that the bitcoin client is missing in
7288 Wheezy. It is only available in Sid (and an outdated client from
7289 backports). The client had several RC bugs registered in BTS blocking
7290 it from entering testing. To try to help the team and improve the
7291 situation, I spent some time providing patches and triaging the bug
7292 reports. I also had a look at the bitcoin package available from Matt
7293 Corallo in a
7294 <a href="https://launchpad.net/~bitcoin/+archive/bitcoin">PPA for
7295 Ubuntu</a>, and moved the useful pieces from that version into the
7296 Debian package.</p>
7297
7298 <p>After checking with the main package maintainer Jonas Smedegaard on
7299 IRC, I pushed several patches into the collab-maint git repository to
7300 improve the package. It now contains fixes for the RC issues (not from
7301 me, but fixed by Scott Howard), build rules for a Qt GUI client
7302 package, konqueror support for the bitcoin: URI and bash completion
7303 setup. As I work on Debian Squeeze, I also created
7304 <a href="http://lists.alioth.debian.org/pipermail/pkg-bitcoin-devel/Week-of-Mon-20121217/000041.html">a
7305 patch to backport</a> the latest version. Jonas is going to look at
7306 it and try to integrate it into the git repository before uploading a
7307 new version to unstable.
7308
7309 <p>I would very much like bitcoin to succeed, to get rid of the
7310 centralized control currently exercised in the monetary system. I
7311 find it completely unacceptable that the USA government is collecting
7312 transaction data for almost all international money transfers (most are done in USD and transaction logs shipped to the spooks), and
7313 that the major credit card companies can block legal money
7314 transactions to Wikileaks. But for bitcoin to succeed, more people
7315 need to use bitcoins, and more people need to accept bitcoins when
7316 they sell products and services. Improving the bitcoin support in
7317 Debian is a small step in the right direction, but not enough.
7318 Unfortunately the user experience when browsing the web and wanting to
7319 pay with bitcoin is still not very good. The bitcoin: URI is a step
7320 in the right direction, but need to work in most or every browser in
7321 use. Also the bitcoin-qt client is too heavy to fire up to do a
7322 quick transaction. I believe there are other clients available, but
7323 have not tested them.</p>
7324
7325 <p>My
7326 <a href="http://people.skolelinux.org/pere/blog/Now_accepting_bitcoins___anonymous_and_distributed_p2p_crypto_money.html">experiment
7327 with bitcoins</a> showed that at least some of my readers use bitcoin.
7328 I received 20.15 BTC so far on the address I provided in my blog two
7329 years ago, as can be
7330 <a href="http://blockexplorer.com/address/15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">seen
7331 on the blockexplorer service</a>. Thank you everyone for your
7332 donation. The blockexplorer service demonstrates quite well that
7333 bitcoin is not quite anonymous and untracked. :) I wonder if the
7334 number of users have gone up since then. If you use bitcoin and want
7335 to show your support of my activity, please send Bitcoin donations to
7336 the same address as last time,
7337 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
7338
7339 </div>
7340 <div class="tags">
7341
7342
7343 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>.
7344
7345
7346 </div>
7347 </div>
7348 <div class="padding"></div>
7349
7350 <div class="entry">
7351 <div class="title">
7352 <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>
7353 </div>
7354 <div class="date">
7355 18th December 2012
7356 </div>
7357 <div class="body">
7358 <p>A few days ago I came across
7359 <a href="http://joeyh.name/blog/entry/hledger/">a blog post from Joey
7360 Hess</a> describing <a href="http://ledger-cli.org/">ledger</a> and
7361 hledger, a text based system for double-entry accounting. I found it
7362 interesting, as I am involved with several organizations where
7363 accounting is an issue, and I have not really become too friendly with
7364 the different web based systems we use. I find it hard to find what I
7365 look for in the menus and even harder try to get sensible data out of
7366 the systems. Ledger seem different. The accounting data is kept in
7367 text files that can be stored in a version control system, and there
7368
7369 are at least <a href="https://github.com/ledger/ledger/wiki/Ports">five
7370 different implementations</a> able to read the format. An example
7371 entry look like this, and is simple enough that it will be trivial to
7372 generate entries based on CVS files fetched from the bank:</p>
7373
7374 <blockquote><pre>
7375 2004-05-27 Book Store
7376 Expenses:Books $20.00
7377 Liabilities:Visa
7378 </pre></blockquote>
7379
7380 <p>The concept seemed interesting enough for me to check it out and
7381 look for others using it. I found blog posts from
7382 <a href="http://blog.spang.cc/posts/hledger_rocks_my_world/">Christine
7383 Spang</a>,
7384 <a href="http://bugsplat.info/2010-05-23-keeping-finances-with-ledger.html">Pete
7385 Keen</a>,
7386 <a href="http://blog.andrewcantino.com/blog/2010/11/06/command-line-accounting-with-ledger-and-reckon/">Andrew
7387 Cantino</a> and
7388 <a href="http://blog.iphoting.com/blog/2012/11/29/command-line-double-entry-accounting/">Ronald
7389 Ip</a> describing how they use it, as well as a post from
7390 <a href="https://groups.google.com/forum/?fromgroups=#!topic/ledger-cli/r0oWjwbQ9Bo">Bradley
7391 M. Kuhn</a> at the Software Freedom Conservancy. All seemed like good
7392 recommendations fitting my need.</p>
7393
7394 <p>The <a href="http://packages.qa.debian.org/l/ledger.html">ledger</a>
7395 package is available in Debian Squeeze, while the
7396 <a href="http://packages.qa.debian.org/h/haskell-hledger.html">hledger</a>
7397 package only is available in Debian Sid. As I use Squeeze, ledger
7398 seemed the best choice to get started.</p>
7399
7400 <p>To get some real data to test on, I wrote a
7401 <a href="http://www.nuug.no/tools/lodo2ledger">web scraper</a> for
7402 <a href="http://www.lodo.no/">LODO</a>, the accounting system used by
7403 the <a href="http://www.nuug.no/">NUUG</a> association, and started to
7404 play with the data set. I'm not really deeply into accounting, but I
7405 am able to get a simple balance and accounting status for example
7406 using the "<tt>ledger balance</tt>" command. But I will have to
7407 gather more experience before I know if the ledger way is a good fit
7408 for the organisations I am involved in.</p>
7409
7410 </div>
7411 <div class="tags">
7412
7413
7414 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>.
7415
7416
7417 </div>
7418 </div>
7419 <div class="padding"></div>
7420
7421 <div class="entry">
7422 <div class="title">
7423 <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>
7424 </div>
7425 <div class="date">
7426 6th December 2012
7427 </div>
7428 <div class="body">
7429 <p>Where I work at the <a href="http://www.uio.no/">University of
7430 Oslo</a>, we use the
7431 <a href="http://sourceforge.net/projects/cerebrum/">Cerebrum user
7432 administration system</a> to maintain users, groups, DNS, DHCP, etc.
7433 I've known since the system was written that the server is providing
7434 an <a href="http://en.wikipedia.org/wiki/XML-RPC">XML-RPC</a> API, but
7435 I have never spent time to try to figure out how to use it, as we
7436 always use the bofh command line client at work. Until today. I want
7437 to script the updating of DNS and DHCP to make it easier to set up
7438 virtual machines. Here are a few notes on how to use it with
7439 Python.</p>
7440
7441 <p>I started by looking at the source of the Java
7442 <a href="http://cerebrum.svn.sourceforge.net/viewvc/cerebrum/trunk/cerebrum/clients/jbofh/">bofh
7443 client</a>, to figure out how it connected to the API server. I also
7444 googled for python examples on how to use XML-RPC, and found
7445 <a href="http://tldp.org/HOWTO/XML-RPC-HOWTO/xmlrpc-howto-python.html">a
7446 simple example in</a> the XML-RPC howto.</p>
7447
7448 <p>This simple example code show how to connect, get the list of
7449 commands (as a JSON dump), and how to get the information about the
7450 user currently logged in:</p>
7451
7452 <blockquote><pre>
7453 #!/usr/bin/env python
7454 import getpass
7455 import xmlrpclib
7456 server_url = 'https://cerebrum-uio.uio.no:8000';
7457 username = getpass.getuser()
7458 password = getpass.getpass()
7459 server = xmlrpclib.Server(server_url);
7460 #print server.get_commands(sessionid)
7461 sessionid = server.login(username, password)
7462 print server.run_command(sessionid, "user_info", username)
7463 result = server.logout(sessionid)
7464 print result
7465 </pre></blockquote>
7466
7467 <p>Armed with this knowledge I can now move forward and script the DNS
7468 and DHCP updates I wanted to do.</p>
7469
7470 </div>
7471 <div class="tags">
7472
7473
7474 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>.
7475
7476
7477 </div>
7478 </div>
7479 <div class="padding"></div>
7480
7481 <div class="entry">
7482 <div class="title">
7483 <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>
7484 </div>
7485 <div class="date">
7486 17th November 2012
7487 </div>
7488 <div class="body">
7489 <p>While working on a
7490 <a href="https://github.com/petterreinholdtsen/free-culture-lessig">Norwegian
7491 translation of the Free Culture by Lawrence Lessig</a> (76% done),
7492 which cover the problems with todays copyright law and how it stifles
7493 creativity, one idea occurred to me. The idea is to get the tax
7494 office to help make more works enter the public domain and also help
7495 make it easier to clear rights for using copyrighted works.</p>
7496
7497 <p>I mentioned this idea briefly during Yesterdays
7498 <a href="http://www.farmann.no/2012/11/14/john-perry-barlow-in-oslo-friday-nov-16
7499 -15-30-19-00/">presentation
7500 by John Perry Barlow</a>, and concluded that it was best to put it
7501 in writing for a wider audience. The idea is not really based on the
7502 argument that copyrighted works are "intellectual property", as the
7503 core requirement is that copyrighted work have value for the copyright
7504 holder and the tax office like to collect their share from any value
7505 controlled by the citizens in a country. I'm sharing the idea here to
7506 let others consider it and perhaps shoot it down with a fresh set of
7507 arguments.</p>
7508
7509 <p>Most valuables are taxed by the government. At least here in
7510 Norway, the amount of money you have, the value of our land property,
7511 the value of your house, the value of your car, the value of our
7512 stocks and other valuables are all added together. If the tax value
7513 of these values exceed your debt, you have to pay the tax office some
7514 taxes for these values. And copyrighted work have value. It have
7515 value for the rights holder, who can earn money selling access to the
7516 work. But it is not included in the tax calculations? Why not?</p>
7517
7518 <p>If the government want to tax copyrighted works, it would want to
7519 maintain a database of all the copyrighted works and who are the
7520 rights holders for a given works, to be able to associate the works
7521 value to the right citizen or company for tax purposes. If such
7522 database exist, it will become a lot easier to find out who to talk to
7523 for clearing permissions to use a copyrighted work, which is a very
7524 hard operation with todays copyright law. To ensure that copyright
7525 holders keep the database up-to-date, it would have to become a
7526 requirement to be able to collect money for granting access to
7527 copyrighted works that the work is listed in the database with the
7528 correct right holder.</p>
7529
7530 <p>If copyright causes copyright holders to have to pay more taxes,
7531 they will have a small incentive to "disown" their copyright, and let
7532 the work enter the public domain. For works with several right holders
7533 one of the right holders could state (and get it registered in the
7534 database) that she do not need to be consulted when clearing rights to
7535 use the work in question and thus will not get any income from that
7536 work. Stating this would have to be impossible to revert and stop the
7537 tax office from adding the value of that work to the given citizens
7538 tax calculation. I assume the copyright law would stay the same,
7539 allowing creators to pick a license of their choosing, and also
7540 allowing them to put their work directly in the public domain. The
7541 existence of such database will make it even easier to clear rights,
7542 and if the right holders listed in the database is taxed, this system
7543 would increase the amount of works that enter the public domain.</p>
7544
7545 <p>The effect would be that the tax office help to make it easier to
7546 get rights to use the works that have not yet entered the public
7547 domain and help to get more work into the public domain and .</p>
7548
7549 <p>Why have such taxing not happened yet? I am sure the tax office
7550 would like to tax copyrighted work values if they could.</p>
7551
7552 </div>
7553 <div class="tags">
7554
7555
7556 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>.
7557
7558
7559 </div>
7560 </div>
7561 <div class="padding"></div>
7562
7563 <div class="entry">
7564 <div class="title">
7565 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Angela_Fu_.html">Debian Edu interview: Angela Fuß</a>
7566 </div>
7567 <div class="date">
7568 14th November 2012
7569 </div>
7570 <div class="body">
7571 <p>Here is another interview with one of the people in the <a
7572 href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>
7573 community. I am running short on people willing to be interviewed, so
7574 if you know about someone I should interview, Please send me an email.
7575 After asking for many months, I finally managed to lure another one of
7576 the people behind the German
7577 "<a href="http://wiki.it-zukunft-schule.de/">IT-Zukunft Schule</a>"
7578 project out from maternity leave to conduct an interview. Give a warm
7579 welcome to Angela Fuß. :)</p>
7580
7581 <p><strong>Who are you, and how do you spend your days?</strong></p>
7582
7583 <p>I am a 39-year-old woman living in the very north of Germany near
7584 Denmark. I live in a patchwork family with "my man" Mike Gabriel, my
7585 two daughters, Mikes daughter and Mikes and my rather newborn son.
7586
7587 <p>At the moment - because of our little baby - I am spending most of
7588 the day by being a caring and organising mom for all the kids.
7589 Besides that I am really involved into and occupied with several inner
7590 growth processes: New born souls always bring the whole familiar
7591 system into movement and that needs time and focus ;-). We are also
7592 in the middle of buying a house and moving to it.</p>
7593
7594 <p>In 2013 I will work again in my job in a German foundation for
7595 nature conservation. I am doing public relation work there. Besides
7596 that - and that is the connection to Skolelinux / Debian Edu - I am
7597 working in our own school project "IT-Zukunft Schule" in North
7598 Germany. I am responsible for the quality assurance, the customer
7599 relationship management and the communication processes in the
7600 project.</p>
7601
7602 <p>Since 2001 I constantly have been training myself in communication
7603 and leadership. Besides that I am a forester, a landscaping gardener
7604 and a yoga teacher.</p>
7605
7606 <p><strong>How did you get in contact with the Skolelinux / Debian Edu
7607 project?</strong></p>
7608
7609 <p>I fell in love with Mike ;-).</p>
7610
7611 <p>Very soon after getting to know him I was completely enrolled into
7612 Free Software. At this time Mike did IT-services for one newly
7613 founded school in Kiel. Other schools in Kiel needed concepts for
7614 their IT environment. Often when Mike came home from working at the
7615 newly founded school I found myself listening to his complaints about
7616 several points where the communication with the schools head or the
7617 teachers did not work. So we were clear that he would not work for
7618 one more school if we did not set up a structure for communication
7619 between him, the schools head, the teachers, the students and the
7620 parents.</p>
7621
7622 <p>Together with our friend and hardware supplier Andreas Buchholz we
7623 started to get an overview of free software solutions suitable for
7624 schools. One day before Christmas 2010 Mike and I had a date with Kurt
7625 Gramlich in Gütersloh. As Kurt and I are really interested in building
7626 networks of people and in being in communication we dived into
7627 Skolelinux and brought it to the first grammar schools in Northern
7628 Germany.</p>
7629
7630 <p>For information about our school project you can read
7631 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Mike_Gabriel.html">the
7632 interview with Mike Gabriel</a>.</p>
7633
7634 <p><strong>What do you see as the advantages of Skolelinux / Debian
7635 Edu?</strong></p>
7636
7637 <p>First I have to say: I cannot answer this question technically. My
7638 answer comes rather from a social point of view.</p>
7639
7640 <p>The biggest advantage of Skolelinux / Debian Edu I see is the large
7641 and strong international community of Debian Developers in the
7642 background which is very alive and connected over mailinglists, blogs
7643 and meetings. My constant feeling for the Debian Community is: If
7644 something does not work they will somehow fix it. All is well
7645 ;-). This is of course a user experience. What I also get as a big
7646 advantage of Skolelinux / Debian Edu is that everybody who uses it and
7647 works with it can also contribute to it - that includes students,
7648 teachers, parents...</p>
7649
7650 <p><strong>What do you see as the disadvantages of Skolelinux / Debian
7651 Edu?</strong></p>
7652
7653 <p>I will answer this question relating to the internal structure of
7654 Skolelinux / Debian Edu.</p>
7655
7656 <p>What I see as a major disadvantage is that there is a gap between
7657 the group of developers for Debian Edu and the people who make the
7658 marketing, that means the people that bring Skolelinux to the
7659 schools. There is a lack of communication between these two groups and
7660 I think that does not really work for Skolelinux / Debian Edu.</p>
7661
7662 <p>Further I appreciate that Skolelinux / Debian Edu is known as a
7663 do-ocracy. Nevertheless I keep asking myself if at some points a
7664 democracy or some kind of hierarchical project structure would be good
7665 and helpful. I am also missing some kind of contact between the
7666 Skolelinux / Debian Edu communities in Europe or on an international
7667 level. I think it would be good if there was more sharing between the
7668 different countries using Skolelinux / Debian Edu.</p>
7669
7670 <p><strong>Which free software do you use daily?</strong></p>
7671
7672 <p>On my laptop I am still using an Ubuntu 10.04 with a Gnome Desktop
7673 on. As applications I use Openoffice.org, Gedit, Firefox, Pidgin,
7674 LaTeX and GnuCash. For mails I am using Horde. And I am really fond of
7675 my N900 running with Maemo.</p>
7676
7677 <p><strong>Which strategy do you believe is the right one to use to
7678 get schools to use free software?</strong></p>
7679
7680 <p>I am really convinced that in our school project "IT-Zukunft
7681 Schule" we have developed (and keep developing) a great way to get
7682 schools to use Free Software. We have written a detailed concept for
7683 that so I cannot explain the whole thing here. But in a nutshell the
7684 strategy has three crucial pillars:</p>
7685
7686 <ul>
7687
7688 <li>We really take time to get what sort of stories, questions and
7689 concerns the schools head and the teachers have about using different
7690 kinds of IT and we take time to enrol them into Free Software.</li>
7691
7692 <li>Our solution for schools is never just technical. In the centre
7693 are always the people who are going to use the software. From the very
7694 beginning of the planning for a school, we tell the schools head that
7695 they are paying us not only for a technical solution for their school,
7696 they also pay us for leading all the communication processes
7697 needed. If they do not want that, we are not working with them because
7698 we cannot give a guarantee for the quality of our work then.</li>
7699
7700 <li>Another focus lies in the training of teachers and students in
7701 co-administrating the IT-System at their school. They start getting in
7702 contact with the Skolelinux / Debian Edu community and they get the
7703 offer to become more and more independent from us.</li>
7704
7705 </ul>
7706
7707 </div>
7708 <div class="tags">
7709
7710
7711 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>.
7712
7713
7714 </div>
7715 </div>
7716 <div class="padding"></div>
7717
7718 <div class="entry">
7719 <div class="title">
7720 <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>
7721 </div>
7722 <div class="date">
7723 4th November 2012
7724 </div>
7725 <div class="body">
7726 <p>Slashdot just ran a story about the European Central Bank (ECB)
7727 <a href="http://www.ecb.europa.eu/pub/pdf/other/virtualcurrencyschemes201210en.pdf">releasing
7728 a report (PDF)</a> about virtual currencies and
7729 <a href="http://www.bitcoin.org/">bitcoin</a>. It is interesting to
7730 see how a member of the bitcoin community
7731 <a href="http://blog.bitinstant.com/blog/2012/10/30/the-ecb-report-on-bitcoin-and-virtual-currencies.html">receive
7732 the report</a>. As for the future, I suspect the central banks and
7733 the governments will outlaw bitcoin if it gain any popularity, to avoid
7734 competition. My thoughts go to the
7735 <a href="http://en.wikipedia.org/wiki/Wörgl">Wörgl experiment</a> with
7736 negative inflation on cash which was such a success that it was
7737 terminated by the Austrian National Bank in 1933. A successful
7738 alternative would be a threat to the current money system and gain
7739 powerful forces to work against it.</p>
7740
7741 <p>While checking out the current status of bitcoin, I also discovered
7742 that the community already seem to have
7743 <a href="http://www.theverge.com/2012/8/27/3271637/bitcoin-savings-trust-pyramid-scheme-shuts-down">experienced
7744 its first pyramid game / Ponzi scheme</a>. Not very surprising, given
7745 how members of "small" communities tend to trust each other. I guess
7746 enterprising crocks will try again and again, as they do anywhere
7747 wealth is available.</p>
7748
7749 </div>
7750 <div class="tags">
7751
7752
7753 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>.
7754
7755
7756 </div>
7757 </div>
7758 <div class="padding"></div>
7759
7760 <div class="entry">
7761 <div class="title">
7762 <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>
7763 </div>
7764 <div class="date">
7765 26th October 2012
7766 </div>
7767 <div class="body">
7768 <p>I work at the <a href="http://www.uio.no/">University of Oslo</a>
7769 looking after the computers, mostly on the unix side, but in general
7770 all over the place. I am also a member (and currently leader) of
7771 <a href="http://www.nuug.no/">the NUUG association</a>, which in turn
7772 make me a member of <a href="http://www.usenix.org/">USENIX</a>. NUUG
7773 is an member organisation for us in Norway interested in free
7774 software, open standards and unix like operating systems, and USENIX
7775 is a US based member organisation with similar targets. And thanks to
7776 these memberships, I get all issues of the great USENIX magazine
7777 <a href="https://www.usenix.org/publications/login">;login:</a> in the
7778 mail several times a year. The magazine is great, and I read most of
7779 it every time.</p>
7780
7781 <p>In the last issue of the USENIX magazine ;login:, there is an
7782 article by <a href="http://www.skendric.com/">Stuart Kendrick</a> from
7783 Fred Hutchinson Cancer Research Center titled
7784 "<a href="https://www.usenix.org/publications/login/october-2012-volume-37-number-5/what-takes-us-down">What
7785 Takes Us Down</a>" (longer version also
7786 <a href="http://www.skendric.com/problem/incident-analysis/2012-06-30/What-Takes-Us-Down.pdf">available
7787 from his own site</a>), where he report what he found when he
7788 processed the outage reports (both planned and unplanned) from the
7789 last twelve years and classified them according to cause, time of day,
7790 etc etc. The article is a good read to get some empirical data on
7791 what kind of problems affect a data centre, but what really inspired
7792 me was the kind of reporting they had put in place since 2000.<p>
7793
7794 <p>The centre set up a mailing list, and started to send fairly
7795 standardised messages to this list when a outage was planned or when
7796 it already occurred, to announce the plan and get feedback on the
7797 assumtions on scope and user impact. Here is the two example from the
7798 article: First the unplanned outage:
7799
7800 <blockquote><pre>
7801 Subject: Exchange 2003 Cluster Issues
7802 Severity: Critical (Unplanned)
7803 Start: Monday, May 7, 2012, 11:58
7804 End: Monday, May 7, 2012, 12:38
7805 Duration: 40 minutes
7806 Scope: Exchange 2003
7807 Description: The HTTPS service on the Exchange cluster crashed, triggering
7808 a cluster failover.
7809
7810 User Impact: During this period, all Exchange users were unable to
7811 access e-mail. Zimbra users were unaffected.
7812 Technician: [xxx]
7813 </pre></blockquote>
7814
7815 Next the planned outage:
7816
7817 <blockquote><pre>
7818 Subject: H Building Switch Upgrades
7819 Severity: Major (Planned)
7820 Start: Saturday, June 16, 2012, 06:00
7821 End: Saturday, June 16, 2012, 16:00
7822 Duration: 10 hours
7823 Scope: H2 Transport
7824 Description: Currently, Catalyst 4006s provide 10/100 Ethernet to end-
7825 stations. We will replace these with newer Catalyst
7826 4510s.
7827 User Impact: All users on H2 will be isolated from the network during
7828 this work. Afterward, they will have gigabit
7829 connectivity.
7830 Technician: [xxx]
7831 </pre></blockquote>
7832
7833 <p>He notes in his article that the date formats and other fields have
7834 been a bit too free form to make it easy to automatically process them
7835 into a database for further analysis, and I would have used ISO 8601
7836 dates myself to make it easier to process (in other words I would ask
7837 people to write '2012-06-16 06:00 +0000' instead of the start time
7838 format listed above). There are also other issues with the format
7839 that could be improved, read the article for the details.</p>
7840
7841 <p>I find the idea of standardising outage messages seem to be such a
7842 good idea that I would like to get it implemented here at the
7843 university too. We do register
7844 <a href="http://www.uio.no/tjenester/it/aktuelt/planlagte-tjenesteavbrudd/">planned
7845 changes and outages in a calendar</a>, and report the to a mailing
7846 list, but we do not do so in a structured format and there is not a
7847 report to the same location for unplanned outages. Perhaps something
7848 for other sites to consider too?</p>
7849
7850 </div>
7851 <div class="tags">
7852
7853
7854 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>.
7855
7856
7857 </div>
7858 </div>
7859 <div class="padding"></div>
7860
7861 <div class="entry">
7862 <div class="title">
7863 <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>
7864 </div>
7865 <div class="date">
7866 22nd October 2012
7867 </div>
7868 <div class="body">
7869 <p>A blog post from Martin Bekkelund today tell the story of
7870 <a href="http://www.bekkelund.net/2012/10/22/outlawed-by-amazon-drm/">how
7871 Amazon erased the books from a customer's kindle, locked the account
7872 and refuse to tell the customer why</a>. If a real book store did
7873 this to a customer, it would be called breaking into private property
7874 and theft. The story has spread around the net today. A bit more
7875 background information is available in Norwegian from
7876 <a href="http://www.digi.no/904658/hun-ble-kastet-ut-av-amazon">digi.no</a>.
7877 It is no surprise that digital restriction mechanisms (DRM) are used
7878 this way, as it has been warned about such abuse since DRM was
7879 introduced many years back. And Amazon proved in 2009 that it was
7880 willing to
7881 <a href="http://boingboing.net/2009/07/20/amazons-orwellian-de.html">
7882 break into customers equipment and remove the books</a> people had
7883 bought, when it removed the book 1984 by George Orwell from all the
7884 customers who had bought it. From the official comments, it even
7885 sounded like
7886 <a href="http://www.nytimes.com/2009/07/18/technology/companies/18amazon.html">Amazon
7887 would never do that again</a>. And here we are, three years
7888 later.</p>
7889
7890 <p>And thought this action is
7891 <a href="http://www.itavisen.no/904648/forbrukerraadet-helt-haarreisende">against
7892 Norwegian regulations and law</a>, it is according to the terms of use
7893 as written by Amazon, and it is hard to hold Amazon accountable to
7894 Norwegian laws. It is just yet another example of unacceptable terms
7895 of use on the web, and how they are used to remove customer
7896 rights.</p>
7897
7898 <p>Luckily for electronic books, there are alternatives without
7899 unacceptable terms. For example
7900 <a href="http://www.gutenberg.org/">Project Gutenberg</a> (about 40,000
7901 books), <a href="http://runeberg.org/">Project Runenberg</a> (1,652
7902 books) and <a href="http://www.archive.org/details/texts">The Internet
7903 Archive</a> (3,641,797 books) have heaps of books without DRM, which
7904 can read by anyone and shared with anyone.</p>
7905
7906 <p>Update 2012-10-23: This story broke in the morning on Monday. In
7907 the evening after the story had spread all across the Internet, Amazon
7908 restored the account of the user, as reported by
7909 <a href="http://www.digi.no/904675/helomvending-fra-amazon">digi.no</a>
7910 and <a href="http://nrk.no/kultur-og-underholdning/1.8368487">NRK</a>.
7911 Apparently public pressure work. The story from Martin have seen
7912 several twitter messages per minute the last 24 hours, which is quite
7913 a lot, and is still drawing a lot of attention. But even when the
7914 account is restored, the fundamental problem still exist. I recommend
7915 reading two opinions from
7916 <a href="http://blogs.computerworlduk.com/simon-says/2012/10/rights-you-have-no-right-to-your-ebooks/index.htm">Simon
7917 Phipps</a> and
7918 <a href="http://blogs.computerworlduk.com/open-enterprise/2012/10/is-amazon-playing-fair/index.htm">Glen
7919 Moody</a> if you want to learn more about the fundamentals and more
7920 details about the original story.</p>
7921
7922 </div>
7923 <div class="tags">
7924
7925
7926 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>.
7927
7928
7929 </div>
7930 </div>
7931 <div class="padding"></div>
7932
7933 <div class="entry">
7934 <div class="title">
7935 <a href="http://people.skolelinux.org/pere/blog/The_fight_for_freedom_and_privacy.html">The fight for freedom and privacy</a>
7936 </div>
7937 <div class="date">
7938 18th October 2012
7939 </div>
7940 <div class="body">
7941 <p>Civil liberties and privacy in the western world are going down the
7942 drain, and it is hard to fight against it. I try to do my best, but
7943 time is limited. I hope you do your best too. A few years ago I came
7944 across a marvellous drawing by
7945 <a href="http://www.claybennett.com/about.html">Clay Bennett</a>
7946 visualising some of what is going on.
7947
7948 <p><a href="http://www.claybennett.com/pages/security_fence.html">
7949 <img src="http://www.claybennett.com/images/archivetoons/security_fence.jpg"></a></p>
7950
7951 <blockquote>
7952 «They who can give up essential liberty to obtain a little temporary
7953 safety, deserve neither liberty nor safety.» - Benjamin Franklin
7954 </blockquote>
7955
7956 <p>Do you feel safe at the airport? I do not. Do you feel safe when
7957 you see a surveillance camera? I do not. Do you feel safe when you
7958 leave electronic traces of your behaviour and opinions? I do not. I
7959 just remember <a href="http://en.wikipedia.org/wiki/Panopticon">the
7960 Panopticon</a>, and can not help to think that we are slowly
7961 transforming our society to a huge Panopticon on our own.</p>
7962
7963 </div>
7964 <div class="tags">
7965
7966
7967 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>.
7968
7969
7970 </div>
7971 </div>
7972 <div class="padding"></div>
7973
7974 <div class="entry">
7975 <div class="title">
7976 <a href="http://people.skolelinux.org/pere/blog/ColonHelp_produser_sue_WordPress_to_silence_critic.html">ColonHelp produser sue WordPress to silence critic</a>
7977 </div>
7978 <div class="date">
7979 12th October 2012
7980 </div>
7981 <div class="body">
7982 <p>Thanks to a blog post by
7983 <a href="http://ramblingfoo.blogspot.no/2012/10/a-shitstorm-is-comming.html">Eddy
7984 Petrișor</a>, I became aware of yet another "alternative medicine"
7985 company using legal intimidation tactics to scare off critics.
7986 According to the originating blog post about the detox "cure"
7987 <a href="http://insulaindoielii.wordpress.com/2012/10/11/colon-help-sues-wordpress/">ColonHelp
7988 and its producers Zenyth Pharmaceuticals actions</a>, the producer
7989 sues Wordpress to get rid of the critical information. To check if
7990 the story was for real, I contacted Automattic, the company behind
7991 wordpress.com, and they reply was "We can confirm that Zenyth is
7992 seeking a court order against WordPress / Automattic. However, we
7993 don't believe the Terms of Service have been violated in this
7994 matter".</p>
7995
7996 <p>The story seem to be simply that a blogger checked the scientific
7997 foundation for a popular health product in Rumania, ColonHelp, and
7998 reported that there was no reason at all to believe it improved the
7999 health of its users. This caused the company behind the product,
8000 Zenyth Pharmaceuticals, to use legal intimidation to try to silence
8001 the critic, instead of presenting its views and scientific foundation
8002 to argue its side.</p>
8003
8004 <p>This is the usual story, and the Zenyth Pharmaceuticals company
8005 deserve everyone to know how it failed to act properly. Lets hope the
8006 <a href="http://en.wikipedia.org/wiki/Streisand_effect">Streisand
8007 effect</a> can make it rethink its strategy.</p>
8008
8009 <p>What is the harm, you might think. I suggest you take a look at
8010 <a href="http://www.whatstheharm.net/detoxification.html">a list of
8011 victims of detoxification</a>.</p>
8012
8013 </div>
8014 <div class="tags">
8015
8016
8017 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>.
8018
8019
8020 </div>
8021 </div>
8022 <div class="padding"></div>
8023
8024 <div class="entry">
8025 <div class="title">
8026 <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>
8027 </div>
8028 <div class="date">
8029 3rd October 2012
8030 </div>
8031 <div class="body">
8032 <p>I just read the blog post from Tim Retout
8033 <a href="http://retout.co.uk/blog/2012/10/02/the-library-challenge">about
8034 the computer science book collection available in his local
8035 library</a>, and just wanted to share my comment on his theory about
8036 computer books becoming obsolete so soon. That is part of the reason
8037 why the selection is so sad in almost any local library (it is in mine
8038 too), but I believe the major contributing factor is that the people
8039 buying books to the library have no way to know a good and future
8040 computer classic from trash. And they need to know which one will
8041 become a classic in the future, as they would normally buy one of the
8042 recently published books.</p>
8043
8044 <p>During my university years, I worked for a while at the university
8045 library, and even there the person in charge of buying computer
8046 related books (and in fact any natural science related book), did not
8047 know enough about computers to make a good educated guess. Once, just
8048 before Christmas, they had some leftover money on the book budget and
8049 I was asked if I could pick out a lot of computer books in the
8050 university book store, for the library to buy for their collection. I
8051 had a great time picking all the books I dreamt of buying and reading,
8052 and the books I knew were classics (like most of the
8053 <a href="http://en.wikipedia.org/wiki/W._Richard_Stevens">Stevens
8054 collection</a>). I picked several of the generic O'Reilly books (ie
8055 documenting protocols, formats and systems, not specific versions of
8056 products) and stayed away from the 'teach yourself X in N days' class.
8057 I had a great time, and probably picked out more than a hundred books
8058 for the library that evening.</p>
8059
8060 <p>The sad fact is that there is no way a overworked librarian is
8061 going to know that for example
8062 <a href="http://en.wikipedia.org/wiki/The_Practice_of_Programming">The
8063 Practice of Programming</a> is a must-have in any computer library,
8064 and they will most of the time end up picking the wrong books to buy.
8065 Perhaps you can help your local library make better choices by giving
8066 the suggestions for books to get? I know they would love to hear from
8067 you, even if their budget might block them from getting your favourite
8068 book right away.</p>
8069
8070 </div>
8071 <div class="tags">
8072
8073
8074 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
8075
8076
8077 </div>
8078 </div>
8079 <div class="padding"></div>
8080
8081 <div class="entry">
8082 <div class="title">
8083 <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>
8084 </div>
8085 <div class="date">
8086 23rd September 2012
8087 </div>
8088 <div class="body">
8089 <p>Since this summer, I have worked in my spare time on a Norwegian <a
8090 href="http://www.docbook.org/">docbook</a> version of the 2004 book <a
8091 href="http://free-culture.cc/">Free Culture</a> by Lawrence Lessig.
8092 The reason is that this book is a great primer on what problems exist
8093 in the current copyright laws, and I want it to be available also for
8094 those that are reluctant do read an English book.
8095
8096 When I started, I
8097 <a href="http://people.skolelinux.org/pere/blog/Dugnad_for___sende_norsk_versjon_av_Free_Culture_til_stortingets_representanter_.html">called
8098 for volunteers</a> to help me, but too few have volunteered so far,
8099 and progress is a bit slow. Anyway, today I broken the 70 percent
8100 mark for the first rough translation. At the moment, less than 700
8101 strings (paragraphs, index terms, titles) are left to translate. With
8102 my current progress of 10-20 strings per day, it will take a while to
8103 complete the translation. This graph show the updated progress:</p>
8104
8105 <img width="80%" align="center" src="https://github.com/petterreinholdtsen/free-culture-lessig/raw/master/progress.png">
8106
8107 <p>Progress have slowed down lately due to family and work
8108 commitments. If you want to help, please get in touch, and check out
8109 the project files currently available from
8110 <a href="https://github.com/petterreinholdtsen/free-culture-lessig">github</a>.</p>
8111
8112 <p>If you are curious what the translated book currently look like,
8113 the updated
8114 <a href="https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.pdf?raw=true">PDF</a>
8115 and
8116 <a href="https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.epub?raw=true">EPUB</a>
8117 are published on github. The HTML version is published as well, but
8118 github hand it out with MIME type text/plain, confusing browsers, so I
8119 saw no point in linking to that version.</p>
8120
8121 </div>
8122 <div class="tags">
8123
8124
8125 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>.
8126
8127
8128 </div>
8129 </div>
8130 <div class="padding"></div>
8131
8132 <div class="entry">
8133 <div class="title">
8134 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Giorgio_Pioda.html">Debian Edu interview: Giorgio Pioda</a>
8135 </div>
8136 <div class="date">
8137 17th September 2012
8138 </div>
8139 <div class="body">
8140 <p>After a long break in my row of interviews with people in the
8141 <a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>
8142 community, I finally found time to wrap up another. This time it is
8143 Giorgio Pioda, which showed up on the mailing list at the start of
8144 this year, asking questions and inspiring us to improve the first time
8145 administrators experience with Skolelinux. :) The interview was
8146 conduced in May, but I only found time to publish it now.</p>
8147
8148 <p><strong>Who are you, and how do you spend your days?</strong></p>
8149
8150 <p>I have a PhD in chemistry but since several years I work as teacher
8151 in secondary (15-18 year old students) and tertiary (a kind of "light"
8152 university) schools. Five years ago I started to manage a Learning
8153 Management Service server and slowly I got more and more involved with
8154 IT. 3 years ago the graduating schools moved completely to Linux and I
8155 got the head of the IT for this. The experience collected in chemistry
8156 labs computers (for example NMR analysis of protein folding) and in
8157 the IT-courses during university where sufficient to start. Self
8158 training is anyway very important</p>
8159
8160 <p>I live in the Italian speaking part of Switzerland, and the
8161 <a href="http://www.spse.ch/">SPSE school</a> (secondary) is a very
8162 special sport school for young people who try to became sport pro (for
8163 all sports, we have dozens of disciplines represented) and we are
8164 recognised by the Olympic Swiss Organisation.
8165
8166 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
8167 project?</strong></p>
8168
8169 <p>Looking for Linux / Primary Domain Controller (PDC) I found it
8170 already several years ago. But since the system was still not
8171 Kerberized and since our schools relies strongly on laptops I didn't
8172 use it. I plan to introduce it in the next future, probably for the
8173 next school year, since the squeeze release solved this security
8174 hole.</p>
8175
8176 <p><strong>What do you see as the advantages of Skolelinux/Debian
8177 Edu?</strong></p>
8178
8179 <p>Many. First of all there is a strong and living community that is
8180 very generous for help and hints. Chat help is crucial, together with
8181 the mailing list. Second. With Skolelinux you get an already well
8182 engineered platform and you don't have to start to build up your PDC
8183 and your clients from GNU/scratch; I've already done this once and I
8184 can tell it, it is hard. Third, since Skolelinux is a standard
8185 platform, it is way easier to educate other IT people and even if the
8186 head IT is sick another one could pick up the task without too much
8187 hassle.</p>
8188
8189 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
8190 Edu?</strong></p>
8191
8192 <p>The only real problem I see is that it is a little too less
8193 flexible at client level. Debian stable is rocky and desirable, but
8194 there are many reasons that force for another choice. For example the
8195 need of new drivers for new PC, or the need for a specific OS for some
8196 devices that have specific software packages for another specific
8197 distribution (I have such a case for whiteboards that have only
8198 Ubuntu packages). Thus, I prepared compatibility packages educlient
8199 and eduroaming, hoping not to use them ;-)</p>
8200
8201 <p><strong>Which free software do you use daily?</strong></p>
8202
8203 <p>I have a Debian Stable PDC at school (Kerberos, NIS, NFS) with
8204 mixed Debian and Ubuntu clients. If you think that this triad
8205 combination is exotic... well I discovered right yesterday that
8206 <a href="http://moo.nac.uci.edu/~hjm/Perceus-Report.html">Perceus</a>
8207 has the same...</p>
8208
8209 <p>For myself I run Debian wheezy/sid, but this combination is good
8210 only I you have enough competence to fix stuff for yourself, if
8211 something breaks. Daily I use texmacs, gnumeric, a little bit of R
8212 statistics, kmplot, and less frequently OpenOffice.org.</p>
8213
8214 <p><strong>Which strategy do you believe is the right one to use to
8215 get schools to use free software?</strong></p>
8216
8217 <P>I think that the only real argument that school managers "hear" is
8218 cost reduction. They don't give too much weight on quality, stability,
8219 just because they are normally not open to change.</p>
8220
8221 <p>Students adapts very quickly to GNU/Linux (and for them being able
8222 to switch between different OS is a plus value); teachers and managers
8223 don't.</p>
8224
8225 <p>We decided to move to Linux because students at our school have own
8226 laptop and we have the responsibility to keep the laptop ready to use;
8227 we were really unsatisfied with Microsoft since every Monday we had 20
8228 machine to fix for viral infections... With Linux this has been
8229 reduced to zero, since people installs almost only from official
8230 repositories. I think that our special needs brought us to Linux.
8231 Those who don't have such needs will hardly move to Linux.</p>
8232
8233 </div>
8234 <div class="tags">
8235
8236
8237 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>.
8238
8239
8240 </div>
8241 </div>
8242 <div class="padding"></div>
8243
8244 <div class="entry">
8245 <div class="title">
8246 <a href="http://people.skolelinux.org/pere/blog/IETF_activity_to_standardise_video_codec.html">IETF activity to standardise video codec</a>
8247 </div>
8248 <div class="date">
8249 15th September 2012
8250 </div>
8251 <div class="body">
8252 <p>After the
8253 <a href="http://people.skolelinux.org/pere/blog/IETF_standardize_its_first_multimedia_codec__Opus.html">Opus
8254 codec made</a> it into <a href="http://www.ietf.org/">IETF</a> as
8255 <a href="http://tools.ietf.org/html/rfc6716">RFC 6716</a>, I had a look
8256 to see if there is any activity in IETF to standardise a video codec
8257 too, and I was happy to discover that there is some activity in this
8258 area. A non-"working group" mailing list
8259 <a href="https://www.ietf.org/mailman/listinfo/video-codec">video-codec</a>
8260 was
8261 <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
8262 formal working group should be formed.</p>
8263
8264 <p>I look forward to see how this plays out. There is already
8265 <a href="http://www.ietf.org/mail-archive/web/video-codec/current/msg00003.html">an
8266 email from someone</a> in the MPEG group at ISO asking people to
8267 participate in the ISO group. Given how ISO failed with OOXML and given
8268 that it so far (as far as I can remember) only have produced
8269 multimedia formats requiring royalty payments, I suspect
8270 joining the ISO group would be a complete waste of time, but I am not
8271 involved in any codec work and my opinion will not matter much.</p>
8272
8273 <p>If one of my readers is involved with codec work, I hope she will
8274 join this work to standardise a royalty free video codec within
8275 IETF.</p>
8276
8277 </div>
8278 <div class="tags">
8279
8280
8281 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>.
8282
8283
8284 </div>
8285 </div>
8286 <div class="padding"></div>
8287
8288 <div class="entry">
8289 <div class="title">
8290 <a href="http://people.skolelinux.org/pere/blog/IETF_standardize_its_first_multimedia_codec__Opus.html">IETF standardize its first multimedia codec: Opus</a>
8291 </div>
8292 <div class="date">
8293 12th September 2012
8294 </div>
8295 <div class="body">
8296 <p>Yesterday, <a href="http://www.ietf.org/">IETF</a> announced the
8297 publication of of
8298 <a href="http://tools.ietf.org/html/rfc6716">RFC 6716, the Definition
8299 of the Opus Audio Codec</a>, a low latency, variable bandwidth, codec
8300 intended for both VoIP, film and music. This is the first time, as
8301 far as I know, that IETF have standardized a multimedia codec. In
8302 <a href="http://tools.ietf.org/html/rfc3533">RFC 3533</a>, IETF
8303 standardized the OGG container format, and it has proven to be a great
8304 royalty free container for audio, video and movies. I hope IETF will
8305 continue to standardize more royalty free codeces, after ISO and MPEG
8306 have proven incapable of securing everyone equal rights to publish
8307 multimedia content on the Internet.</p>
8308
8309 <p>IETF require two interoperating independent implementations to
8310 ratify a standard, and have so far ensured to only standardize royalty
8311 free specifications. Both are key factors to allow everyone (rich and
8312 poor), to compete on equal terms on the Internet.</p>
8313
8314 <p>Visit the <a href="http://opus-codec.org/">Opus project page</a> if
8315 you want to learn more about the solution.</p>
8316
8317 </div>
8318 <div class="tags">
8319
8320
8321 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>.
8322
8323
8324 </div>
8325 </div>
8326 <div class="padding"></div>
8327
8328 <div class="entry">
8329 <div class="title">
8330 <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>
8331 </div>
8332 <div class="date">
8333 7th September 2012
8334 </div>
8335 <div class="body">
8336 <p>As I
8337 <a href="http://people.skolelinux.org/pere/blog/Song_book_for_Computer_Scientists.html">mentioned
8338 this summer</a>, I have created a Computer Science song book a few
8339 years ago, and today I finally found time to create a public
8340 <a href="https://gitorious.org/pere-cs-songbook/pere-cs-songbook">Gitorious
8341 repository for the project</a>.</p>
8342
8343 <p>If you want to help out, please clone the source and submit patches
8344 to the HTML version. To generate the PDF and PostScript version,
8345 please use prince XML, or let me know about a useful free software
8346 processor capable of creating a good looking PDF from the HTML.</p>
8347
8348 <p>Want to sing? You can still find the song book in HTML, PDF and
8349 PostScript formats at
8350 <a href="http://www.hungry.com/~pere/cs-songbook/">Petter's Computer
8351 Science Songbook</a>.</p>
8352
8353 </div>
8354 <div class="tags">
8355
8356
8357 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>.
8358
8359
8360 </div>
8361 </div>
8362 <div class="padding"></div>
8363
8364 <div class="entry">
8365 <div class="title">
8366 <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>
8367 </div>
8368 <div class="date">
8369 23rd August 2012
8370 </div>
8371 <div class="body">
8372 <p>I came across a great comment from Simon Phipps today, about how
8373 <a href="http://www.infoworld.com/d/open-source-software/how-microsoft-was-forced-open-office-200233">Microsoft
8374 have been forced to open Office</a>, and it made me remember and
8375 revisit the great site
8376 <a href="http://www.officeshots.org/">officeshots</a> which allow you
8377 to check out how different programs present the ODF file format. I
8378 recommend both to those of my readers interested in ODF. :)</p>
8379
8380 </div>
8381 <div class="tags">
8382
8383
8384 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>.
8385
8386
8387 </div>
8388 </div>
8389 <div class="padding"></div>
8390
8391 <div class="entry">
8392 <div class="title">
8393 <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>
8394 </div>
8395 <div class="date">
8396 17th August 2012
8397 </div>
8398 <div class="body">
8399 <p>In my spare time, I currently work on a Norwegian
8400 <a href="http://www.docbook.org/">docbook</a> version of the 2004 book
8401 <a href="http://free-culture.cc/">Free Culture</a> by Lawrence Lessig,
8402 to get a Norwegian text explaining the problems with the copyright law
8403 I can give to my parents and others that are reluctant to read an
8404 English book. It is a marvellous set of examples on how the ever
8405 expanding copyright regulations hurt culture and society. When the
8406 translation is done, I hope to find funding to print and ship a copy
8407 to all the members of the Norwegian parliament, before they sit down
8408 to debate the latest revisions to the Norwegian copyright law. This
8409 summer I
8410 <a href="http://people.skolelinux.org/pere/blog/Dugnad_for___sende_norsk_versjon_av_Free_Culture_til_stortingets_representanter_.html">called
8411 for volunteers</a> to help me, and I have been able to secure the
8412 valuable contribution from at least one other Norwegian.</p>
8413
8414 <p>Two days ago, we finally broke the 50% mark. Then more than 50% of
8415 the number of strings to translate (normally paragraphs, but also
8416 titles and index entries are also counted). All parts from the
8417 beginning up to and including chapter four is translated. So is
8418 chapters six, seven and the conclusion. I created a graph to show the
8419 progress:</p>
8420
8421 <img width="80%" align="center" src="https://github.com/petterreinholdtsen/free-culture-lessig/raw/master/progress.png">
8422
8423 <p>The number of strings to translate increase as I insert the index
8424 entries into the docbook. They were missing with the docbook version
8425 I initially started with. There are still quite a few index entries
8426 missing, but everyone starting with A, B, O, Z and Y are done. I
8427 currently focus on completing the index entries, to get a complete
8428 english version of the docbook source.</p>
8429
8430 <p>There is still need for translators and people with docbook
8431 knowledge, to be able to get a good looking book (I still struggle
8432 with dblatex, xmlto and docbook-xsl) as well as to do the draft
8433 translation and proof reading. And I would like the figures to be
8434 redrawn as SVGs to make it easy to translate them. Any SVG master
8435 around? I am sure there are some legal terms that are unfamiliar to
8436 me. If you want to help, please get in touch, and check out the
8437 project files currently available from <a
8438 href="https://github.com/petterreinholdtsen/free-culture-lessig">github</a>.</p>
8439
8440 <p>If you are curious what the translated book currently look like,
8441 the updated
8442 <a href="https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.pdf?raw=true">PDF</a>
8443 and
8444 <a href="https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.epub?raw=true">EPUB</a>
8445 are published on github. The HTML version is published as well, but
8446 github hand it out with MIME type text/plain, confusing browsers, so I
8447 saw no point in linking to that version.</p>
8448
8449 </div>
8450 <div class="tags">
8451
8452
8453 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>.
8454
8455
8456 </div>
8457 </div>
8458 <div class="padding"></div>
8459
8460 <div class="entry">
8461 <div class="title">
8462 <a href="http://people.skolelinux.org/pere/blog/Notes_on_language_codes_for_Norwegian_docbook_processing___.html">Notes on language codes for Norwegian docbook processing...</a>
8463 </div>
8464 <div class="date">
8465 10th August 2012
8466 </div>
8467 <div class="body">
8468 <p>In <a href="http://www.docbook.org/">docbook</a> one can specify
8469 the language used at the top, and the processing pipeline will use
8470 this information to pick the correct translations for 'chapter', 'see
8471 also', 'index' etc. And for most languages used with docbook, I guess
8472 this work just fine. For example a German user can start the document
8473 with &lt;book lang="de"&gt;, and the document will show up with the
8474 correct content with any of the docbook processors. This is not the
8475 case for the language
8476 <a href="http://people.skolelinux.org/pere/blog/Free_Culture_in_Norwegian___5_chapters_done__74_percent_left_to_do.html">I
8477 am working with at the moment</a>, Norwegian Bokmål.</p>
8478
8479 <p>For a while, I was confused about which language code to use,
8480 because I was unable to find any language code that would work across
8481 all tools. I am currently testing dblatex, xmlto, docbook-xsl, and
8482 dbtoepub, and they do not handle Norwegian Bokmål the same way. Some
8483 of them do not handle it at all.</p>
8484
8485 <p>A bit of background information is probably needed to understand
8486 this mess. Norwegian is not one, but two written variants. The
8487 variants are Norwegian Nynorsk and Norwegian Bokmål. There are three
8488 two letter language codes associated with these languages, Norwegian
8489 is 'no', Norwegian Nynorsk is 'nn' and Norwegian Bokmål is 'nb'.
8490 Historically the 'no' language code was used for Norwegian Bokmål, but
8491 many years ago this was found to be å bad idea, and the recommendation
8492 is to use the most specific language code instead, to avoid confusion.
8493 In the transition period it is a good idea to make sure 'no' was an
8494 alias for 'nb'.</p>
8495
8496 <p>Back to docbook processing tools in Debian. The dblatex tool only
8497 understand 'nn'. There are translations for 'no', but not 'nb' (BTS
8498 <a href="http://bugs.debian.org/684391">#684391</a>), but due to a bug
8499 (BTS <a href="http://bugs.debian.org/682936">#682936</a>) the 'no'
8500 language code is not recognised. The docbook-xsl tool chain only
8501 recognise 'nn' and 'nb', but not 'no'. The xmlto tool only recognise
8502 'nn' and 'nb', but not 'no'. The end result that there is no language
8503 code I can use to get the docbook file working with all of these tools
8504 at the same time. :(</p>
8505
8506 <p>The correct solution is to use &lt;book lang="nb"&gt;, but it will
8507 take time before that will work with all the free software docbook
8508 processors. :(</p>
8509
8510 <p>Oh, the joy of well integrated tools. :/</p>
8511
8512 </div>
8513 <div class="tags">
8514
8515
8516 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>.
8517
8518
8519 </div>
8520 </div>
8521 <div class="padding"></div>
8522
8523 <div class="entry">
8524 <div class="title">
8525 <a href="http://people.skolelinux.org/pere/blog/Best_way_to_create_a_docbook_book_.html">Best way to create a docbook book?</a>
8526 </div>
8527 <div class="date">
8528 31st July 2012
8529 </div>
8530 <div class="body">
8531 <p>I tried to send this text to the
8532 <a href="https://lists.oasis-open.org/archives/docbook-apps/">docbook-apps
8533 mailing list at lists.oasis-open.org</a>, but it only accept messages
8534 from subscribers and rejected my post, and I completely lack the
8535 bandwidth required to subscribe to another mailing list, so instead I
8536 try to post my message here and hope my blog readers can help me
8537 out.</p>
8538
8539 <p>I am quite new to docbook processing, and am climbing a steep
8540 learning curve at the moment.</p>
8541
8542 <p>To give you some background, I am working on a Norwegian
8543 translation of the book Free Culture by Lawrence Lessig, and I use
8544 docbook to handle the process. The files to build the book are
8545 available from
8546 <a href="https://github.com/petterreinholdtsen/free-culture-lessig">github</a>.
8547 The book got around 400 pages with parts, images, footnotes, tables,
8548 index entries etc, which has proven to be a challenge for the free
8549 software docbook processors. My build platform is Debian GNU/Linux
8550 Squeeze.</p>
8551
8552 <p>I want to build PDF, EPUB and HTML version of the book, and have
8553 tried different tool chains to do the conversion from docbook to these
8554 formats. I am currently focusing on the PDF version, and have a few
8555 problems.</p>
8556
8557 <ul>
8558
8559 <li>Using dblatex, the &lt;part&gt; handling is not the way I want to,
8560 as &lt;/part&gt; do not really end the &lt;part&gt;. (See
8561 <a href="http://bugs.debian.org/683166">BTS report #683166</a>), the
8562 xetex backend (needed to process UTF-8) give incorrect hyphens in
8563 index references spanning several pages (See
8564 <a href="http://bugs.debian.org/682901">BTS report #682901</a>), and
8565 I am unable to get the norwegian template texts (See
8566 <a href="http://bugs.debian.org/682936">BTS report #682936</a>).</li>
8567
8568 <li>Using straight xmlto fail with some latex error (See
8569 <a href="http://bugs.debian.org/683163">BTS report
8570 #683163</a>).</li>
8571
8572 <li>Using xmlto with the fop backend fail to handle images (do not
8573 show up in the PDF), fail to handle a long footnote (overlap
8574 footnote and text body, see
8575 <a href="http://bugs.debian.org/683197">BTS report #683197</a>), and
8576 fail to create a correct index (some lack page ref, and the page
8577 refs listed are not right).</li>
8578
8579 <li>Using xmlto with the dblatex backend behave like dblatex.</li>
8580
8581 <li>Using docbook-xls with xsltproc + fop have the same footnote and
8582 index problems the xmlto + fop processing.</li>
8583
8584 </ul>
8585
8586 <p>So I wonder, what would be the best way to create the PDF version
8587 of this book? Are some of the bugs found above solved in new or
8588 experimental versions of some docbook tool chain?</p>
8589
8590 <p>What about HTML and EPUB versions?</p>
8591
8592 </div>
8593 <div class="tags">
8594
8595
8596 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>.
8597
8598
8599 </div>
8600 </div>
8601 <div class="padding"></div>
8602
8603 <div class="entry">
8604 <div class="title">
8605 <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>
8606 </div>
8607 <div class="date">
8608 21st July 2012
8609 </div>
8610 <div class="body">
8611 <p>I reported earlier that I am working on
8612 <a href="http://people.skolelinux.org/pere/blog/Dugnad_for___sende_norsk_versjon_av_Free_Culture_til_stortingets_representanter_.html">a
8613 norwegian version</a> of the book
8614 <a href="http://free-culture.cc/">Free Culture</a> by Lawrence Lessig.
8615 Progress is good, and yesterday I got a major contribution from Anders
8616 Hagen Jarmund completing chapter six. The source files as well as a
8617 PDF and EPUB version of this book are available from
8618 <a href="https://github.com/petterreinholdtsen/free-culture-lessig">github</a>.</p>
8619
8620 <p>I am happy to report that the draft for the first two chapters
8621 (preface, introduction) is complete, and three other chapters are also
8622 completely translated. This completes 26 percent of the number of
8623 strings (equivalent to paragraphs) in the book, and there is thus 74
8624 percent left to translate. A graph of the progress is present at the
8625 bottom of the github project page. There is still room for more
8626 contributors. Get in touch or send github pull requests with fixes if
8627 you got time and are willing to help make this book make it to
8628 print. :)</p>
8629
8630 <p>The book translation framework could also be a good basis for other
8631 translations, if you want the book to be available in your
8632 language.</p>
8633
8634 </div>
8635 <div class="tags">
8636
8637
8638 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>.
8639
8640
8641 </div>
8642 </div>
8643 <div class="padding"></div>
8644
8645 <div class="entry">
8646 <div class="title">
8647 <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>
8648 </div>
8649 <div class="date">
8650 16th July 2012
8651 </div>
8652 <div class="body">
8653 <p>I am currently working on a
8654 <a href="http://people.skolelinux.org/pere/blog/Dugnad_for___sende_norsk_versjon_av_Free_Culture_til_stortingets_representanter_.html">project
8655 to translate</a> the book
8656 <a href="http://free-culture.cc/">Free Culture</a> by Lawrence Lessig
8657 to Norwegian. And the source we base our translation on is the
8658 <a href="http://en.wikipedia.org/wiki/DocBook">docbook</a> version, to
8659 allow us to use po4a and .po files to handle the translation, and for
8660 this to work well the docbook source document need to be properly
8661 tagged. The source files of this project is available from
8662 <a href="https://github.com/petterreinholdtsen/free-culture-lessig">github</a>.</p>
8663
8664 <p>The problem is that the docbook source have flaws, and we have
8665 no-one involved in the project that is a docbook expert. Is there a
8666 docbook expert somewhere that is interested in helping us create a
8667 well tagged docbook version of the book, and adjust our build process
8668 for the PDF, EPUB and HTML version of the book? This will provide a
8669 well tagged English version (our source document), and make it a lot
8670 easier for us to create a good Norwegian version. If you can and want
8671 to help, please get in touch with me or fork the github project and
8672 send pull requests with fixes. :)</p>
8673
8674 </div>
8675 <div class="tags">
8676
8677
8678 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>.
8679
8680
8681 </div>
8682 </div>
8683 <div class="padding"></div>
8684
8685 <div class="entry">
8686 <div class="title">
8687 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__George_Bredberg.html">Debian Edu interview: George Bredberg</a>
8688 </div>
8689 <div class="date">
8690 9th July 2012
8691 </div>
8692 <div class="body">
8693 <p>The <a href="http://www.skolelinux.org/">Debian Edu /
8694 Skolelinux</a> project have users all over the globe, but until
8695 recently we have not known about any users in Norway's neighbour
8696 country Sweden. This changed when George Bredberg showed up in March
8697 this year on the mailing list, asking interesting questions about how
8698 to adjust and scale the just released
8699 <a href="http://www.debian.org/News/2012/20120311.html">Debian Edu
8700 Wheezy</a> setup to his liking. He granted me an interview, and I am
8701 happy to share his answers with you here.</p>
8702
8703 <p><strong>Who are you, and how do you spend your days?</strong></p>
8704
8705 <p>I'm a 44 year old country guy that have been working 12 years at
8706 the same school as 50% IT-manager and 50% Teacher. My educational
8707 background is fil.kand in history and religious beliefs, an exam as a
8708 "folkhighschool" teacher, that is, for teaching grownups. In
8709 Norwegian I believe it's called "Vuxenupplaring". I also have a master
8710 in "Technology and social change". So I'm not really a tech guy, I
8711 just like to study how humans and technology interact and that is my
8712 perspective when working with IT.</p>
8713
8714 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
8715 project?</strong></p>
8716
8717 I have followed the Skolelinux project for quite some time by
8718 now. Earlier I tested out the K12-LTSP project, which we used for some
8719 time, but I really like the idea of having a distribution aimed to be
8720 a complete solution for schools with necessary tools integrated. When
8721 K12-LTSP abandoned that idea some years ago, I started to look more
8722 seriously into Skolelinux instead.
8723
8724 <p><strong>What do you see as the advantages of Skolelinux/Debian
8725 Edu?</strong></p>
8726
8727 The big point of Skolelinux to me is that it is a complete
8728 distribution, ready to install. It has LDAP-support, MS Windows
8729 integration tools and so forth already configured, saving an
8730 administrator a lot of time and headache. We were using another Linux
8731 based thin-client system called Thinlinc, that has served us very
8732 well. But that Skolelinux is based on VNC and LTSP, to me, is better
8733 when it comes to the kind of multimedia used in schools. That is
8734 showing videos from Youtube or educational TV. It is also easier to
8735 mix thin clients with workstations, since the user settings will be the
8736 same. In our VNC-based solution you had to "beat around the bush" by
8737 setting up a second, hidden, home-directory for user settings for the
8738 workstations, because they will be different from the ones used on the
8739 thin clients. Skolelinux support for diskless workstations are very
8740 convenient since a school today often need to use a class room
8741 projector showing videos in full screen. That is easily done with a
8742 small integrated media computer running as a diskless workstation. You
8743 have only two installs to update and configure. One for the thin
8744 clients and one for the workstations. Also saving a lot of time. Our
8745 old system was also based on Redhat and CentOS. They are both very
8746 nice distributions, but they are sometimes painfully slow when it
8747 comes to updating multimedia support and multimedia programs (even
8748 such as Gimp), leaving us with a bit "oldish" applications. Debian is
8749 quicker to update.
8750
8751 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
8752 Edu?</strong></p>
8753
8754 <p>Debian is a bit too quick when it comes to updating. As an example
8755 we use old HP terminals as thinclients, and two times already this
8756 year (2012) the updates you get from the repositories has stopped
8757 sound from working with them. It's a kernel/ALSA issue. So you have
8758 to be more careful properly testing the updates before you run them in
8759 a production environment. This has never happened with CentOS.</p>
8760
8761 <p>I also would like to be able to set my own domain-settings at
8762 install time. In Skolelinux they are kind of hard coded into the
8763 distribution, when it comes to LDAP and at least samba integration.
8764 That is more a cosmetic/translation issue, and not a real problem.
8765 Running MS Windows applications within the Skolelinux environment needs
8766 to be better supported. That is, running them seamlessly via RDP, and
8767 support for single-sign on. That will make the transition to free
8768 software easier, because you can keep the applications you really
8769 need. No support will make it impossible if you work in a school where
8770 some applications can't be open source. As for us we really need to
8771 run Adobe InDesign in our journalist classes. We run a journalist
8772 education, and is one of the very few non university ones that is ok:d
8773 by Svenska journalistförbundet (Swedish journalist association). Our
8774 education gives the pupils the right of membership there, once they
8775 are done. This is important if you want to get a job.</p>
8776
8777 <p>Adobe InDesign is the program most commonly used in newspapers and
8778 magazines. We used Quark Express before, but they seem to loose there
8779 market to Adobe. The only "equivalent" to InDesign in the opensource
8780 world is Scribus, and its not advanced enough. At least not according
8781 to the teacher. I think it would be possible to use it, because they
8782 are not supposed to learn a program, they are supposed to learn how to
8783 edit and compile a newspaper. But politically at our school we are not
8784 there yet. And Scribus lacks a lot of things you find i InDesign.</p>
8785
8786 <p>We used even a windows program for sound editing when it comes to
8787 the radio-journalist part. The year to come we are going to try
8788 Audacity. That software has the same kind of limitations compared to
8789 Adobe Audition, but that teacher is a bit more open minded. We have
8790 tried Ardour also, but that instead is more like a music studio
8791 program, not intended for the kind of editing taking place in a radio
8792 studio. Its way to complex and the GUI is to scattered when you only
8793 want to cut, make pass-overs, add extra channels and normalise. Those
8794 things you can do in Audacity, but its not as easy as in Audition. You
8795 have to do more things manually with envelopes, and that is a bit old
8796 fashion and timewasting. Its also harder to cut and move sound from
8797 one channel to another, which is a thing that you do frequently
8798 because you often find yourself needing to rearrange parts of the
8799 sound file.</p>
8800
8801 <p>So, I am not sure we will succeed in replacing even Audition, but we
8802 will try. The problem is the students have certain expectations when
8803 they start an education towards a profession. So the programs has to
8804 look and feel professional. Good thing with radio, there are many
8805 programs out there, that radio studios use, so its not as standardised
8806 as Newspaper editing. That means, it does not really matter what
8807 program they learn, because once they start working they still have to
8808 learn the program the studio uses, so instead focus has to be to learn
8809 the editing part without to much focus on a specific software.</p>
8810
8811 <p><strong>Which free software do you use daily?</strong></p>
8812
8813 <p>Myself I'm running Linux Mint, or Ubuntu these days. I use almost
8814 only open source software, and preferably Linux based. When it comes
8815 to most used applications its OpenOffice, and Firefox (of course ;)
8816 )</p>
8817
8818 <p><strong>Which strategy do you believe is the right one to use to
8819 get schools to use free software?</strong></p>
8820
8821 <p>To get schools to use free software there has to be good open
8822 source software that are windows based, to ease the transition. But
8823 it's also very important that the multimedia support is working
8824 flawlessly. The problems with Youtube, Twitter, Facebook and whatever
8825 will create problems when it comes to both teachers and
8826 students. Economy are also important for schools, so using thin
8827 clients, as long as they have good multimedia support, is a very good
8828 idea. It's also important that the open source software works even for
8829 the administration. It's hard to convince the teachers to stick with
8830 open source, if the principal has to run Windows. It also creates a
8831 problem if some classes has to use Windows for there tasks, since that
8832 will create a difference in "status" between classes, so a good
8833 support for running windows applications via the thin client (Linux)
8834 desktop is essential. At least at our school, where we have mixed
8835 level of educations, from high-school to journalist-school.</p>
8836
8837 <p>Update 2012-07-09 08:30: Paul Wise tipped me on IRC about three
8838 useful sources related to Free Software for radio stations: the LWN
8839 article <a href="https://lwn.net/Articles/481607/">Radio station
8840 management with Airtime</a>,
8841 <a href="http://www.sourcefabric.org/en/airtime/">Airtime</a> which
8842 claim to be a Free open source radio automation software and
8843 <a href="http://www.rivendellaudio.org/">Rivendell</a> which claim to
8844 be complete radio broadcast automation solution. All of them seem
8845 useful to the aspiring radio producer.</p>
8846
8847 </div>
8848 <div class="tags">
8849
8850
8851 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>.
8852
8853
8854 </div>
8855 </div>
8856 <div class="padding"></div>
8857
8858 <div class="entry">
8859 <div class="title">
8860 <a href="http://people.skolelinux.org/pere/blog/Why_do_schools_waste_money_on_IT_.html">Why do schools waste money on IT?</a>
8861 </div>
8862 <div class="date">
8863 8th July 2012
8864 </div>
8865 <div class="body">
8866 <p>In the Debian Edu / Skolelinux project, we have realised that one
8867 of the major blockers for the project success is the purchasing skills
8868 in schools and municipalities. We provide what the happy users of
8869 Debian Edu / Skolelinux say they need and to a lower cost than the
8870 alternatives, and yet so few schools decide to use our solution. I
8871 was pleased to discover the same observation done by mySociety and Tom
8872 Steinberg in his blog post
8873 "<a href="http://www.mysociety.org/2012/06/19/can-you-recognize-the-million-pound-chair/">Can
8874 you recognize the million pound chair?</a>". Read it and weep for the
8875 spending of your tax money.</p>
8876
8877 <p>Of course there are other factors involved as well, like our
8878 projects bad marketing skills and the Linux community fragmentation
8879 causing worry with the people on the outside, so we as a project need
8880 to keep working hard to gain users, but it is a up-hill battle when
8881 public decision makers are unable to understand computer system
8882 purchases.</p>
8883
8884 </div>
8885 <div class="tags">
8886
8887
8888 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>.
8889
8890
8891 </div>
8892 </div>
8893 <div class="padding"></div>
8894
8895 <div class="entry">
8896 <div class="title">
8897 <a href="http://people.skolelinux.org/pere/blog/Free_Timetabling_Software___nice_free_software.html">Free Timetabling Software - nice free software</a>
8898 </div>
8899 <div class="date">
8900 7th July 2012
8901 </div>
8902 <div class="body">
8903 <p>Included in <a href="http://www.skolelinux.org/">Debian Edu /
8904 Skolelinux</a> is a large collection of end user and school specific
8905 software. It is one of the packages not installed by default but
8906 provided in the Debian archive for schools to install if they want to,
8907 is a system to automatically plan the school time table using
8908 information about available teachers, classes and rooms, combined with
8909 the list of required courses and how many hours each topic should
8910 receive. The software is
8911
8912 <a href="http://lalescu.ro/liviu/fet/">named FET</a>, and it provide a
8913 graphical user interface to input the required information, save the
8914 result in a fairly simple XML format, and generate time tables for
8915 both teachers and students. It is available both for
8916 <a href="http://lalescu.ro/liviu/fet/download.html">Linux, MacOSX and
8917 Windows</a>.</p>
8918
8919 <p>This is <a href="http://lalescu.ro/liviu/fet/features.html">the
8920 feature list</a>, liftet from the project web site:</p>
8921
8922 <p><ul>
8923
8924 <li>FET is free software, licensed under the GNU GPL v2 or later.
8925 You can freely use, copy, modify and redistribute it </li>
8926
8927 <li>Localized to en_US (US English, default), ar (Arabic), ca
8928 (Catalan), da (Danish), de (German), el (Greek), es (Spanish), fa
8929 (Persian), fr (French), gl (Galician), he (Hebrew), hu
8930 (Hungarian), id (Indonesian), it (Italian), lt (Lithuanian), mk
8931 (Macedonian), ms (Malay), nl (Dutch), pl (Polish), pt_BR
8932 (Brazilian Portuguese), ro (Romanian), ru (Russian), si (Sinhala),
8933 sk (Slovak), sr (Serbian), tr (Turkish), uk (Ukrainian), uz
8934 (Uzbek) and vi (Vietnamese) (incompletely for some languages)
8935 </li>
8936
8937 <li>Fully automatic generation algorithm, allowing also
8938 semi-automatic or manual allocation</li>
8939
8940 <li>Platform independent implementation, allowing running on
8941 GNU/Linux, Windows, Mac and any system that Qt supports </li>
8942
8943 <li>Flexible modular XML format for the input file, allowing editing
8944 with an XML editor or by hand (besides FET interface)</li>
8945
8946 <li>Import/export from CSV format</li>
8947
8948 <li>The resulted timetables are exported into HTML, XML and CSV
8949 formats </li>
8950
8951 <li>Flexible students structure, organized into sets: years, groups
8952 and subgroups. FET allows overlapping years and groups and
8953 non-overlapping subgroups. You can even define individual students
8954 (as separate sets)</li>
8955
8956 <li>Each constraint has a weight percentage, from 0.0% to 100.0%
8957 (but some special constraints are allowed to have only 100% weight
8958 percentage)</li>
8959
8960 <li>Limits for the algorithm (all these limits can be increased on
8961 demand, as a custom version, because this would require a bit more
8962 memory):
8963 <ul>
8964 <li>Maximum total number of hours (periods) per day: 60</li>
8965 <li>Maximum number of working days per week: 35</li>
8966 <li>Maximum total number of teachers: 6000</li>
8967 <li>Maximum total number of sets of students: 30000</li>
8968 <li>Maximum total number of subjects: 6000</li>
8969 <li>Virtually unlimited number of activity tags</li>
8970 <li>Maximum number of activities: 30000</li>
8971 <li>Maximum number of rooms: 6000</li>
8972 <li>Maximum number of buildings: 6000</li>
8973 <li>Possibility of adding multiple teachers and
8974 students sets for each activity. (it is possible
8975 also to have no teachers or no students sets for an
8976 activity)</li>
8977 <li>Virtually unlimited number of time constraints</li>
8978 <li>Virtually unlimited number of space constraints</li>
8979 </ul></li>
8980
8981 <li>A large and flexible palette of time constraints:
8982 <ul>
8983 <li>Break periods</li>
8984 <li>For teacher(s):
8985 <ul>
8986 <li>Not available periods</li>
8987 <li>Max/min days per week</li>
8988 <li>Max gaps per day/week</li>
8989 <li>Max hours daily/continuously</li>
8990 <li>Min hours daily</li>
8991 <li>Max hours daily/continuously with an activity tag</li>
8992
8993 <li>Respect working in an hourly interval a max number of
8994 days per week</li>
8995 </ul></li>
8996 <li>For students (sets):
8997 <ul>
8998 <li>Not available periods</li>
8999 <li>Begins early (specify max allowed beginnings at second hour)</li>
9000 <li>Max gaps per day/week</li>
9001 <li>Max hours daily/continuously</li>
9002 <li>Min hours daily</li>
9003 <li>Max hours daily/continuously with an activity tag</li>
9004
9005 <li>Respect working in an hourly interval a max number of
9006 days per week</li>
9007 </ul></li>
9008 <li>For an activity or a set of activities/subactivities:
9009 <ul>
9010 <li>A single preferred starting time</li>
9011 <li>A set of preferred starting times</li>
9012 <li>A set of preferred time slots</li>
9013 <li>Min/max days between them</li>
9014 <li>End(s) students day</li>
9015 <li>Same starting time/day/hour</li>
9016 <li>Occupy max time slots from selection (a complex and
9017 flexible constraint, useful in many situations)</li>
9018 <li>Consecutive, ordered, grouped (for 2 or 3 (sub)activities)</li>
9019 <li>Not overlapping</li>
9020 <li>Max simultaneous in selected time slots</li>
9021 <li>Min gaps between a set of (sub)activities</li>
9022 </ul></li>
9023 </ul></li>
9024
9025 <li>A large and flexible palette of space constraints:
9026 <ul>
9027 <li>Room not available periods</li>
9028 <li>For teacher(s):
9029 <ul>
9030 <li>Home room(s)</li>
9031 <li>Max building changes per day/week</li>
9032 <li>Min gaps between building changes</li>
9033 </ul>
9034 </li>
9035
9036 <li>For students (sets):
9037 <ul>
9038 <li>Home room(s)</li>
9039 <li>Max building changes per day/week</li>
9040 <li>Min gaps between building changes</li>
9041 </ul>
9042 </li>
9043 <li>Preferred room(s):
9044 <ul>
9045 <li>For a subject</li>
9046 <li>For an activity tag</li>
9047 <li>For a subject and an activity tag</li>
9048 <li>Individually for a (sub)activity</li>
9049 </ul>
9050 </li>
9051
9052 <li>For a set of activities:
9053 <ul>
9054 <li>Occupy a maximum number of different rooms</li>
9055 </ul>
9056 </li>
9057 </ul>
9058 </li>
9059 </ul></p>
9060
9061 <p>I have not used it myself, as I am not involved in time table
9062 planning at a school, but it seem to work fine when I test it. If you
9063 need to set up your schools time table, and is tired of doing it
9064 manually, check it out.
9065
9066 A quick summary on how to use it can be found in
9067 <a href="http://marvelsoft.co.in/wp/2012/03/generate-timetable-for-state-cbse-icse-igcse-schools-free/">a
9068 blog post from MarvelSoft</a>. If you find FET useful, please provide
9069 a recipe for the Debian Edu project in the
9070 <a href="http://wiki.debian.org/DebianEdu#Howtos">Debian Edu HowTo
9071 section</a>.</p>
9072
9073 </div>
9074 <div class="tags">
9075
9076
9077 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>.
9078
9079
9080 </div>
9081 </div>
9082 <div class="padding"></div>
9083
9084 <div class="entry">
9085 <div class="title">
9086 <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>
9087 </div>
9088 <div class="date">
9089 3rd July 2012
9090 </div>
9091 <div class="body">
9092 <p>In the NUUG <a href="http://www.fiksgatami.no/">FiksGataMi</a>
9093 project (Norwegian version of
9094 <a href="http://www.fixmystreet.com/">FixMyStreet</a> from
9095 <a href="http://www.mysociety.org/">mySociety</a>), we have discovered
9096 a problem with the municipalities using
9097 <a href="http://www.zimbra.com/">Zimbra</a>. When FiksGataMi send a
9098 problem report to the government, the email From: address is set to
9099 the address of the person reporting the problem, while envelope sender
9100 is set to the FiksGataMi contact address. The intention is to make
9101 sure the municipality send any replies to the person reporting the
9102 problem, while any email delivery problems are sent to us in NUUG.
9103 This work well in most cases, but not for Karmøy municipality using
9104 Zimbra. Karmøy is using the vacation message function in Zimbra to
9105 send an automatic reply to report that the message has been received,
9106 and this message is sent to the envelope sender and not the address in
9107 the From: header.</p>
9108
9109 <p>This causes the automatic message from Karmøy to go to NUUGs
9110 request-tracker instance instead of to the person reporting the
9111 problem. We can not really change the envelope sender address, as
9112 this would make it impossible for us to discover when there are
9113 problems with the MTAs receiving problem reports. We have been in
9114 contact with the people at Karmøy municipality, and they are willing
9115 to adjust Zimbra if something can be changed there to get a better
9116 behaviour.</p>
9117
9118 <p>The default behaviour of Zimbra is as far as I can tell according
9119 to the specification in RFC 3834, which recommend that vacation
9120 messages are sent to the envelope sender and not to the From: address.
9121 But I wonder if it is possible to adjust or configure Zimbra to behave
9122 differently. Anyone know? Please let us know at
9123 <a href="http://lists.nuug.no/mailman/listinfo/fiksgatami">fiksgatami
9124 (at) nuug.no</a>.</p>
9125
9126 </div>
9127 <div class="tags">
9128
9129
9130 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>.
9131
9132
9133 </div>
9134 </div>
9135 <div class="padding"></div>
9136
9137 <div class="entry">
9138 <div class="title">
9139 <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>
9140 </div>
9141 <div class="date">
9142 26th June 2012
9143 </div>
9144 <div class="body">
9145 <p>I've been too busy at home, but finally I found time to wrap up
9146 another interview with the people behind
9147 <a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>.
9148 This time we get to know José Luis Redrejo Rodríguez, one of our great
9149 helpers from Spain. His effort was the reason we added support for
9150 several desktop types (KDE, Gnome and most recently LXDE) in Debian
9151 Edu, and have all of these available in the recently published
9152 <a href="http://www.debian.org/News/2012/20120311.html">Debian Edu
9153 Squeeze</a> version.</p>
9154
9155 <p><strong>Who are you, and how do you spend your days?</strong></p>
9156
9157 <p>I'm a father, teacher and engineer who is working for the Education
9158 ministry of the Region of Extremadura (Spain) in the implementation of
9159 ICT in schools</p>
9160
9161 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
9162 project?</strong></p>
9163
9164 <p>At 2006, I verified that both, we in Extremadura and Skolelinux
9165 project, had been working in parallel for some years, doing very
9166 similar things, using very similar tools and with similar targets, so
9167 I decided it was time to join forces as much as possible.</p>
9168
9169 <p><strong>What do you see as the advantages of Skolelinux/Debian
9170 Edu?</strong></p>
9171
9172 <p>A community of highly skilled experts working together, with a
9173 really open schema of collaboration and work. I really love the
9174 concepts of Do-ocracy and Merit-ocracy and the way these concepts are
9175 been used everyday inside Debian Edu.</p>
9176
9177 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
9178 Edu?</strong></p>
9179
9180 <p>Sometimes the differences in the implementations, laws or
9181 economical and technical resources in the different countries don't
9182 allow us to agree in the same solution for all of us, and several
9183 approaches are needed, what is a waste of effort. Also, there is a
9184 lack of more man power to be able to follow the fast evolution of the
9185 technologies in school.</p>
9186
9187 <p><strong>Which free software do you use daily?</strong></p>
9188
9189 <p>Debian, of course, and due to my kind of job I am most of my time
9190 between Iceweasel, <a href="http://www.geany.org/">Geany</a> and
9191 <a href="http://www.ohloh.net/p/gnome-terminator">Terminator</a>.</p>
9192
9193 <p><strong>Which strategy do you believe is the right one to use to
9194 get schools to use free software?</strong></p>
9195
9196 <p>I think there is not a single strategy because there are very
9197 different scenarios: schools with mixed proprietary and free
9198 environments, schools using only workstations, other schools using
9199 laptops, netbooks, tablets, interactive white-boards, etc.</p>
9200
9201 <p>Also the range of ages of the students is very broad and you can
9202 not use the same solutions for primary schools and secondary or even
9203 universities. So different strategies are needed.</p>
9204
9205 <p>But, looking at these differences, and looking back to the things
9206 we've done and implemented, and the places were we have spent most of
9207 our forces, I think we should focus as much as possible in free
9208 multi-platform environments, using only standards tools, and moving
9209 more and more to Internet or network solutions that could be deployed
9210 using wireless. I think we'll see more and more personal devices in
9211 the schools, devices the students and teachers will take home with
9212 them, so the solutions must be able to be taken at home and continue
9213 working there.</p>
9214
9215 </div>
9216 <div class="tags">
9217
9218
9219 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>.
9220
9221
9222 </div>
9223 </div>
9224 <div class="padding"></div>
9225
9226 <div class="entry">
9227 <div class="title">
9228 <a href="http://people.skolelinux.org/pere/blog/Song_book_for_Computer_Scientists.html">Song book for Computer Scientists</a>
9229 </div>
9230 <div class="date">
9231 24th June 2012
9232 </div>
9233 <div class="body">
9234 <p>Many years ago, while studying Computer Science at the
9235 <a href="http://www.uit.no/">University of Tromsø</a>, I started
9236 collecting computer related songs for use at parties. The original
9237 version was written in LaTeX, but a few years ago I got help from
9238 Håkon W. Lie, one of the inventors of W3C CSS, to convert it to HTML
9239 while keeping the ability to create a nice book in PDF format. I have
9240 not had time to maintain the book for a while now, and guess I should
9241 put it up on some public version control repository where others can
9242 help me extend and update the book. If anyone is volunteering to help
9243 me with this, send me an email. Also let me know if there are songs
9244 missing in my book.</p>
9245
9246 <p>I have not mentioned the book on my blog so far, and it occured to
9247 me today that I really should let all my readers share the joys of
9248 singing out load about programming, computers and computer networks.
9249 Especially now that <a href="http://debconf12.debconf.org/">Debconf
9250 12</a> is about to start (and I am not going). Want to sing? Check
9251 out <a href="http://www.hungry.com/~pere/cs-songbook/">Petter's
9252 Computer Science Songbook</a>.
9253
9254 </div>
9255 <div class="tags">
9256
9257
9258 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>.
9259
9260
9261 </div>
9262 </div>
9263 <div class="padding"></div>
9264
9265 <div class="entry">
9266 <div class="title">
9267 <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>
9268 </div>
9269 <div class="date">
9270 11th June 2012
9271 </div>
9272 <div class="body">
9273 <p>During my work on
9274 <a href="http://www.debian.org/News/2012/20120311.nb.html">Debian Edu
9275 based on Squeeze</a>, I came across some issues that should be
9276 addressed in the Wheezy release. I finally found time to wrap up my
9277 notes and provide quick summary of what I found, with a bit
9278 explanation.</p>
9279
9280 <p><ul>
9281
9282 <li>We need to rewrite our package installation framework, as tasksel
9283 changed from using tasksel tasks to using meta packages (aka packages
9284 with dependencies like our education-* packages), and our installation
9285 system depend on tasksel tasks in
9286 /usr/share/tasksel/debian-edu-tasks.desc for package
9287 installation.</li>
9288
9289 <li>Enable Kerberos login for more services. Now with the Kerberos
9290 foundation in place, we should use it to get single sign on with more
9291 services, and avoiding unneeded password / login questions. We should
9292 at least try to enable it for these services:
9293 <ul>
9294
9295 <li>CUPS for admins to add/configure printers and users when using
9296 quotas.</li>
9297 <li>Nagios for admins checking the system status.</li>
9298 <li>GOsa for admins updating LDAP and users changing their passwords.</li>
9299 <li>LDAP for admins updating LDAP.</li>
9300 <li>Squid for users when exam mode / filtering is active.</li>
9301 <li>ssh for admins and users to save a password prompt.</li>
9302
9303 </ul></li>
9304
9305 <li>When we move GOsa to use Kerberos instead of LDAP bind to
9306 authenticate users, we should try to block or at least limit access to
9307 use LDAP bind for authentication, to ensure Kerberos is used when it
9308 is intended, and nothing fall back to using the less safe LDAP bind</li>
9309
9310 <li>Merge debian-edu-config and debian-edu-install. The split made
9311 sense when d-e-install did a lot more, but these days it is just an
9312 inconvenience when we update the debconf preseeding values.</li>
9313
9314 <li>Fix partman-auto to allow us to abort the installation before
9315 touching the disk if the disk is too small. This is
9316 <a href="http://bugs.debian.org/653305">BTS report #653305</a> and the
9317 d-i developers are fine with the patch and someone just need to apply
9318 it and upload. After this is done we need to adjust
9319 debian-edu-install to use this new hook.</li>
9320
9321 <li>Adjust to new LTSP framework (boot time config instead of install
9322 time config). LTSP changed its design, and our hooks to install
9323 packages and update the configuration is most likely not going to work
9324 in Wheezy.
9325
9326 <li>Consider switching to NBD instead of NFS for LTSP root, to allow
9327 the Kernel to cache files in its normal file cache, possibly speeding
9328 up KDE login on slow networks.</li>
9329
9330 <li>Make it possible to create expired user passwords that need to
9331 change on first login. This is useful when handing out password on
9332 paper, to make sure only the user know the password. This require
9333 fixes to the PAM handling of kdm and gdm.</li>
9334
9335 <li>Make GUI for adding new machines automatically from sitesummary.
9336 The current command line script is not very friendly to people most
9337 familiar with GUIs. This should probably be integrated into GOsa to
9338 have it available where the admin will be looking for it..</li>
9339
9340 <li>We should find way for Nagios to check that the DHCP service
9341 actually is working (as in handling out IP addresses). None of the
9342 Nagios checks I have found so far have been working for me.</li>
9343
9344 <li>We should switch from libpam-nss-ldapd to sssd for all profiles
9345 using LDAP, and not only on for roaming workstations, to have less
9346 packages to configure and consistent setup across all profiles.</li>
9347
9348 <li>We should configure Kerberos to update LDAP and Samba password
9349 when changing password using the Kerberos protocol. The hook was
9350 requested in <a href="http://bugs.debian.org/588968">BTS report
9351 #588968</a> and is now available in Wheezy. We might need to write a
9352 MIT Kerberos plugin in C to get this.</li>
9353
9354 <li>We should clean up the set of applications installed by default.
9355 <ul>
9356
9357 <li>reduce the number of chemistry visualisers</li>
9358 <li>consider dropping xpaint</li>
9359 <li>and probably more?</li>
9360 </ul></li>
9361
9362 <li>Some hardware need external firmware to work properly. This is
9363 mostly the case for WiFi network cards, but there are some other
9364 examples too. For popular laptops to work out of the box, such
9365 firmware need to be installed from non-free, and we should provide
9366 some GUI to do this. Ubuntu already have this implemented, and we
9367 could consider using their packages. At the moment we have some
9368 command line script to do this (one for the running system, another
9369 for the LTSP chroot).</li>
9370
9371
9372 <li>In Squeeze, we provide KDE, Gnome and LXDE as desktop options. We
9373 should extend the list to Xfce and Sugar, and preferably find a way to
9374 install several and allow the admin or the user to select which one to
9375 use.</li>
9376
9377 <li>The golearn tool from the goplay package make it easy to check out
9378 interesting educational packages. We should work on the package
9379 tagging in Debian to ensure it represent all the useful educational
9380 packages, and extend the tool to allow it to use packagekit to install
9381 new applications with a simple mouse click.</li>
9382
9383 <li>The Squeeze version got half a exam solution already in place,
9384 with the introduction of iptable based network blocking, but for it to
9385 be a complete exam solution the Squid proxy need to enable
9386 filtering/blocking as well when the exam mode is enabled. We should
9387 implement a way to easily enable this for the schools that want it,
9388 instead of the "it is documented" method of today.</li>
9389
9390 <li>A feature used in several schools is the ability for a teacher to
9391 "take over" the desktop of individual or all computers in the room.
9392 There are at least three implementations,
9393 <a href="italc.sourceforge.net/">italc</a>,
9394 <a href="http://www.itais.net/help/en/">controlaula</a> og
9395 <a href="http://www.epoptes.org/">epoptes</a> and we should pick one of
9396 them and make it trivial to set it up in a school. The challenges is
9397 how to distribute crypto keys and how to group computers in one room
9398 and how to set up which machine/user can control the machines in a
9399 given room.</li>
9400
9401 <li>Tablets and surf boards are getting more and more popular, and we
9402 should look into providing a good solution for integrating these into
9403 the Debian Edu network. Not quite sure how. Perhaps we should
9404 provide a installation profile with better touch screen support for
9405 them, or add some sync services to allow them to exchange
9406 configuration and data with the central server. This should be
9407 investigated.</li>
9408
9409 </ul></p>
9410
9411 <p>I guess we will discover more as we continue to work on the Wheezy
9412 version.</p>
9413
9414 </div>
9415 <div class="tags">
9416
9417
9418 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>.
9419
9420
9421 </div>
9422 </div>
9423 <div class="padding"></div>
9424
9425 <div class="entry">
9426 <div class="title">
9427 <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>
9428 </div>
9429 <div class="date">
9430 9th June 2012
9431 </div>
9432 <div class="body">
9433 <p>Slashdot got a story about Intel planning a
9434 <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
9435 with face recognition</a> to recognise the viewer, and it occurred to
9436 me that it would be more interesting to turn it around, and do face
9437 recognition on the TV image itself. It could let the viewer know who
9438 is present on the screen, and perhaps look up their credibility,
9439 company affiliation, previous appearances etc for the viewer to better
9440 evaluate what is being said and done. That would be a feature I would
9441 be willing to pay for.</p>
9442
9443 <p>I would not be willing to pay for a TV that point a camera on my
9444 household, like the big brother feature apparently proposed by Intel.
9445 It is the telescreen idea fetched straight out of the book
9446 <a href="http://gutenberg.net.au/ebooks01/0100021.txt">1984 by George
9447 Orwell</a>.</p>
9448
9449 </div>
9450 <div class="tags">
9451
9452
9453 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>.
9454
9455
9456 </div>
9457 </div>
9458 <div class="padding"></div>
9459
9460 <div class="entry">
9461 <div class="title">
9462 <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>
9463 </div>
9464 <div class="date">
9465 6th June 2012
9466 </div>
9467 <div class="body">
9468 <p>A few days ago
9469 <a href="http://people.skolelinux.org/pere/blog/SOAP_based_webservice_from_Dell_to_check_server_support_status.html">I
9470 reported how to get</a> the support status out of Dell using an
9471 unofficial and undocumented SOAP API, which I since have found out was
9472 <a href="http://lists.us.dell.com/pipermail/linux-poweredge/2012-February/045959.html">discovered
9473 by Daniel De Marco in february</a>. Combined with my web scraping
9474 code for HP, Dell and IBM
9475 <a href="http://people.skolelinux.org/pere/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html">from
9476 2009</a>, I got inspired and wrote
9477 <a href="https://views.scraperwiki.com/run/computer-hardware-support-status/">a
9478 web service</a> based on Scraperwiki to make it easy to look up the
9479 support status and get a machine readable result back.</p>
9480
9481 <p>This is what it look like at the moment when asking for the JSON
9482 output:
9483
9484 <blockquote><pre>
9485 % 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>
9486 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": ""})
9487 %
9488 </pre></blockquote>
9489
9490 <p>It currently support Dell and HP, and I am hoping for help to add
9491 support for other vendors. The python source is available on
9492 Scraperwiki and I welcome help with adding more features.</p>
9493
9494 </div>
9495 <div class="tags">
9496
9497
9498 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>.
9499
9500
9501 </div>
9502 </div>
9503 <div class="padding"></div>
9504
9505 <div class="entry">
9506 <div class="title">
9507 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Mike_Gabriel.html">Debian Edu interview: Mike Gabriel</a>
9508 </div>
9509 <div class="date">
9510 2nd June 2012
9511 </div>
9512 <div class="body">
9513 <p>Back in 2010, Mike Gabriel showed up on the
9514 <a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>
9515 mailing list. He quickly proved to be a valuable developer, and
9516 thanks to his tireless effort we now have Kerberos integrated into the
9517 <a href="http://www.debian.org/News/2012/20120311.html">Debian Edu
9518 Squeeze</a> version.</p>
9519
9520 <p><strong>Who are you, and how do you spend your days?</strong></p>
9521
9522 <p>My name is Mike Gabriel, I am 38 years old and live near Kiel,
9523 Schleswig-Holstein, Germany. I live together with a wonderful partner
9524 (Angela Fuß) and two own children and two bonus children (contributed
9525 by Angela).</p>
9526
9527 <p>During the day I am part-time employed as a system administrator
9528 and part-time working as an IT consultant. The consultancy work
9529 touches free software topics wherever and whenever possible. During
9530 the nights I am a free software developer. In the gaps I also train in
9531 becoming an osteopath.</p>
9532
9533 <p>Starting in 2010 we (Andreas Buchholz, Angela Fuß, Mike Gabriel)
9534 have set up a free software project in the area of Kiel that aims at
9535 introducing free software into schools. The project's name is
9536 "IT-Zukunft Schule" (IT future for schools). The project links IT
9537 skills with communication skills.</p>
9538
9539 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
9540 project?</strong></p>
9541
9542 <p>While preparing our own customised Linux distribution for
9543 "IT-Zukunft Schule" we were repeatedly asked if we really wanted to
9544 reinvent the wheel. What schools really need is already available,
9545 people said. From this impulse we started evaluating other Linux
9546 distributions that target being used for school networks.</p>
9547
9548 <p>At the end we short-listed two approaches and compared them: a
9549 commercial Linux distribution developed by a company in Bremen,
9550 Germany, and Skolelinux / Debian Edu. Between 12/2010 and 03/2011 we
9551 went to several events and met people being responsible for marketing
9552 and development of either of the distributions. Skolelinux / Debian
9553 Edu was by far much more convincing compared to the other product that
9554 got short-listed beforehand--across the full spectrum. What was most
9555 attractive for me personally: the perspective of collaboration within
9556 the developmental branch of the Debian Edu project itself.</p>
9557
9558 <p>In parallel with this, we talked to many local and not-so-local
9559 people. People teaching at schools, headmasters, politicians, data
9560 protection experts, other IT professionals.</p>
9561
9562 <p>We came to two conclusions:</p>
9563
9564 <p>First, a technical conclusion: What schools need is available in
9565 bits and pieces here and there, and none of the solutions really fit
9566 by 100%. Any school we have seen has a very individual IT setup
9567 whereas most of each school's requirements could mapped by a standard
9568 IT solution. The requirement to this IT solution is flexibility and
9569 customisability, so that individual adaptations here and there are
9570 possible. In terms of re-distributing and rolling out such a
9571 standardised IT system for schools (a system that is still to some
9572 degree customisable) there is still a lot of work to do here
9573 locally. Debian Edu / Skolelinux has been our choice as the starting
9574 point.</p>
9575
9576 <p>Second, a holistic conclusion: What schools need does not exist at
9577 all (or we missed it so far). There are several technical solutions
9578 for handling IT at schools that tend to make a good impression. What
9579 has been missing completely here in Germany, though, is the enrolment
9580 of people into using IT and teaching with IT. "IT-Zukunft Schule"
9581 tries to provide an approach for this.</p>
9582
9583 <p>Only some schools have some sort of a media concept which explains,
9584 defines and gives guidance on how to use IT in class. Most schools in
9585 Northern Germany do not have an IT service provider, the school's IT
9586 equipment is managed by one or (if the school is lucky) two (admin)
9587 teachers, most of the workload these admin teachers get done in there
9588 spare time.</p>
9589
9590 <p>We were surprised that only a very few admin teachers were
9591 networked with colleagues from other schools. Basically, every school
9592 here around has its individual approach of providing IT equipment to
9593 teachers and students and the exchange of ideas has been quasi
9594 non-existent until 2010/2011.</p>
9595
9596 <p>Quite some (non-admin) teachers try to avoid using IT technology in
9597 class as a learning medium completely. Several reasons for this
9598 avoidance do exist.</p>
9599
9600 <p>We discovered that no-one has ever taken a closer look at this
9601 social part of IT management in schools, so far. On our quest journey
9602 for a technical IT solution for schools, we discussed this issue with
9603 several teachers, headmasters, politicians, other IT professionals and
9604 they all confirmed: a holistic approach of considering IT management
9605 at schools, an approach that includes the people in place, will be new
9606 and probably a gain for all.</p>
9607
9608 <p><strong>What do you see as the advantages of Skolelinux/Debian
9609 Edu?</strong></p>
9610
9611 <p>There is a list of advantages: international context, openness to
9612 any kind of contributions, do-ocracy policy, the closeness to Debian,
9613 the different installation scenarios possible (from stand-alone
9614 workstation to complex multi-server sites), the transparency within
9615 project communication, honest communication within the group of
9616 developers, etc.</p>
9617
9618 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
9619 Edu?</strong></p>
9620
9621 <p>Every coin has two sides:</p>
9622
9623 <p>Technically: <a href="http://bugs.debian.org/311188">BTS issue
9624 #311188</a>, tricky upgradability of a Debian Edu main server, network
9625 client installations on top of a plain vanilla Debian installation
9626 should become possible sometime in the near future, one could think
9627 about splitting the very complex package debian-edu-config into
9628 several portions (to make it easier for new developers to
9629 contribute).</p>
9630
9631 <p>Another issue I see is that we (as Debian Edu developers) should
9632 find out more about the network of people who do the marketing for
9633 Debian Edu / Skolelinux. There is a very active group in Germany
9634 promoting Skolelinux on the bigger Linux Days within Germany. Are
9635 there other groups like that in other countries? How can we bring
9636 these marketing people together (marketing group A with group B and
9637 all of them with the group of Debian Edu developers)? During the last
9638 meeting of the German Skolelinux group, I got the impression of people
9639 there being rather disconnected from the development department of
9640 Debian Edu / Skolelinux.</p>
9641
9642 <p><strong>Which free software do you use daily?</strong></p>
9643
9644 <p>For my daily business, I do not use commercial software at all.</p>
9645
9646 <p>For normal stuff I use Iceweasel/Firefox, Libreoffice.org. For
9647 serious text writing I prefer LaTeX. I use gimp, inkscape, scribus for
9648 more artistic tasks. I run virtual machines in KVM and Virtualbox.</p>
9649
9650 <p>I am one of the upstream developers of X2Go. In 2010 I started the
9651 development of a Python based X2Go Client, called PyHoca-GUI.
9652 PyHoca-GUI has brought forth a Python X2Go Client API that currently
9653 is being integrated in Ubuntu's software center.</p>
9654
9655 <p>For communications I have my own Kolab server running using Horde
9656 as web-based groupware client. For IRC I love to use irssi, for Jabber
9657 I have several clients that I use, mostly pidgin, though. I am also
9658 the Debian maintainer of Coccinella, a Jabber-based interactive
9659 whiteboard.</p>
9660
9661 <p>My favourite terminal emulator is KDE's Yakuake.</p>
9662
9663 <p><strong>Which strategy do you believe is the right one to use to
9664 get schools to use free software?</strong></p>
9665
9666 <p>Communicate, communicate, communicate. Enrol people, enrol people,
9667 enrol people.</p>
9668
9669 </div>
9670 <div class="tags">
9671
9672
9673 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>.
9674
9675
9676 </div>
9677 </div>
9678 <div class="padding"></div>
9679
9680 <div class="entry">
9681 <div class="title">
9682 <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>
9683 </div>
9684 <div class="date">
9685 1st June 2012
9686 </div>
9687 <div class="body">
9688 <p>A few years ago I wrote
9689 <a href="http://people.skolelinux.org/pere/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html">how
9690 to extract support status</a> for your Dell and HP servers. Recently
9691 I have learned from colleges here at the
9692 <a href="http://www.uio.no/">University of Oslo</a> that Dell have
9693 made this even easier, by providing a SOAP based web service. Given
9694 the service tag, one can now query the Dell servers and get machine
9695 readable information about the support status. This perl code
9696 demonstrate how to do it:</p>
9697
9698 <p><pre>
9699 use strict;
9700 use warnings;
9701 use SOAP::Lite;
9702 use Data::Dumper;
9703 my $GUID = '11111111-1111-1111-1111-111111111111';
9704 my $App = 'test';
9705 my $servicetag = $ARGV[0] or die "Please supply a servicetag. $!\n";
9706 my ($deal, $latest, @dates);
9707 my $s = SOAP::Lite
9708 -> uri('http://support.dell.com/WebServices/')
9709 -> on_action( sub { join '', @_ } )
9710 -> proxy('http://xserv.dell.com/services/assetservice.asmx')
9711 ;
9712 my $a = $s->GetAssetInformation(
9713 SOAP::Data->name('guid')->value($GUID)->type(''),
9714 SOAP::Data->name('applicationName')->value($App)->type(''),
9715 SOAP::Data->name('serviceTags')->value($servicetag)->type(''),
9716 );
9717 print Dumper($a -> result) ;
9718 </pre></p>
9719
9720 <p>The output can look like this:</p>
9721
9722 <p><pre>
9723 $VAR1 = {
9724 'Asset' => {
9725 'Entitlements' => {
9726 'EntitlementData' => [
9727 {
9728 'EntitlementType' => 'Expired',
9729 'EndDate' => '2009-07-29T00:00:00',
9730 'Provider' => '',
9731 'StartDate' => '2006-07-29T00:00:00',
9732 'DaysLeft' => '0'
9733 },
9734 {
9735 'EntitlementType' => 'Expired',
9736 'EndDate' => '2009-07-29T00:00:00',
9737 'Provider' => '',
9738 'StartDate' => '2006-07-29T00:00:00',
9739 'DaysLeft' => '0'
9740 },
9741 {
9742 'EntitlementType' => 'Expired',
9743 'EndDate' => '2007-07-29T00:00:00',
9744 'Provider' => '',
9745 'StartDate' => '2006-07-29T00:00:00',
9746 'DaysLeft' => '0'
9747 }
9748 ]
9749 },
9750 'AssetHeaderData' => {
9751 'SystemModel' => 'GX620',
9752 'ServiceTag' => '8DSGD2J',
9753 'SystemShipDate' => '2006-07-29T19:00:00-05:00',
9754 'Buid' => '2323',
9755 'Region' => 'Europe',
9756 'SystemID' => 'PLX_GX620',
9757 'SystemType' => 'OptiPlex'
9758 }
9759 }
9760 };
9761 </pre></p>
9762
9763 <p>I have not been able to find any documentation from Dell about this
9764 service outside the
9765 <a href="http://xserv.dell.com/services/assetservice.asmx?op=GetAssetInformation">inline
9766 documentation</a>, and according to
9767 <a href="http://iboyd.net/index.php/2012/02/14/updated-dell-warranty-information-script/">one
9768 comment</a> it can have stability issues, but it is a lot better than
9769 scraping HTML pages. :)</p>
9770
9771 <p>Wonder if HP and other server vendors have a similar service. If
9772 you know of one, drop me an email. :)</p>
9773
9774 </div>
9775 <div class="tags">
9776
9777
9778 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>.
9779
9780
9781 </div>
9782 </div>
9783 <div class="padding"></div>
9784
9785 <div class="entry">
9786 <div class="title">
9787 <a href="http://people.skolelinux.org/pere/blog/First_monitor_calibration_using_ColorHug.html">First monitor calibration using ColorHug</a>
9788 </div>
9789 <div class="date">
9790 31st May 2012
9791 </div>
9792 <div class="body">
9793 <p>A few days ago my color calibration gadget
9794 <a href="http://www.hughski.com/index.html">ColorHug</a> arrived in the
9795 mail, and I've had a few days to test it. As all my machines are
9796 running Debian Squeeze, where
9797 <a href="http://packages.qa.debian.org/c/colorhug-client.html">the
9798 calibration software</a> is missing (it is present in Wheezy and Sid),
9799 I ran the calibration using the Fedora based live CD. This worked
9800 just fine. So far I have only done the quick calibration. It was
9801 slow enough for me, so I will leave the more extensive calibration for
9802 another day.</p>
9803
9804 <p>After calibration, I get a
9805 <a href="http://en.wikipedia.org/wiki/ICC_profile">ICC color
9806 profile</a> file that can be passed to programs understanding such
9807 tools. KDE do not seem to understand it out of the box, so I searched
9808 for command line tools to use to load the color profile into X.
9809 xcalib was the first one I found, and it seem to work fine for single
9810 monitor setups. But for my video player, a laptop with a flat screen
9811 attached, it was unable to load the color profile for the correct
9812 monitor. After searching a bit, I
9813 <a href="http://ubuntuforums.org/showthread.php?t=1347896">discovered</a>
9814 that the dispwin tool from the argyll package would do what I wanted,
9815 and a simple</p>
9816
9817 <p><pre>
9818 dispwin -d 1 profile.icc
9819 </pre></p>
9820
9821 <p>later I had the color profile loaded for the correct monitor. The
9822 result was a bit more pink than I expected. I guess I picked the
9823 wrong monitor type for the "led" monitor I got, but the result is good
9824 enough for now.</p>
9825
9826 </div>
9827 <div class="tags">
9828
9829
9830 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
9831
9832
9833 </div>
9834 </div>
9835 <div class="padding"></div>
9836
9837 <div class="entry">
9838 <div class="title">
9839 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Ralf_Gesellensetter.html">Debian Edu interview: Ralf Gesellensetter</a>
9840 </div>
9841 <div class="date">
9842 27th May 2012
9843 </div>
9844 <div class="body">
9845 <p>In 2003, a German teacher showed up on the
9846 <a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>
9847 mailing list with interesting problems and reports proving he setting
9848 up Linux for a (for us at the time) lot of pupils. His name was Ralf
9849 Gesellensetter, and he has been an important tester and contributor
9850 since then, helping to make sure the
9851 <a href="http://www.debian.org/News/2012/20120311.html">Debian Edu
9852 Squeeze</a> release became as good as it is..</p>
9853
9854 <p><strong>Who are you, and how do you spend your days?</strong></p>
9855
9856 <p>I am a teacher from Germany, and my subjects are Geography,
9857 Mathematics, and Computer Science ("Informatik"). During the past 12
9858 years (since 2000), I have been working for a comprehensive (and soon,
9859 also inclusive) school leading to all kind of general levels, such as
9860 O- or A-level ("Abitur"). For quite as long, I've been taking care of
9861 our computer network.</p>
9862
9863 <p>Now, in my early 40s, I enjoy the privilege of spending a lot of my
9864 spare time together with my wife, our son (3 years) and our daughter
9865 (4 months).</p>
9866
9867 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
9868 project?</strong></p>
9869
9870 <p>We had tried different Linux based school servers, when members of
9871 my local Linux User Group (LUG OWL) detected Skolelinux. I remember
9872 very well, being part of a party celebrating the Linux New Media Award
9873 ("Best Newcomer Distribution", also nominated: Ubuntu) that was given
9874 to Skolelinux at Linux World Exposition in Frankfurt, 2005 (IIRC). Few
9875 months later, I had the chance to join a developer meeting in Ulsrud
9876 (Oslo) and to hand out the award to Knut Yrvin and others. For more
9877 than 7 years, Skolelinux is part of our schools infrastructure, namely
9878 our main server (tjener), one LTSP (today without thin clients), and
9879 approximately 50 work stations. Most of these have the option to boot a
9880 locally installed Skolelinux image. As a consequence, I joined quite
9881 a few events dealing with free software or Linux, and met many Debian
9882 (Edu) developers. All of them seemed quite nice and competent to me,
9883 one more reason to stick to Skolelinux.</p>
9884
9885 <p><strong>What do you see as the advantages of Skolelinux/Debian
9886 Edu?</strong></p>
9887
9888 <p>Debian driven, you are given all the advantages of a community
9889 project including well maintained updates. Once, you are familiar with
9890 the network layout, you can easily roll out an entire educational
9891 computer infrastructure, from just one installation media. As only
9892 free software (FOSS) is used, that supports even elderly hardware,
9893 up-sizing your IT equipment is only limited by space (i.e. available
9894 labs). Especially if you run a LTSP thin client server, your
9895 administration costs tend towards zero.</p>
9896
9897 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
9898 Edu?</strong></p>
9899
9900 <p>While Debian's stability has loads of advantages for servers, this
9901 might be different in some cases for clients: Schools with unlimited
9902 budget might buy new hardware with components that are not yet
9903 supported by Debian stable, or wish to use more recent versions of
9904 office packages or desktop environments. These schools have the
9905 option to run Debian testing or other distributions - if they have the
9906 capacity to do so. Another issue is that Debian release cycles
9907 include a wide range of changes; therefor a high percentage of human
9908 power seems to be absorbed by just keeping the features of Skolelinux
9909 within the new setting of the version to come. During this process,
9910 the cogs of Debian Edu are getting more and more professional,
9911 i.e. harder to understand for novices.</p>
9912
9913 <p><strong>Which free software do you use daily?</strong></p>
9914
9915 <p>LibreOffice, Wikipedia, Openstreetmap, Iceweasel (Mozilla Firefox),
9916 KMail, Gimp, Inkscape - and of course the Linux Kernel (not only on
9917 PC, Laptop, Mobile, but also our SAT receiver)</p>
9918
9919 <p><strong>Which strategy do you believe is the right one to use to
9920 get schools to use free software?</strong></p>
9921
9922 <p><ol>
9923
9924 <li>Support computer science as regular subject in schools to make
9925 people really "own" their hardware, to make them understand the
9926 difference between proprietary software products, and free software
9927 developing.</li>
9928
9929 <li>Make budget baskets corresponding: In Germany's public schools
9930 there are more or less fixed budgets for IT equipment (including
9931 licenses), so schools won't benefit from any savings here. This
9932 privilege is left to private schools which have consequently a large
9933 share among German Skolelinux schools.</li>
9934
9935 <li>Get free software in the seminars where would-be teachers are
9936 trained. In many cases, teachers' software customs are respected by
9937 decision makers rather than the expertise of any IT experts.</li>
9938
9939 <li>Don't limit ourself to free software run natively. Everybody uses
9940 free software or free licenses (for instance Wikipedia), and this
9941 general concept should get expanded to free educational content to be
9942 shared world wide (school books e.g.).</li>
9943
9944 <li>Make clear where ever you can that the market share of free (libre)
9945 office suites is much above 20 p.c. today, and that you pupils don't
9946 need to know the "ribbon menu" in order to get employed.</li>
9947
9948 <li>Talk about the difference between freeware and free software.</li>
9949
9950 <li>Spread free software, or even collections of portable free apps
9951 for USB pen drives. Endorse students to get a legal copy of
9952 Libreoffice rather than accepting them to use illegal serials. And
9953 keep sending documents in ODF formats.</li>
9954
9955 </ol></p>
9956
9957 </div>
9958 <div class="tags">
9959
9960
9961 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>.
9962
9963
9964 </div>
9965 </div>
9966 <div class="padding"></div>
9967
9968 <div class="entry">
9969 <div class="title">
9970 <a href="http://people.skolelinux.org/pere/blog/The_cost_of_ODF_and_OOXML.html">The cost of ODF and OOXML</a>
9971 </div>
9972 <div class="date">
9973 26th May 2012
9974 </div>
9975 <div class="body">
9976 <p>I just come across a blog post from Glyn Moody reporting the
9977 claimed cost from Microsoft on requiring ODF to be used by the UK
9978 government. I just sent him an email to let him know that his
9979 assumption are most likely wrong. Sharing it here in case some of my
9980 blog readers have seem the same numbers float around in the UK.</p>
9981
9982 <p><blockquote> <p>Hi. I just noted your
9983 <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>
9984 comment:</p>
9985
9986 <p><blockquote>"They're all in Danish, not unreasonably, but even
9987 with the help of Google Translate I can't find any figures about the
9988 savings of "moving to a flexible two standard" as claimed by the
9989 Microsoft email. But I assume it is backed up somewhere, so let's take
9990 it, and the £500 million figure for the UK, on trust."
9991 </blockquote></p>
9992
9993 <p>I can tell you that the Danish reports are inflated. I believe it is
9994 the same reports that were used in the Norwegian debate around 2007,
9995 and Gisle Hannemyr (a well known IT commentator in Norway) had a look
9996 at the content. In short, the reason it is claimed that using ODF
9997 will be so costly, is based on the assumption that this mean every
9998 existing document need to be converted from one of the MS Office
9999 formats to ODF, transferred to the receiver, and converted back from
10000 ODF to one of the MS Office formats, and that the conversion will cost
10001 10 minutes of work time for both the sender and the receiver. In
10002 reality the sender would have a tool capable of saving to ODF, and the
10003 receiver would have a tool capable of reading it, and the time spent
10004 would at most be a few seconds for saving and loading, not 20 minutes
10005 of wasted effort.</p>
10006
10007 <p>Microsoft claimed all these costs were saved by allowing people to
10008 transfer the original files from MS Office instead of spending 10
10009 minutes converting to ODF. :)</p>
10010
10011 <p>See
10012 <a href="http://hannemyr.com/no/ms12_vl02.php">http://hannemyr.com/no/ms12_vl02.php</a>
10013 and
10014 <a href="http://hannemyr.com/no/ms12.php">http://hannemyr.com/no/ms12.php</a>
10015 for background information. Norwegian only, sorry. :)</p>
10016 </blockquote></p>
10017
10018 </div>
10019 <div class="tags">
10020
10021
10022 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>.
10023
10024
10025 </div>
10026 </div>
10027 <div class="padding"></div>
10028
10029 <div class="entry">
10030 <div class="title">
10031 <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>
10032 </div>
10033 <div class="date">
10034 18th May 2012
10035 </div>
10036 <div class="body">
10037 <p>In january, I
10038 <a href="http://blog.cihar.com/archives/2012/01/17/colorhug-has-arrived/">discovered
10039 the ColorHug</a>, a USB dongle from
10040 <a href="http://www.hughski.com/index.html">Hughski</a> to calibrate
10041 the color on a computer screen. The software required is
10042 <a href="http://packages.qa.debian.org/c/colorhug-client.html">included
10043 in Debian</a>, and I decided back then to preorder from the next
10044 batch. Yesterday I finally heard back from them, and got the
10045 opportunity to order. Today I ordered mine, and eagerly await the
10046 delivery. I hope it arrive next week, as I got a confirmation that it
10047 should go in the mail on monday. :)</p>
10048
10049 <p>If you want to ensure the colors on the screen match the intended
10050 colors, I suggest you check out this cheap tool with free software
10051 drivers. :)</p>
10052
10053 </div>
10054 <div class="tags">
10055
10056
10057 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
10058
10059
10060 </div>
10061 </div>
10062 <div class="padding"></div>
10063
10064 <div class="entry">
10065 <div class="title">
10066 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__J_rgen_Leibner.html">Debian Edu interview: Jürgen Leibner</a>
10067 </div>
10068 <div class="date">
10069 13th May 2012
10070 </div>
10071 <div class="body">
10072 <p>It has been a few busy weeks for me, but I am finally back to
10073 publish another interview with the people behind
10074 <a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>.
10075 This time it is one of our German developers, who have helped out over the
10076 years to make sure both a lot of major but also a lot of the minor
10077 details get right before release.
10078
10079 <p><strong>Who are you, and how do you spend your days?</strong></p>
10080
10081 <p>My name is Jürgen Leibner, I'm 49 years old and living in
10082 Bielefeld, a town in northern Germany. I worked nearly 20 years as
10083 certified engineer in the department for plant design and layout of an
10084 international company for machinery and equipment. Since 2011 I'm a
10085 certified technical writer (tekom e.V.) and doing technical
10086 documentations for a steam turbine manufacturer. From April this year
10087 I will manage the department of technical documentation at a
10088 manufacturer of automation and assembly line engineering.</p>
10089
10090 <p>My first contact with linux was around 1993. Since that time I used
10091 it at work and at home repeatedly but not exclusively as I do now at
10092 home since 2006.</p>
10093
10094 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
10095 project?</strong></p>
10096
10097 <p>Once a day in the early year of 2001 when I wanted to fetch my
10098 daughter from primary school, there was a teacher sitting in the
10099 middle of 20 old computers trying to boot them and he failed. I helped
10100 him to get them booting. That was seen by the school director and she
10101 asked me if I would like to manage that the school gets all that old
10102 computers in use. I answered: "Yes".</p>
10103
10104 <p>Some weeks later every of the 10 classrooms had one computer
10105 running Windows98. I began to collect old computers and equipment as
10106 gifts and installed the first computer room with a peer-to-peer
10107 network. I did my work at school without being payed in my spare time
10108 and with a lot of fun. About one year later the school was connected
10109 to Internet and a local area network was installed in the school
10110 building. That was the time to have a server and I knew it must be a
10111 Linux server to be able to fulfil all the wishes of the teachers and
10112 being able to do this in a transparent and economic way, without extra
10113 costs for things like licence and software. So I searched for a
10114 school server system running under Linux and I found a couple of
10115 people nearby who founded 'skolelinux.de'. It was the Skolelinux
10116 prerelease 32 I first tried out for being used at the school. I
10117 managed the IT of that school until the municipal authority took over
10118 the IT management and centralised the services for all schools in
10119 Bielefeld in December of 2006.</p>
10120
10121 <p><strong>What do you see as the advantages of Skolelinux/Debian
10122 Edu?</strong></p>
10123
10124 <p>When I'm looking back to the beginning, there were other advantages
10125 for me as today.</p>
10126
10127 <p>In the past there were advantages like:</p>
10128
10129 <p><ul>
10130
10131 <li>I don't need to buy it so it generates no costs to the school as
10132 they had little money to spent for computers and software.</li>
10133
10134 <li>It has a licence which grands all rights to use it without
10135 cost.</li>
10136
10137 <li>It was more able to fit all requirements of a server system for
10138 schools than a Microsoft server system, even if there are only Windows
10139 clients because of it's preconfigured overall concept of being a
10140 infrastructure solution and community for schools, not only a
10141 server</li>
10142
10143 <li>I was able to configure the server to the needs of the
10144 school.</li>
10145
10146 </ul></p>
10147
10148 <p>Today some of the advantages has been lost, changed or new ones
10149 came up in this way:</p>
10150
10151 <p><ul>
10152
10153 <li>Most schools here do have money to buy hardware and software
10154 now.</li>
10155
10156 <li>They are today mostly managed from central IT departments which
10157 have own concepts which often do not fit to Debian Edu concepts
10158 because they are to close to Microsoft ideology.</li>
10159
10160 <li>With the Squeeze version of Debian Edu which now uses GOsa² for
10161 management I feel more able to manage the daily tasks than with the
10162 interfaces used in the past.</li>
10163
10164 <li>It is more modular than in the past and fits even better to the
10165 different needs.</li>
10166
10167 <li>The documentation is usable and gets better every day.</li>
10168
10169 <li>More people than ever before are using Debian Edu all over the
10170 world and so the community, which is an very important part I think,
10171 is sharing knowledge and minds.</li>
10172
10173 <li>Most, maybe all, of the technical requirements for schools are
10174 solved today by Debian Edu. </li>
10175
10176 </ul></p>
10177
10178 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
10179 Edu?</strong></p>
10180
10181 <p><ul>
10182
10183 <li>There are too few IT companies able to integrate Debian Edu into
10184 their product portfolio for serving schools with concepts or even
10185 whole municipality areas.</li>
10186
10187 <li>Debian Edu has beside other free and open software projects not
10188 enough lobbyists which promote free and open software to
10189 politicians.</li>
10190
10191 <li>Technically there are no disadvantages I'm aware of.</li>
10192
10193 </ul></p>
10194
10195 <p><strong>Which free software do you use daily?</strong></p>
10196
10197 <p>I use Debian stable on my home server and on my little desktop
10198 computer. On my laptop I use Debian testing/sid. The applications I
10199 use on my laptop and my desktop are Open/Libre-office, Iceweasel,
10200 KMail, DigiKam, Amarok, Dolphin, okular and all the other programs I
10201 need from the KDE environment. On console I use newsbeuter, mutt,
10202 screen, irssi and all the other famous and useful tools.</p>
10203
10204 <p>My home server provides mail services with exim, dovecot, roundcube
10205 and mutt over ssh on the console, file services with samba, NFS,
10206 rsync, web services with apache, moinmoin-wiki, multimedia services
10207 with gallery2 and mediatomb and database services with MySQL for me
10208 and the whole family. I probably forgot something.</p>
10209
10210 <p><strong>Which strategy do you believe is the right one to use to
10211 get schools to use free software?</strong></p>
10212
10213 <p>I believe, we should provide concepts for IT companies to integrate
10214 Debian Edu into their product portfolio with use cases for different
10215 countries and areas all over the world.</p>
10216
10217 </div>
10218 <div class="tags">
10219
10220
10221 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>.
10222
10223
10224 </div>
10225 </div>
10226 <div class="padding"></div>
10227
10228 <div class="entry">
10229 <div class="title">
10230 <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>
10231 </div>
10232 <div class="date">
10233 30th April 2012
10234 </div>
10235 <div class="body">
10236 <p><!-- IMG_5869.JPG -->
10237 <img src="http://people.skolelinux.org/pere/blog/images/panasonic-er-1611.jpeg"></p>
10238
10239 <p>I normally cut my hair short, and my tool of choice has been a
10240 common hair/beard cutter, bought in a electrical shop here in Norway.
10241 But the last ones have not really been up to the task. My last
10242 cutter, some model from Braun, could only cut a few of my hairs at the
10243 time, and cutting my head took forever. And the one before that did
10244 not work very well either. We have looked for something better for a
10245 while, but it was not until I ended up visiting a hairdresser that we
10246 discovered that there are indeed better tools available. But these
10247 are not marketed and sold to "regular consumers". The hair saloons
10248 can get them through their suppliers, but their suppliers only sell
10249 companies. The models they sell, are very different from the ones
10250 available from Elkjøp and Lefdal. The main difference is their
10251 efficiency. It would cut my hair in 5 minutes, instead of the 30-40
10252 minutes required by my impotent Braun. The hairdresser I visited had
10253 a Panasonic ER160, which unfortunately is no longer available from the
10254 producer. But I found it had a successor, the Panasonic ER1611.</p>
10255
10256 <p>The next step was to find somewhere to buy it. This was not
10257 straight forward. The list of suppliers I got from the hairdresser
10258 did not want to sell anything to me. But searching for the model on
10259 the web we found a supplier in Norway willing to sell it to us for
10260 around NOK 4000,-. This was a bit much. We kept searching and
10261 finally found a Danish supplier
10262 <a href="http://nicehair.dk/panasonic-er-1611-professionel-hartrimmer.html">selling
10263 it for around NOK 1800,-</a>. We ordered one, and it arrived a few
10264 days ago.</p>
10265
10266 <p>The instructions said it had to charge for 8 hours when we started
10267 to use it, so we left it charging over night. Normally it will only
10268 need one hour to charge. The following evening we successfully tested
10269 it, and I can warmly recommend it to anyone looking for a real hair
10270 cutter. The ones we have used until now have been hair cutter
10271 toys.</p>
10272
10273 </div>
10274 <div class="tags">
10275
10276
10277 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
10278
10279
10280 </div>
10281 </div>
10282 <div class="padding"></div>
10283
10284 <div class="entry">
10285 <div class="title">
10286 <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>
10287 </div>
10288 <div class="date">
10289 26th April 2012
10290 </div>
10291 <div class="body">
10292 <p>In <a href="http://www.idg.no/computerworld/article243690.ece">an
10293 article today</a> published by Computerworld Norway, the photographer
10294 <a href="http://www.urke.com/eirik/">Eirik Helland Urke</a> reports
10295 that the video editor application included with
10296 <a href="http://www.htc.com/www/smartphones/htc-one-x/#specs">HTC One
10297 X</a> have some quite surprising terms of use. The article is mostly
10298 based on the twitter message from mister Urke, stating:
10299
10300 <p><blockquote>
10301 "<a href="http://twitter.com/urke/status/194062269724897280">Drøy
10302 brukeravtale: HTC kan bruke MINE redigerte videoer kommersielt. Selv
10303 kan jeg KUN bruke dem privat.</a>"
10304 </blockquote></p>
10305
10306 <p>I quickly translated it to this English message:</p>
10307
10308 <p><blockquote>
10309 "Arrogant user agreement: HTC can use MY edited videos
10310 commercially. Although I can ONLY use them privately."
10311 </blockquote></p>
10312
10313 <p>I've been unable to find the text of the license term myself, but
10314 suspect it is a variation of the MPEG-LA terms I
10315 <a href="http://people.skolelinux.org/pere/blog/Terms_of_use_for_video_produced_by_a_Canon_IXUS_130_digital_camera.html">discovered
10316 with my Canon IXUS 130</a>. The HTC One X specification specifies that
10317 the recording format of the phone is .amr for audio and .mp3 for
10318 video. AMR is
10319 <a href="http://en.wikipedia.org/wiki/Adaptive_Multi-Rate_audio_codec#Licensing_and_patent_issues">Adaptive
10320 Multi-Rate audio codec</a> with patents which according to the
10321 Wikipedia article require an license agreement with
10322 <a href="http://www.voiceage.com/">VoiceAge</a>. MP4 is
10323 <a href="http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Patent_licensing">MPEG4 with
10324 H.264</a>, which according to Wikipedia require a licence agreement
10325 with <a href="http://www.mpegla.com/">MPEG-LA</a>.</p>
10326
10327 <p>I know why I prefer
10328 <a href="http://www.digistan.org/open-standard:definition">free and open
10329 standards</a> also for video.</p>
10330
10331 </div>
10332 <div class="tags">
10333
10334
10335 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>.
10336
10337
10338 </div>
10339 </div>
10340 <div class="padding"></div>
10341
10342 <div class="entry">
10343 <div class="title">
10344 <a href="http://people.skolelinux.org/pere/blog/RAND_terms___non_reasonable_and_discriminatory.html">RAND terms - non-reasonable and discriminatory</a>
10345 </div>
10346 <div class="date">
10347 19th April 2012
10348 </div>
10349 <div class="body">
10350 <p>Here in Norway, the
10351 <a href="http://www.regjeringen.no/nb/dep/fad.html?id=339"> Ministry of
10352 Government Administration, Reform and Church Affairs</a> is behind
10353 a <a href="http://standard.difi.no/forvaltningsstandarder">directory of
10354 standards</a> that are recommended or mandatory for use by the
10355 government. When the directory was created, the people behind it made
10356 an effort to ensure that everyone would be able to implement the
10357 standards and compete on equal terms to supply software and solutions
10358 to the government. Free software and non-free software could compete
10359 on the same level.</p>
10360
10361 <p>But recently, some standards with RAND
10362 (<a href="http://en.wikipedia.org/wiki/Reasonable_and_non-discriminatory_licensing">Reasonable
10363 And Non-Discriminatory</a>) terms have made their way into the
10364 directory. And while this might not sound too bad, the fact is that
10365 standard specifications with RAND terms often block free software from
10366 implementing them. The reasonable part of RAND mean that the cost per
10367 user/unit is low,and the non-discriminatory part mean that everyone
10368 willing to pay will get a license. Both sound great in theory. In
10369 practice, to get such license one need to be able to count users, and
10370 be able to pay a small amount of money per unit or user. By
10371 definition, users of free software do not need to register their use.
10372 So counting users or units is not possible for free software projects.
10373 And given that people will use the software without handing any money
10374 to the author, it is not really economically possible for a free
10375 software author to pay a small amount of money to license the rights
10376 to implement a standard when the income available is zero. The result
10377 in these situations is that free software are locked out from
10378 implementing standards with RAND terms.</p>
10379
10380 <p>Because of this, when I see someone claiming the terms of a
10381 standard is reasonable and non-discriminatory, all I can think of is
10382 how this really is non-reasonable and discriminatory. Because free
10383 software developers are working in a global market, it does not really
10384 help to know that software patents are not supposed to be enforceable
10385 in Norway. The patent regimes in other countries affect us even here.
10386 I really hope the people behind the standard directory will pay more
10387 attention to these issues in the future.</p>
10388
10389 <p>You can find more on the issues with RAND, FRAND and RAND-Z terms
10390 from Simon Phipps
10391 (<a href="http://blogs.computerworlduk.com/simon-says/2010/11/rand-not-so-reasonable/">RAND:
10392 Not So Reasonable?</a>).</p>
10393
10394 <p>Update 2012-04-21: Just came across a
10395 <a href="http://blogs.computerworlduk.com/open-enterprise/2012/04/of-microsoft-netscape-patents-and-open-standards/index.htm">blog
10396 post from Glyn Moody</a> over at Computer World UK warning about the
10397 same issue, and urging people to speak out to the UK government. I
10398 can only urge Norwegian users to do the same for
10399 <a href="http://www.standard.difi.no/hoyring/hoyring-om-nye-anbefalte-it-standarder">the
10400 hearing taking place at the moment</a> (respond before 2012-04-27).
10401 It proposes to require video conferencing standards including
10402 specifications with RAND terms.</p>
10403
10404 </div>
10405 <div class="tags">
10406
10407
10408 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>.
10409
10410
10411 </div>
10412 </div>
10413 <div class="padding"></div>
10414
10415 <div class="entry">
10416 <div class="title">
10417 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Andreas_Mundt.html">Debian Edu interview: Andreas Mundt</a>
10418 </div>
10419 <div class="date">
10420 15th April 2012
10421 </div>
10422 <div class="body">
10423 <p>Behind <a href="http://www.skolelinux.org/">Debian Edu and
10424 Skolelinux</a> there are a lot of people doing the hard work of
10425 setting together all the pieces. This time I present to you Andreas
10426 Mundt, who have been part of the technical development team several
10427 years. He was also a key contributor in getting GOsa and Kerberos set
10428 up in the recently released
10429 <a href="http://wiki.debian.org/DebianEdu/Documentation/Squeeze">Debian
10430 Edu Squeeze</a> version.</p>
10431
10432 <p><strong>Who are you, and how do you spend your days?</strong></p>
10433
10434 <p>My name is Andreas Mundt, I grew up in south Germany. After
10435 studying Physics I spent several years at university doing research in
10436 Quantum Optics. After that I worked some years in an optics company.
10437 Finally I decided to turn over a new leaf in my life and started
10438 teaching 10 to 19 years old kids at school. I teach math, physics,
10439 information technology and science/technology.</p>
10440
10441 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
10442 project?</strong></p>
10443
10444 <p>Already before I switched to teaching, I followed the Debian Edu
10445 project because of my interest in education and Debian. Within the
10446 qualification/training period for the teaching, I started
10447 contributing.</p>
10448
10449 <p><strong>What do you see as the advantages of Skolelinux/Debian
10450 Edu?</strong></p>
10451
10452 <p>The advantages of Debian Edu are the well known name, the
10453 out-of-the-box philosophy and of course the great free software of the
10454 Debian Project!</p>
10455
10456 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
10457 Edu?</strong></p>
10458
10459 <p>As every coin has two sides, the out-of-the-box philosophy has its
10460 downside, too. In my opinion, it is hard to modify and tweak the
10461 setup, if you need or want that. Further more, it is not easily
10462 possible to upgrade the system to a new release. It takes much too
10463 long after a Debian release to prepare the -Edu release, perhaps
10464 because the number of developers working on the core of the code is
10465 rather small and often busy elsewhere.</p>
10466
10467 <p>The <a href="http://wiki.debian.org/DebianLAN">Debian LAN</a>
10468 project might fill the use case of a more flexible system.</p>
10469
10470 <p><strong>Which free software do you use daily?</strong></p>
10471
10472 <p>I am only using non-free software if I am forced to and run Debian
10473 on all my machines. For documents I prefer LaTeX and PGF/TikZ, then
10474 mutt and iceweasel for email respectively web browsing. At school I
10475 have Arduino and Fritzing in use for a micro controller project.</p>
10476
10477 <p><strong>Which strategy do you believe is the right one to use to
10478 get schools to use free software?</strong></p>
10479
10480 <p>One of the major problems is the vendor lock-in from top to bottom:
10481 Especially in combination with ignorant government employees and
10482 politicians, this works out great for the "market-leader". The school
10483 administration here in Baden-Wuerttemberg is occupied by that vendor.
10484 Documents have to be prepared in non-free, proprietary formats. Even
10485 free browsers do not work for the school administration. Publishers
10486 of school books provide software only for proprietary platforms.</p>
10487
10488 <p>To change this, political work is very important. Parts of the
10489 political spectrum have become aware of the problem in the last years.
10490 However it takes quite some time and courageous politicians to 'free'
10491 the system. There is currently some discussion about "Open Data" and
10492 "Free/Open Standards". I am not sure if all the involved parties have
10493 a clue about the potential of these ideas, and probably only a
10494 fraction takes them seriously. However it might slowly make free
10495 software and the philosophy behind it more known and popular.</p>
10496
10497 </div>
10498 <div class="tags">
10499
10500
10501 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>.
10502
10503
10504 </div>
10505 </div>
10506 <div class="padding"></div>
10507
10508 <div class="entry">
10509 <div class="title">
10510 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Justin_B__Rye.html">Debian Edu interview: Justin B. Rye</a>
10511 </div>
10512 <div class="date">
10513 8th April 2012
10514 </div>
10515 <div class="body">
10516 <p>It take all kind of contributions to create a Linux distribution
10517 like <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a>,
10518 and this time I lend the ear to Justin B. Rye, who is listed as a big
10519 contributor to the
10520 <a href="http://wiki.debian.org/DebianEdu/Documentation/Squeeze">Debian
10521 Edu Squeeze release manual</a>.
10522
10523 <p><strong>Who are you, and how do you spend your days?</strong></p>
10524
10525 <p>I'm a 44-year-old linguistics graduate living in Edinburgh who has
10526 occasionally been employed as a sysadmin.</p>
10527
10528 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
10529 project?</strong></p>
10530
10531 <p>I'm neither a developer nor a Skolelinux/Debian Edu user! The only
10532 reason my name's in the credits for the documentation is that I hang
10533 around on debian-l10n-english waiting for people to mention things
10534 they'd like a native English speaker to proofread... So I did a sweep
10535 through the wiki for typos and Norglish and inconsistent spellings of
10536 "localisation".</p>
10537
10538 <p><strong>What do you see as the advantages of Skolelinux/Debian
10539 Edu?</strong></p>
10540
10541 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
10542 Edu?</strong></p>
10543
10544 <p>These questions are too hard for me - I don't use it! In fact I
10545 had hardly any contact with I.T. until long after I'd got out of the
10546 education system.</p>
10547
10548 <p>I can tell you the advantages of Debian for me though: it soaks up
10549 as much of my free time as I want and no more, and lets me do
10550 everything I want a computer for without ever forcing me to spend
10551 money on the latest hardware.</p>
10552
10553 <p><strong>Which free software do you use daily?</strong></p>
10554
10555 <p>I've been using Debian since Rex; popularity-contest says the
10556 software that I use most is xinit, xterm, and xulrunner (in other
10557 words, I use a distinctly retro sort of desktop).</p>
10558
10559 <p><strong>Which strategy do you believe is the right one to use to
10560 get schools to use free software?</strong></p>
10561
10562 <p>Well, I don't know. I suppose I'd be inclined to try reasoning
10563 with the people who make the decisions, but obviously if that worked
10564 you would hardly need a strategy.</p>
10565
10566 </div>
10567 <div class="tags">
10568
10569
10570 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>.
10571
10572
10573 </div>
10574 </div>
10575 <div class="padding"></div>
10576
10577 <div class="entry">
10578 <div class="title">
10579 <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>
10580 </div>
10581 <div class="date">
10582 6th April 2012
10583 </div>
10584 <div class="body">
10585 <p>Recently I have spent time with
10586 <a href="http://www.slxdrift.no/">Skolelinux Drift AS</a> on speeding
10587 up a <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a>
10588 Lenny installation using LTSP diskless workstations, and in the
10589 process I discovered something very surprising. The reason the KDE
10590 menu was responding slow when using it for the first time, was mostly
10591 due to the way KDE find application icons. I discovered that showing
10592 the Multimedia menu would cause more than 20 000 IP packages to be
10593 passed between the LTSP client and the NFS server. Most of these were
10594
10595 NFS LOOKUP calls, resulting in a NFS3ERR_NOENT response. Because the
10596 ping times between the client and the server were in the range 2-20
10597 ms, the menus would be very slow. Looking at the strace of kicker in
10598 Lenny (or plasma-desktop i Squeeze - same problem there), I see that
10599 the source of these NFS calls are access(2) system calls for
10600 non-existing files. KDE can do hundreds of access(2) calls to find
10601 one icon file. In my example, just finding the mplayer icon required
10602 around 230 access(2) calls.</p>
10603
10604 <p>The KDE code seem to search for icons using a list of icon
10605 directories, and the list of possible directories is large. In
10606 (almost) each directory, it look for files ending in .png, .svgz, .svg
10607 and .xpm. The result is a very slow KDE menu when /usr/ is NFS
10608 mounted. Showing a single sub menu may result in thousands of NFS
10609 requests. I am not the first one to discover this. I found a
10610 <a href="https://bugs.kde.org/show_bug.cgi?id=211416">KDE bug report
10611 from 2009</a> about this problem, and it is still unsolved.</p>
10612
10613 <p>My solution to speed up the KDE menu was to create a package
10614 kde-icon-cache that upon installation will look at all .desktop files
10615 used to generate the KDE menu, find their icons, search the icon paths
10616 for the file that KDE will end up finding at run time, and copying the
10617 icon file to /var/lib/kde-icon-cache/. Finally, I add symlinks to
10618 these icon files in one of the first directories where KDE will look
10619 for them. This cut down the number of file accesses required to find
10620 one icon from several hundred to less than 5, and make the KDE menu
10621 almost instantaneous. I'm not quite sure where to make the package
10622 publicly available, so for now it is only available on request.</p>
10623
10624 <p>The bug report mention that this do not only affect the KDE menu
10625 and icon handling, but also the login process. Not quite sure how to
10626 speed up that part without replacing NFS with for example NBD, and
10627 that is not really an option at the moment.</p>
10628
10629 <p>If you got feedback on this issue, please let us know on debian-edu
10630 (at) lists.debian.org.</p>
10631
10632 </div>
10633 <div class="tags">
10634
10635
10636 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>.
10637
10638
10639 </div>
10640 </div>
10641 <div class="padding"></div>
10642
10643 <div class="entry">
10644 <div class="title">
10645 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_in_the_Linux_Weekly_News.html">Debian Edu in the Linux Weekly News</a>
10646 </div>
10647 <div class="date">
10648 5th April 2012
10649 </div>
10650 <div class="body">
10651 <p>About two weeks ago, I was interviewed via email about
10652 <a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a> by
10653 Bruce Byfield in Linux Weekly News. The result was made public for
10654 non-subscribers today. I am pleased to see liked our Linux solution
10655 for schools. Check out his article
10656 <a href="https://lwn.net/Articles/488805/">Debian Edu/Skolelinux: A
10657 distribution for education</a> if you want to learn more.</p>
10658
10659 </div>
10660 <div class="tags">
10661
10662
10663 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>.
10664
10665
10666 </div>
10667 </div>
10668 <div class="padding"></div>
10669
10670 <div class="entry">
10671 <div class="title">
10672 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Wolfgang_Schweer.html">Debian Edu interview: Wolfgang Schweer</a>
10673 </div>
10674 <div class="date">
10675 1st April 2012
10676 </div>
10677 <div class="body">
10678 <p>Germany is a core area for the
10679 <a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>
10680 user community, and this time I managed to get hold of Wolfgang
10681 Schweer, a valuable contributor to the project from Germany.
10682
10683 <p><strong>Who are you, and how do you spend your days?</strong></p>
10684
10685 <p>I've studied Mathematics at the university 'Ruhr-Universität' in
10686 Bochum, Germany. Since 1981 I'm working as a teacher at the school
10687 "<a href="http://www.westfalenkolleg-dortmund.de/">Westfalen-Kolleg
10688 Dortmund</a>", a second chance school. Here, young adults is given
10689 the opportunity to get further education in order to do the school
10690 examination 'Abitur', which will allow to study at a university. This
10691 second chance is of value for those who want a better job perspective
10692 or failed to get a higher school examination being teens.</p>
10693
10694 <p>Besides teaching I was involved in developing online courses for a
10695 blended learning project called 'abitur-online.nrw' and in some other
10696 information technology related projects. For about ten years I've been
10697 teacher and coordinator for the 'abitur-online' project at my
10698 school. Being now in my early sixties, I've decided to leave school at
10699 the end of April this year.</p>
10700
10701 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
10702 project?</strong></p>
10703
10704 <p>The first information about Skolelinux must have come to my
10705 attention years ago and somehow related to LTSP (Linux Terminal Server
10706 Project). At school, we had set up a network at the beginning of 1997
10707 using Suse Linux on the desktop, replacing a Novell network. Since
10708 2002, we used old machines from the city council of Dortmund as thin
10709 clients (LTSP, later Ubuntu/Lessdisks) cause new hardware was out of
10710 reach. At home I'm using Debian since years and - subscribed to the
10711 Debian news letter - heard from time to time about Skolelinux. About
10712 two years ago I proposed to replace the (somehow undocumented and only
10713 known to me) system at school by a well known Debian based system:
10714 Skolelinux.</p>
10715
10716 <p>Students and teachers appreciated the new system because of a
10717 better look and feel and an enhanced access to local media on thin
10718 clients. The possibility to alter and/or reset passwords using a GUI
10719 was welcomed, too. Being able to do administrative tasks using a GUI
10720 and to easily set up workstations using PXE was of very high value for
10721 the admin teachers.</p>
10722
10723 <p><strong>What do you see as the advantages of Skolelinux/Debian
10724 Edu?</strong></p>
10725
10726 <p>It's open source, easy to set up, stable and flexible due to it's
10727 Debian base. It integrates LTSP out-of-the-box. And it is documented!
10728 So it was a perfect choice.</p>
10729
10730 <p>Being open source, there are no license problems and so it's
10731 possible to point teachers and students to programs like
10732 OpenOffice.org, ViewYourMind (mind mapping) and The Gimp. It's of
10733 high value to be able to adapt parts of the system to special needs of
10734 a school and to choose where to get support for this.</p>
10735
10736 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
10737 Edu?</strong></p>
10738
10739 <p>Nothing yet.</p>
10740
10741 <p><strong>Which free software do you use daily?</strong></p>
10742
10743 <p>At home (Debian Sid with Gnome Desktop): Iceweasel, LibreOffice,
10744 Mutt, Gedit, Document Viewer, Midnight Commander, flpsed (PDF
10745 Annotator). At school (Skolelinux Lenny): Iceweasel, Gedit,
10746 LibreOffice.</p>
10747
10748 <p><strong>Which strategy do you believe is the right one to use to
10749 get schools to use free software?</strong></p>
10750
10751 <p>Some time ago I thought it was enough to tell people about it. But
10752 that doesn't seem to work quite well. Now I concentrate on those more
10753 interested and hope to get multiplicators that way.</p>
10754
10755 </div>
10756 <div class="tags">
10757
10758
10759 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>.
10760
10761
10762 </div>
10763 </div>
10764 <div class="padding"></div>
10765
10766 <div class="entry">
10767 <div class="title">
10768 <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>
10769 </div>
10770 <div class="date">
10771 25th March 2012
10772 </div>
10773 <div class="body">
10774 <!-- Video HTML based on http://www.diveintohtml5.net/video.html -->
10775
10776 <p>The same Debian Edu developer that did the last screen cast I
10777 published, Wolfgang Schweer, has created a new screen cast showing how
10778 to set up Kmail in Debian Edu Squeze to authenticate using Kerberos,
10779 allowing users to check their local email account without providing
10780 any password. The video is embedded here in quarter size,
10781 and also available from <a href="https://vimeo.com/38601767">vimeo</a>
10782 and download as a
10783 <a href="http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-03-14-Debian-Edu_Configure_Kmail_for_internal_usage.ogv">Ogg
10784 Theora</a> file. Check it out below.</p>
10785
10786 <p><video id="kmail-kerberos-movie" width="256" height="184" preload controls>
10787 <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"' />
10788 <p>Download video as
10789 <a href="http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-03-14-Debian-Edu_Configure_Kmail_for_internal_usage.ogv">Ogg</a>.</p>
10790 </video></p>
10791
10792 </div>
10793 <div class="tags">
10794
10795
10796 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>.
10797
10798
10799 </div>
10800 </div>
10801 <div class="padding"></div>
10802
10803 <div class="entry">
10804 <div class="title">
10805 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__John_Ingleby.html">Debian Edu interview: John Ingleby</a>
10806 </div>
10807 <div class="date">
10808 19th March 2012
10809 </div>
10810 <div class="body">
10811 <p><a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a>
10812 users are spread all across the globe. The second inteview after
10813 <a href="http://lists.debian.org/debian-edu-announce/2012/03/msg00001.html">the
10814 Squeeze release</a> was publised is with John Ingleby, a teacher and
10815 long time Linux user in United Kingdom.</p>
10816
10817 <p><strong>Who are you, and how do you spend your days?</strong></p>
10818
10819 <p>I teach ICT part time at the Rudolf Steiner School in Kings
10820 Langley, near London, UK. Previously I worked as a technical
10821 author/trainer while my children attended the school, and I also
10822 contributed to the Schoolforge UK community with the aim of
10823 encouraging UK schools to adopt free/open source software. Five or six
10824 years ago we had about 50 schools interested in some way, but we
10825 weren't able to convert many of them into sustainable
10826 installations.</p>
10827
10828 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
10829 project?</strong></p>
10830
10831 <p>Skolelinux had two representatives at an early Edubuntu meeting in
10832 London which I attended. However at that time our school network had
10833 just been installed using CentOS, LTSP 4 and GNOME. When LTSP 5 came
10834 along we switched to Edubuntu thin client servers so now we have a
10835 mixed environment which includes Windows PCs and student laptops, as
10836 well as their MacBooks and iPads. However, the proprietary systems
10837 have always been rather problematic, and we never built a GUI for the
10838 LDAP server, so when I discovered Skolelinux is configured for all
10839 these things we decided to try it.</p>
10840
10841 <p><strong>What do you see as the advantages of Skolelinux/Debian
10842 Edu?</strong></p>
10843
10844 <p>By far the biggest advantage is the Debian Edu community. Apart
10845 from that I have always believed in the same "sustainable computing"
10846 goals that Skolelinux is built on: installing Linux on computers which
10847 would otherwise be thrown away, to provide a reliable, secure and
10848 low-cost IT environment for schools. From my own experience I know
10849 that a part-time person can teach and manage a network of about 25
10850 Linux computers, but it would take much more of my time if we had
10851 proprietary software everywhere.</p>
10852
10853 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
10854 Edu?</strong></p>
10855
10856 <p>As a newcomer I'm just finding out who's who in the community and
10857 how you're organised, and what your procedures are for dealing with
10858 various things such as editing manual pages and so-on. The only
10859 English language mailing list seems to be for developers as well as
10860 users, so my inbox needs heavy pruning each day!</p>
10861
10862 <p><strong>Which free software do you use daily?</strong></p>
10863
10864 <p>Besides the software already mentioned at school we use Samba,
10865 OpenLDAP, CUPS, Nagios and Dansguardian for the network, and on the
10866 desktops we have LibreOffice, Firefox, GIMP and Inkscape. At home I
10867 use Ubuntu and an Android 4 eePad Transformer (but I'm not sure if
10868 that counts...)</p>
10869
10870 <p><strong>Which strategy do you believe is the right one to use to
10871 get schools to use free software?</strong></p>
10872
10873 <p>That's a tough question! For very many years UK schools installed
10874 and taught only proprietary software, so that at the highest levels
10875 the notion of "computer" means simply "proprietary office
10876 applications". However, schools today are experiencing budget
10877 constraints, and many are having to think hard about upgrading Windows
10878 XP. At the same time, we have students showing teachers how to use
10879 iPads, MacBooks and Android, so the choice of operating system is no
10880 longer quite so automatic. What is more, our government at last
10881 realised that we need people with programming skills, so they're
10882 putting coding back in the curriculum! And it's encouraging that the
10883 first 10,000 Raspberry Pi units sold out in 2 hours.</p>
10884
10885 <p>I don't really know what strategy is going to get UK schools to use
10886 free software, but building an active community of Skolelinux/Debian
10887 Edu users in this country has to be part of it.</p>
10888
10889 </div>
10890 <div class="tags">
10891
10892
10893 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>.
10894
10895
10896 </div>
10897 </div>
10898 <div class="padding"></div>
10899
10900 <div class="entry">
10901 <div class="title">
10902 <a href="http://people.skolelinux.org/pere/blog/Writing_and_translating_documentation_in_Debian_Edu.html">Writing and translating documentation in Debian Edu</a>
10903 </div>
10904 <div class="date">
10905 16th March 2012
10906 </div>
10907 <div class="body">
10908 <p>Documentation in Debian Edu is provided in several languages, and
10909 it is important to make it both easy to contribute and to keep the
10910 translated versions in sync. To do this we have come up with what we
10911 believe is a very efficient work flow.</p>
10912
10913 <ol>
10914
10915 <li>The documentation is written in a
10916 <a href="http://moinmo.in">moinmoin wiki</a> (see for example
10917 <a href="http://wiki.debian.org/DebianEdu/Documentation/Squeeze">the
10918 Squeeze release manual</a>) with support for exporting the content as
10919 docbook XML.</li>
10920
10921 <li>This docbook document is given to po4a to extract a gettext style
10922 .pot file with the content, which in turn is used to create .po files
10923 with the translated text.</li>
10924
10925 <li>The .po files are given to translators, and they can always tell
10926 which part of the original wiki document is new or changed. They can
10927 use their normal translation tools like lokalize or poedit to write
10928 the translation. There is even a system in place to handle translated
10929 images.</li>
10930
10931 <li>The translated .po files are combined with the original docbook
10932 XML document using po4a to create a translated docbook document.</li>
10933
10934 <li>The final step is to use all the generated docbook files and
10935 create PDF and HTML version of the original and translated documents.</li>
10936
10937 </ol>
10938
10939 <p>This setup work very well, but have a few issues. The biggest
10940 issue is that <a href="http://moinmo.in/DocBook">the docbook support
10941 we use in moinmoin</a> is not actively maintained. The docbook
10942 support is also buggy, and our build system contain workarounds to
10943 make sure the generated docbook is usable despite these bugs.</p>
10944
10945 <p>If you want to have a look at our setup, it is all there in the
10946 <a href="http://packages.qa.debian.org/debian-edu-doc">debian-edu-doc
10947 package</a>.</p>
10948
10949 </div>
10950 <div class="tags">
10951
10952
10953 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>.
10954
10955
10956 </div>
10957 </div>
10958 <div class="padding"></div>
10959
10960 <div class="entry">
10961 <div class="title">
10962 <a href="http://people.skolelinux.org/pere/blog/Skolelinux___Debian_Edu_Squeeze_is_out_.html">Skolelinux / Debian Edu Squeeze is out!</a>
10963 </div>
10964 <div class="date">
10965 11th March 2012
10966 </div>
10967 <div class="body">
10968 <p>This weekend we finally published the first stable release of
10969 <a href="http://www.skolelinux.org/">Skolelinux / Debian Edu</a> based
10970 on Debian/Squeeze. The full announcement is
10971 <a href="http://lists.debian.org/debian-edu-announce/2012/03/msg00001.html">available</a>
10972 from the project announcement list. Now is a good time to test if it
10973 you have not done so already.</p>
10974
10975 <p>I plan to present the new version at
10976 <a href="http://www.nuug.no/aktiviteter/20120313-skolelinux/">a NUUG
10977 meeting</a> on tuesday. I look forward to seeing you there if you are
10978 in Oslo, Norway.</p>
10979
10980 </div>
10981 <div class="tags">
10982
10983
10984 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>.
10985
10986
10987 </div>
10988 </div>
10989 <div class="padding"></div>
10990
10991 <div class="entry">
10992 <div class="title">
10993 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Nigel_Barker.html">Debian Edu interview: Nigel Barker</a>
10994 </div>
10995 <div class="date">
10996 9th March 2012
10997 </div>
10998 <div class="body">
10999 <p>Inspired by <a href="http://raphaelhertzog.com/tag/interview/">the
11000 interview series</a> conducted by Raphael, I started a Norwegian
11001 interview series with people involved in the Debian Edu / Skolelinux
11002 community. This was so popular that I believe it is time to move to a
11003 more international audience.</p>
11004
11005 <p>While <a href="http://www.skolelinux.org/">Debian Edu and
11006 Skolelinux</a> originated in France and Norway, and have most users in
11007 Europe, there are users all around the globe. One of those far away
11008 from me is Nigel Barker, a long time Debian Edu system administrator
11009 and contributor. It is thanks to him that Debian Edu is adjusted to
11010 work out of the box in Japan. I got him to answer a few questions,
11011 and am happy to share the response with you. :)
11012
11013
11014 <p><strong>Who are you, and how do you spend your days?</strong></p>
11015
11016 <p>My name is Nigel Barker, and I am British. I am married to Yumiko,
11017 and we have three lovely children, aged 15, 14 and 4(!) I am the IT
11018 Coordinator at Hiroshima International School, Japan. I am also a
11019 teacher, and in fact I spend most of my day teaching Mathematics,
11020 Science, IT, and Chemistry. I was originally a Chemistry teacher, but
11021 I have always had an interest in computers. Another teacher teaches
11022 primary school IT, but apart from that I am the only computer person,
11023 so that means I am the network manager, technician and webmaster,
11024 also, and I help people with their computer problems. I teach python
11025 to beginners in an after-school club. I am way too busy, so I really
11026 appreciate the simplicity of Skolelinux.</p>
11027
11028 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
11029 project?</strong></p>
11030
11031 <p>In around 2004 or 5 I discovered the ltsp project, and set up a
11032 server in the IT lab. I wanted some way to connect it to our central
11033 samba server, which I was also quite poor at configuring. I discovered
11034 Edubuntu when it came out, but it didn't really improve my setup. I
11035 did various desperate searches for things like "school Linux server"
11036 and ended up in a document called "Drift" something or other. Reading
11037 there it became clear that Skolelinux was going to solve all my
11038 problems in one go. I was very excited, but apprehensive, because my
11039 previous attempts to install Debian had ended in failure (I used
11040 Mandrake for everything - ltsp, samba, apache, mail, ns...). I
11041 downloaded a beta version, had some problems, so subscribed to the
11042 Debian Edu list for help. I have remained subscribed ever since, and
11043 my school has run a Skolelinux network since Sarge.</p>
11044
11045 <p><strong>What do you see as the advantages of Skolelinux/Debian
11046 Edu?</strong></p>
11047
11048 <p>For me the integrated setup. This is not just the server, or the
11049 workstation, or the ltsp. Its all of them, and its all configured
11050 ready to go. I read somewhere in the early documentation that it is
11051 designed to be setup and managed by the Maths or Science teacher, who
11052 doesn't necessarily know much about computers, in a small Norwegian
11053 school. That describes me perfectly if you replace Norway with
11054 Japan.</p>
11055
11056 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
11057 Edu?</strong></p>
11058
11059 <p>The desktop is fairly plain. If you compare it with Edubuntu, who
11060 have fun themes for children, or with distributions such as Mint, who
11061 make the desktop beautiful. They create a good impression on people
11062 who don't need to understand how to use any of it, but who might be
11063 important to the school. School administrators or directors, for
11064 instance, or parents. Even kids. Debian itself usually has ugly
11065 default theme settings. It was my dream a few years back that some
11066 kind of integration would allow Edubuntu to do the desktop stuff and
11067 Debian Edu the servers, but now I realise how impossible that is. A
11068 second disadvantage is that if something goes wrong, or you need to
11069 customise something, then suddenly the level of expertise required
11070 multiplies. For example, backup wasn't working properly in Lenny. It
11071 took me ages to learn how to set up my own server to do rsync backups.
11072 I am afraid of anything to do with ldap, but perhaps Gosa will
11073 help.</p>
11074
11075 <p><strong>Which free software do you use daily?</strong></p>
11076
11077 <p>Nowadays I only use Debian on my personal computers. I have one for
11078 studio work (I play guitar and write songs), running AV Linux
11079 (customised Debian) a netbook running Squeeze, and a bigger laptop
11080 still running Skolelinux Lenny workstation. I have a Tjener in my
11081 house, that's very useful for the family photos and music. At school
11082 the students only use Skolelinux. (Some teachers and the office still
11083 have windows). So that means we only use free software all day every
11084 day. Open office, The GIMP, Firefox/Iceweasel, VLC and Audacity are
11085 installed on every computer in school, irrespective of OS. We also
11086 have Koha on Debian for the library, and Apache, Moodle, b2evolution
11087 and Etomite on Debian for the www. The firewall is Untangle.</p>
11088
11089 <p><strong>Which strategy do you believe is the right one to use to
11090 get schools to use free software?</strong></p>
11091
11092 <p>Current trends are in our favour. Open source is big in industry,
11093 and ordinary people have heard of it. The spread of Android and the
11094 popularity of Apple have helped to weaken the impression that you have
11095 to have Microsoft on everything. People complain to me much less about
11096 file formats and Word than they did 5 years ago. The Edu aspect is
11097 also a selling point. This is all customised for schools. Where is the
11098 Windows-edu, or the Mac-edu? But of course the main attraction is
11099 budget.The trick is to convince people that the quality is not
11100 compromised when you stop paying and use free software instead. That
11101 is one reason why I say the desktop experience is a weakness. People
11102 are not impressed when their USB drive doesn't work, or their browser
11103 doesn't play flash, for example.</p>
11104
11105 </div>
11106 <div class="tags">
11107
11108
11109 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>.
11110
11111
11112 </div>
11113 </div>
11114 <div class="padding"></div>
11115
11116 <div class="entry">
11117 <div class="title">
11118 <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>
11119 </div>
11120 <div class="date">
11121 7th March 2012
11122 </div>
11123 <div class="body">
11124 <!-- Video HTML based on http://www.diveintohtml5.net/video.html -->
11125
11126 <p>One of the Debian Edu developers, Wolfgang Schweer, just created a
11127 screen cast documenting how to create a lot of new users in LDAP on
11128 Debian Edu Squeeze. The video is embedded here in quarter size, and
11129 also available from <a href="http://vimeo.com/37675399">vimeo</a> and
11130 download as a
11131 <a href="http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-02-29-debian_edu_mass_create_user_accounts.ogv">Ogg
11132 Theora</a> file. Check it out below.</p>
11133
11134 <p><video id="gosa-mass-user-create-movie" width="256" height="184" preload controls>
11135 <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"' />
11136 <p>Download video as
11137 <a href="http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-02-29-debian_edu_mass_create_user_accounts.ogv">Ogg</a>.</p>
11138 </video></p>
11139
11140 </div>
11141 <div class="tags">
11142
11143
11144 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>.
11145
11146
11147 </div>
11148 </div>
11149 <div class="padding"></div>
11150
11151 <div class="entry">
11152 <div class="title">
11153 <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>
11154 </div>
11155 <div class="date">
11156 4th March 2012
11157 </div>
11158 <div class="body">
11159 <p>This weekend we wrapped up and published the third release
11160 candidate for <a href="http://www.skolelinux.org/">Debian Edu /
11161 Skolelinux</a> based on Squeeze. The full announcement is
11162 <a href="http://lists.debian.org/debian-edu-announce/2012/03/msg00000.html">available</a>
11163 from the project announcement list. Check it out if you
11164 need a software solution for your school.</p>
11165
11166 </div>
11167 <div class="tags">
11168
11169
11170 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>.
11171
11172
11173 </div>
11174 </div>
11175 <div class="padding"></div>
11176
11177 <div class="entry">
11178 <div class="title">
11179 <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>
11180 </div>
11181 <div class="date">
11182 3rd March 2012
11183 </div>
11184 <div class="body">
11185 <p>Many years ago, the <a href="http://www.skolelinux.org/">Skolelinux
11186 / Debian Edu project</a> initiated a student project to create a tool
11187 for making stop motion movies. The proposal came from a teacher
11188 needing such tool on Skolelinux. The project, called "stopmotion",
11189 was manned by two extraordinary students and won a school award and a
11190 national aware with this great project. The project was initiated and
11191 mentored by Herman Robak, and manned by the students Bjørn Erik Nilsen
11192 and Fredrik Berg Kjølstad. They got in touch with people at Aardman
11193 Animation studio and received feedback on how professionals would like
11194 such stopmotion tool to work, and the end result was and is used by
11195 animators around the globe. But as is usual after studying, both got
11196 jobs and went elsewhere, and did not have time to properly tend to the
11197 project, and it has been lingering for a few years now. Until last
11198 year...</p>
11199
11200 <p>Last year some of the users got together with Herman, and moved the
11201 project to Sourceforge and in effect restarted the project under a new
11202 name,
11203 <a href="http://sourceforge.net/projects/linuxstopmotion/">linuxstopmotion</a>.
11204 The name change was done to make it possible to find the project using
11205 Internet search engines (try to search for 'stopmotion' to see what I
11206 mean). I've been following
11207 <a href="https://lists.sourceforge.net/lists/listinfo/linuxstopmotion-community">the
11208 mailing list</a> and the improvement already in place and planned for
11209 the future is encouraging. If you want to make stop motion movies.
11210 Check it out. :)</p>
11211
11212 </div>
11213 <div class="tags">
11214
11215
11216 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>.
11217
11218
11219 </div>
11220 </div>
11221 <div class="padding"></div>
11222
11223 <div class="entry">
11224 <div class="title">
11225 <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>
11226 </div>
11227 <div class="date">
11228 27th February 2012
11229 </div>
11230 <div class="body">
11231 <p>This weekend we wrapped up and published the second release
11232 candidate for <a href="http://www.skolelinux.org/">Debian Edu /
11233 Skolelinux</a> based on Squeeze. The full announcement did for some
11234 reason not make it the project announcement list, but is
11235 <a href="http://lists.debian.org/debian-devel-announce/2012/02/msg00015.html">available</a>
11236 from the Debian development announcement list. Check it out if you
11237 need a software solution for your school.</p>
11238
11239 </div>
11240 <div class="tags">
11241
11242
11243 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>.
11244
11245
11246 </div>
11247 </div>
11248 <div class="padding"></div>
11249
11250 <div class="entry">
11251 <div class="title">
11252 <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>
11253 </div>
11254 <div class="date">
11255 19th February 2012
11256 </div>
11257 <div class="body">
11258 <p>One week delayed due to DVD build problems, we managed today to
11259 wrap up and publish the first release candidate for
11260 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> based
11261 on Squeeze. The full announcement is
11262 <a href="http://lists.debian.org/debian-edu-announce/2012/02/msg00001.html">available</a>
11263 on the project announcement list. Check it out if you need a software
11264 solution for your school.</p>
11265
11266 </div>
11267 <div class="tags">
11268
11269
11270 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>.
11271
11272
11273 </div>
11274 </div>
11275 <div class="padding"></div>
11276
11277 <div class="entry">
11278 <div class="title">
11279 <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>
11280 </div>
11281 <div class="date">
11282 14th February 2012
11283 </div>
11284 <div class="body">
11285 <p>Once in a while my home server have disk problems. Thanks to Linux
11286 Software RAID, I have not lost data yet (but
11287 <a href="http://comments.gmane.org/gmane.linux.raid/34532">I was
11288 close</a> this summer :). But once a disk is starting to behave
11289 funny, a practical problem present itself. How to get from the Linux
11290 device name (like /dev/sdd) to something that can be used to identify
11291 the disk when the computer is turned off? In my case I have SATA
11292 disks with a unique ID printed on the label. All I need is a way to
11293 figure out how to query the disk to get the ID out.</p>
11294
11295 <p>After fumbling a bit, I
11296 <a href="http://www.cyberciti.biz/faq/linux-getting-scsi-ide-harddisk-information/">found
11297 that hdparm -I</a> will report the disk serial number, which is
11298 printed on the disk label. The following (almost) one-liner can be
11299 used to look up the ID of all the failed disks:</p>
11300
11301 <blockquote><pre>
11302 for d in $(cat /proc/mdstat |grep '(F)'|tr ' ' "\n"|grep '(F)'|cut -d\[ -f1|sort -u);
11303 do
11304 printf "Failed disk $d: "
11305 hdparm -I /dev/$d |grep 'Serial Num'
11306 done
11307 </blockquote></pre>
11308
11309 <p>Putting it here to make sure I do not have to search for it the
11310 next time, and in case other find it useful.</p>
11311
11312 <p>At the moment I have two failing disk. :(</p>
11313
11314 <blockquote><pre>
11315 Failed disk sdd1: Serial Number: WD-WCASJ1860823
11316 Failed disk sdd2: Serial Number: WD-WCASJ1860823
11317 Failed disk sde2: Serial Number: WD-WCASJ1840589
11318 </blockquote></pre>
11319
11320 <p>The last time I had failing disks, I added the serial number on
11321 labels I printed and stuck on the short sides of each disk, to be able
11322 to figure out which disk to take out of the box without having to
11323 remove each disk to look at the physical vendor label. The vendor
11324 label is at the top of the disk, which is hidden when the disks are
11325 mounted inside my box.</p>
11326
11327 <p>I really wish the check_linux_raid Nagios plugin for checking Linux
11328 Software RAID in the
11329 <a href="http://packages.qa.debian.org/n/nagios-plugins.html">nagios-plugins-standard</a>
11330 debian package would look up this value automatically, as it would
11331 make the plugin a lot more useful when my disks fail. At the moment
11332 it only report a failure when there are no more spares left (it really
11333 should warn as soon as a disk is failing), and it do not tell me which
11334 disk(s) is failing when the RAID is running short on disks.</p>
11335
11336 </div>
11337 <div class="tags">
11338
11339
11340 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>.
11341
11342
11343 </div>
11344 </div>
11345 <div class="padding"></div>
11346
11347 <div class="entry">
11348 <div class="title">
11349 <a href="http://people.skolelinux.org/pere/blog/Automatic_proxy_configuration_with_Debian_Edu___Skolelinux.html">Automatic proxy configuration with Debian Edu / Skolelinux</a>
11350 </div>
11351 <div class="date">
11352 13th February 2012
11353 </div>
11354 <div class="body">
11355 <p>New in the Squeeze version of
11356 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> is the
11357 ability for clients to automatically configure their proxy settings
11358 based on their environment. We want all systems on the client to use
11359 the WPAD based proxy definition fetched from <tt>http://wpad/wpad.dat</tt>, to
11360 allow sites to control the proxy setting from a central place and make
11361 sure clients do not have hard coded proxy settings. The schools can
11362 change the global proxy setting by editing
11363 <tt>tjener:/etc/debian-edu/www/wpad.dat</tt> and the change propagate
11364 to all Debian Edu clients in the network.</p>
11365
11366 <p>The problem is that some systems do not understand the WPAD system.
11367 In other words, how do one get from a WPAD file like this (this is a
11368 simple one, they can run arbitrary code):</p>
11369
11370 <blockquote><pre>
11371 function FindProxyForURL(url, host)
11372 {
11373 if (!isResolvable(host) ||
11374 isPlainHostName(host) ||
11375 dnsDomainIs(host, ".intern"))
11376 return "DIRECT";
11377 else
11378 return "PROXY webcache:3128; DIRECT";
11379 }
11380 </pre></blockquote>
11381
11382 <p>to a proxy setting in the process environment looking like this:</p>
11383
11384 <blockquote><pre>
11385 http_proxy=http://webcache:3128/
11386 ftp_proxy=http://webcache:3128/
11387 </pre></blockquote>
11388
11389 <p>To do this conversion I developed a perl script that will execute
11390 the javascript fragment in the WPAD file and return the proxy that
11391 would be used for
11392 <tt><a href="http://www.debian.org/">http://www.debian.org/</a></tt>,
11393 and insert this extracted proxy URL in <tt>/etc/environment</tt> and
11394 <tt>/etc/apt/apt.conf</tt>. The perl script wpad-extract work just
11395 fine in Squeeze, but in Wheezy the library it need to run the
11396 javascript code is <a href="http://bugs.debian.org/631045">no longer
11397 able to build</a> because the C library it depended on is now a C++
11398 library. I hope someone find a solution to that problem before Wheezy
11399 is frozen. An alternative would be for us to rewrite wpad-extract to
11400 use some other javascript library currently working in Wheezy, but no
11401 known alternative is known at the moment.</p>
11402
11403 <p>This automatic proxy system allow the roaming workstation (aka
11404 laptop) setup in Debian Edu/Squeeze to use the proxy when the laptop
11405 is connected to the backbone network in a Debian Edu setup, and to
11406 automatically use any proxy present and announced using the WPAD
11407 feature when it is connected to other networks. And if no proxy is
11408 announced, direct connections will be used instead.</p>
11409
11410 <p>Silently using a proxy announced on the network might be a privacy
11411 or security problem. But those controlling DHCP and DNS on a network
11412 could just as easily set up a transparent proxy, and force all HTTP
11413 and FTP connections to use a proxy anyway, so I consider that
11414 distinction to be academic. If you are afraid of using the wrong
11415 proxy, you should avoid connecting to the network in question in the
11416 first place. In Debian Edu, the proxy setup is updated using dhcp and
11417 ifupdown hooks, to make sure the configuration is updated every time
11418 the network setup changes.</p>
11419
11420 <p>The WPAD system is documented in a
11421 <a href="http://tools.ietf.org/html/draft-ietf-wrec-wpad-01">IETF
11422 draft</a> and a
11423 <a href="http://en.wikipedia.org/wiki/Web_Proxy_Autodiscovery_Protocol">Wikipedia
11424 page</a> for those that want to learn more.</p>
11425
11426 </div>
11427 <div class="tags">
11428
11429
11430 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>.
11431
11432
11433 </div>
11434 </div>
11435 <div class="padding"></div>
11436
11437 <div class="entry">
11438 <div class="title">
11439 <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>
11440 </div>
11441 <div class="date">
11442 5th February 2012
11443 </div>
11444 <div class="body">
11445 <p>Since the Lenny version of
11446 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a>, a
11447 feature to save power have been included. It is as simple as it is
11448 practical: Shut down unused clients at night, and turn them on again
11449 in the morning. This is done using the
11450 <a href="http://packages.qa.debian.org/s/shutdown-at-night.html">shutdown-at-night</a> Debian package.</p>
11451
11452 <p>To enable this feature on a client, the machine need to be added to
11453 the netgroup shutdown-at-night-hosts. For Debian Edu, this is done in
11454 LDAP, and once this is in place, the machine in question will check
11455 every hour from 16:00 until 06:00 to see if the machine is unused, and
11456 shut it down if it is. If the hardware in question is supported by
11457 the
11458 <a href="http://packages.qa.debian.org/n/nvram-wakeup.html">nvram-wakeup</a>
11459 package, the BIOS is told to turn the machine back on around 07:00 +-
11460 10 minutes. If this isn't working, one can configure wake-on-lan to
11461 try to turn on the client. The wake-on-lan option is only documented
11462 and not enabled by default in Debian Edu.</p>
11463
11464 <p>It is important to not turn all machines on at once, as this can
11465 blow a fuse if several computers are connected to the same fuse like
11466 the common setup for a classroom. The nvram-wakeup method only work
11467 for machines with a functioning hardware/BIOS clock. I've seen old
11468 machines where the BIOS battery were dead and the hardware clock were
11469 starting from 0 (or was it 1990?) every boot. If you have one of
11470 those, you have to turn on the computer manually.</p>
11471
11472 <p>The shutdown-at-night package is completely self contained, and can
11473 also be used outside the Debian Edu environment. For those without a
11474 central LDAP server with netgroups, one can instead touch the file
11475 <tt>/etc/shutdown-at-night/shutdown-at-night</tt> to enable it.
11476 Perhaps you too can use it to save some power?</p>
11477
11478 </div>
11479 <div class="tags">
11480
11481
11482 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>.
11483
11484
11485 </div>
11486 </div>
11487 <div class="padding"></div>
11488
11489 <div class="entry">
11490 <div class="title">
11491 <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>
11492 </div>
11493 <div class="date">
11494 4th February 2012
11495 </div>
11496 <div class="body">
11497 <p>I am happy to announce that finally we managed today to wrap up and
11498 publish the third beta version of
11499 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> based
11500 on Squeeze. If you want to test a LDAP backed Kerberos server with
11501 out of the box PXE configuration for running diskless machines and
11502 installing new machines, check it out. If you need a software
11503 solution for your school, check it out too. The full announcement is
11504 <a href="http://lists.debian.org/debian-edu-announce/2012/02/msg00000.html">available</a>
11505 on the project announcement list.</p>
11506
11507 <p>I am very happy to report these changes and improvements since
11508 beta2 (there are more, see announcement for full list):</p>
11509
11510 <ul>
11511
11512 <li>It is now possible to change the pre-configured IP subnet from
11513 10.0.0.0/8 to something else by using the subnet-change tool after
11514 the installation.</li>
11515
11516 <li>Too full partitions are now automatically extended on the Main
11517 Server, based on the rules specified in /etc/fsautoresizetab.</li>
11518
11519 <li>The CUPS queues are now automatically flushed every night, and all
11520 disabled queues are restarted every hour. This should cut down on
11521 the amount of manual administration needed for printers.</li>
11522
11523 <li>The set of initial users have been changed. Now a personal user
11524 for the local system administrator is created during installation
11525 instead of the previously created localadmin and super-admin users,
11526 and this user is granted administrative privileges using group
11527 membership. This reduces the number of passwords one need to keep
11528 up to date on the system.</li>
11529
11530 </ul>
11531
11532 <p>The new main server seem to work so well that I am testing it as my
11533 private DNS/LDAP/Kerberos/PXE/LTSP server at home. I will use it look
11534 for issues we could fix to polish Debian Edu even further before the
11535 final Squeeze release is published.</p>
11536
11537 <p>Next weekend the project organise a
11538 <a href="http://lists.debian.org/debian-edu-announce/2012/01/msg00001.html">developer
11539 gathering</a> in Oslo. We will continue the work on the Squeeze
11540 version, and start initial planning for the Wheezy version. Perhaps I
11541 will see you there?</p>
11542
11543 </div>
11544 <div class="tags">
11545
11546
11547 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>.
11548
11549
11550 </div>
11551 </div>
11552 <div class="padding"></div>
11553
11554 <div class="entry">
11555 <div class="title">
11556 <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>
11557 </div>
11558 <div class="date">
11559 27th January 2012
11560 </div>
11561 <div class="body">
11562 <p>With some computer hardware, one need non-free firmware blobs.
11563 This is the sad fact of todays computers. In the next version of
11564 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> based
11565 on Squeeze, we provide several scripts and modifications to make
11566 firmware blobs easier to handle. The common use case I run into is a
11567 laptop with a wireless network card requiring non-free firmware to
11568 work, but there are other use cases as well.</p>
11569
11570 <p>First and foremost, Debian Edu provide ISO images for DVD and CD
11571 with all firmware packages in the Debian sections main and non-free
11572 included, to ensure debian-installer find and can install all of them
11573 during installation. This take care firmware for network devices used
11574 by the installer when installing from from local media. But for
11575 example multimedia devices are not activated in the installer and are
11576 not taken care of by this.</p>
11577
11578 <p>For non-network devices, we provide the script
11579 <tt>/usr/share/debian-edu-config/tools/auto-addfirmware</tt> which
11580 search through the <tt>dmesg</tt> output for drivers requesting extra
11581 firmware. The firmware file name is looked up in the Contents-ARCH.gz
11582 file available in the package repository, and the packages providing
11583 the requested firmware file(s) is installed. I have proposed to do
11584 something similar in debian-installer (BTS report
11585 <a href="http://bugs.debian.org/655507">#655507</a>), to allow PXE
11586 installs of Debian to handle firmware installation better. Run the
11587 script as root from the command line to fetch and install the needed
11588 firmware packages.</p>
11589
11590 <p>Debian Edu provide PXE installation of Debian out of the box, and
11591 because some machines need firmware to get their network cards
11592 working, the installation initrd some times need extra firmware
11593 included to be able to install at all. To fill the PXE installation
11594 initrd with extra firmware, the
11595 <tt>/usr/share/debian-edu-config/tools/pxe-addfirmware</tt> script is
11596 provided. Again, just run it as root on the command line to fill the
11597 PXE initrd with firmware packages.</p>
11598
11599 <p>Last, some LTSP clients might also need firmware to get their
11600 network cards working. For this,
11601 <tt>/usr/share/debian-edu-config/tools/ltsp-addfirmware</tt> is
11602 provided to update the LTSP initrd with firmware blobs. It is used
11603 the same way as the other firmware related tools.</p>
11604
11605 <p>At the moment, we do not run any of these during installation. We
11606 do not know if this is acceptable for the local administrator to use
11607 non-free software, and it is their choice.</p>
11608
11609 <p>We plan to release beta3 this weekend. You might want to give it a
11610 try.</p>
11611
11612 </div>
11613 <div class="tags">
11614
11615
11616 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>.
11617
11618
11619 </div>
11620 </div>
11621 <div class="padding"></div>
11622
11623 <div class="entry">
11624 <div class="title">
11625 <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>
11626 </div>
11627 <div class="date">
11628 25th January 2012
11629 </div>
11630 <div class="body">
11631 <p>The next version of <a href="http://www.skolelinux.org/">Debian Edu
11632 / Skolelinux</a> will include a new tool
11633 <tt>sitesummary2ldapdhcp</tt>, which can be used to quickly set up all
11634 the computers in a school without much manual labour. Here is a short
11635 summary on how to use it to set up a new school.</p>
11636
11637 <p>First, install a combined Main Server and Thin Client Server as the
11638 central server in the network. Next, PXE boot all the client machines
11639 as thin clients and wait 5 minutes after the last client booted to
11640 allow the clients to report their existence to the central server. When
11641 this is done, log on to the central server and run
11642 <tt>sitesummary2ldapdhcp -a</tt> in the <tt>konsole</tt> to use the
11643 collected information to generate system objects in LDAP. The output
11644 will look similar to this:</p>
11645
11646 <p><blockquote><pre>
11647 % sitesummary2ldapdhcp -a
11648 info: Updating machine tjener.intern [10.0.2.2] id ether-00:01:02:03:04:05.
11649 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.
11650
11651 Enter password if you want to activate these changes, and ^c to abort.
11652
11653 Connecting to LDAP as cn=admin,ou=ldap-access,dc=skole,dc=skolelinux,dc=no
11654 enter password: *******
11655 %
11656 </pre></blockquote></p>
11657
11658 <p>After providing the LDAP administrative password (the same as the
11659 root password set during installation), the LDAP database will be
11660 populated with system objects for each PXE booted machine with
11661 automatically generated names. The final step to set up the school is
11662 then to log into <a href="https://oss.gonicus.de/labs/gosa/">GOsa</a>,
11663 the web based user, group and system administration system to change
11664 system names, add systems to the correct host groups and finally
11665 enable DHCP and DNS for the systems. All clients that should be used
11666 as diskless workstations should be added to the workstation-hosts
11667 group. After this is done, all computers can be booted again via PXE
11668 and get their assigned names and group based configuration
11669 automatically.</p>
11670
11671 <p>We plan to release beta3 with the updated version of this feature
11672 enabled this weekend. You might want to give it a try.</p>
11673
11674 <p>Update 2012-01-28: When calling sitesummary2ldapdhcp to add new
11675 hosts, one need to add the option -a. I forgot to mention this in my
11676 original text, and have added it to the text now.</p>
11677
11678 </div>
11679 <div class="tags">
11680
11681
11682 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>.
11683
11684
11685 </div>
11686 </div>
11687 <div class="padding"></div>
11688
11689 <div class="entry">
11690 <div class="title">
11691 <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>
11692 </div>
11693 <div class="date">
11694 10th January 2012
11695 </div>
11696 <div class="body">
11697 <p>In the Squeeze version of
11698 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> soon
11699 to be released, users of the system will get their default browser
11700 start page set from LDAP, allowing the system administrator to point
11701 all users to the school web page by updating one setting in LDAP. In
11702 addition to setting the default start page when a machine boots, users
11703 are shown the same page as a welcome page when they log in for the
11704 first time.</p>
11705
11706 <p>The LDAP object dc=skole,dc=skolelinux,dc=no have an attribute
11707 labeledURI with "http://www/ LDAP for Debian Edu/Skolelinux" as the
11708 default content. By changing this value to another URL, all users get
11709 to see the page behind this new URL.</p>
11710
11711 <p>An easy way to update it is by using the ldapvi tool. It can be
11712 called as "<tt>ldapvi -ZD '(cn=admin)'</tt>' to update LDAP with the
11713 new setting.</p>
11714
11715 <p>We have written the code to adjust the default start page and show
11716 the welcome page, and I wonder if there is an easier way to do this
11717 from within Iceweasel instead.</p>
11718
11719 </div>
11720 <div class="tags">
11721
11722
11723 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>.
11724
11725
11726 </div>
11727 </div>
11728 <div class="padding"></div>
11729
11730 <div class="entry">
11731 <div class="title">
11732 <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>
11733 </div>
11734 <div class="date">
11735 7th January 2012
11736 </div>
11737 <div class="body">
11738 <p>I am happy to announce that today we managed to wrap up and publish
11739 the second beta version of
11740 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a>. If
11741 you want to test a LDAP backed Kerberos server with out of the box PXE
11742 configuration for running diskless machines and installing new
11743 machines, check it out. If you need a software solution for your
11744 school, check it out too. The full announcement is
11745 <a href="http://lists.debian.org/debian-edu-announce/2012/01/msg00000.html">available</a>
11746 on the project announcement list.</p>
11747
11748 </div>
11749 <div class="tags">
11750
11751
11752 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>.
11753
11754
11755 </div>
11756 </div>
11757 <div class="padding"></div>
11758
11759 <div class="entry">
11760 <div class="title">
11761 <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>
11762 </div>
11763 <div class="date">
11764 3rd January 2012
11765 </div>
11766 <div class="body">
11767 <p>During christmas, I have been working getting the next version of
11768 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> ready
11769 for release. The initial problem I looked at was particularly
11770 interesting.</p>
11771
11772 <P>The installer would hang at the end when it was doing it
11773 post-installation configuration, and whatevery I did to try to find
11774 the cause and fix it always worked while I tested it, but never when I
11775 integrated it into the installer and ran the installation from
11776 scratch. I would try to restart processes, close file descriptors,
11777 remove or create files, and the installer would always unblock and
11778 wrap up its tasks.</p>
11779
11780 <p>Eventually the cause was found. The kernel was simply running out
11781 of entropy, causing the Kerberos setup to hang waiting for more.
11782 Pressing keys was adding entropy to the kernel, and thus all my tries
11783 to fix the problem worked not because what I was typing to fix it, but
11784 because I was typing.</P>
11785
11786 <p>The fix I implemented was to add a background process looking at
11787 the level of entropy in the kernel (by checking
11788 /proc/sys/kernel/random/entropy_avail), and if it was too small, the
11789 installer will flush the kernel file buffers and do 'find /' to
11790 generate some disk IO. Disk IO generate entropy in the kernel, and is
11791 one of the few things that can be initated from within the system to
11792 generate entropy.</p>
11793
11794 <p>The fix is in
11795 <a href="http://wiki.debian.org/DebianEdu/Documentation/Squeeze/Installation">beta1
11796 of the Debian Edu/Squeeze</a> version, and we
11797 <a href="http://wiki.debian.org/DebianEdu">welcome more testers and
11798 developers</a>. We plan to release beta2 this weekend.</p>
11799
11800 </div>
11801 <div class="tags">
11802
11803
11804 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>.
11805
11806
11807 </div>
11808 </div>
11809 <div class="padding"></div>
11810
11811 <div class="entry">
11812 <div class="title">
11813 <a href="http://people.skolelinux.org/pere/blog/Automatically_upgrading_server_firmware_on_Dell_PowerEdge.html">Automatically upgrading server firmware on Dell PowerEdge</a>
11814 </div>
11815 <div class="date">
11816 21st November 2011
11817 </div>
11818 <div class="body">
11819 <p>At work we have heaps of servers. I believe the total count is
11820 around 1000 at the moment. To be able to get help from the vendors
11821 when something go wrong, we want to keep the firmware on the servers
11822 up to date. If the firmware isn't the latest and greatest, the
11823 vendors typically refuse to start debugging any problems until the
11824 firmware is upgraded. So before every reboot, we want to upgrade the
11825 firmware, and we would really like everyone handling servers at the
11826 university to do this themselves when they plan to reboot a machine.
11827 For that to happen we at the unix server admin group need to provide
11828 the tools to do so.</p>
11829
11830 <p>To make firmware upgrading easier, I am working on a script to
11831 fetch and install the latest firmware for the servers we got. Most of
11832 our hardware are from Dell and HP, so I have focused on these servers
11833 so far. This blog post is about the Dell part.</P>
11834
11835 <p>On the Dell FTP site I was lucky enough to find
11836 <a href="ftp://ftp.us.dell.com/catalog/Catalog.xml.gz">an XML file</a>
11837 with firmware information for all 11th generation servers, listing
11838 which firmware should be used on a given model and where on the FTP
11839 site I can find it. Using a simple perl XML parser I can then
11840 download the shell scripts Dell provides to do firmware upgrades from
11841 within Linux and reboot when all the firmware is primed and ready to
11842 be activated on the first reboot.</p>
11843
11844 <p>This is the Dell related fragment of the perl code I am working on.
11845 Are there anyone working on similar tools for firmware upgrading all
11846 servers at a site? Please get in touch and lets share resources.</p>
11847
11848 <p><pre>
11849 #!/usr/bin/perl
11850 use strict;
11851 use warnings;
11852 use File::Temp qw(tempdir);
11853 BEGIN {
11854 # Install needed RHEL packages if missing
11855 my %rhelmodules = (
11856 'XML::Simple' => 'perl-XML-Simple',
11857 );
11858 for my $module (keys %rhelmodules) {
11859 eval "use $module;";
11860 if ($@) {
11861 my $pkg = $rhelmodules{$module};
11862 system("yum install -y $pkg");
11863 eval "use $module;";
11864 }
11865 }
11866 }
11867 my $errorsto = 'pere@hungry.com';
11868
11869 upgrade_dell();
11870
11871 exit 0;
11872
11873 sub run_firmware_script {
11874 my ($opts, $script) = @_;
11875 unless ($script) {
11876 print STDERR "fail: missing script name\n";
11877 exit 1
11878 }
11879 print STDERR "Running $script\n\n";
11880
11881 if (0 == system("sh $script $opts")) { # FIXME correct exit code handling
11882 print STDERR "success: firmware script ran succcessfully\n";
11883 } else {
11884 print STDERR "fail: firmware script returned error\n";
11885 }
11886 }
11887
11888 sub run_firmware_scripts {
11889 my ($opts, @dirs) = @_;
11890 # Run firmware packages
11891 for my $dir (@dirs) {
11892 print STDERR "info: Running scripts in $dir\n";
11893 opendir(my $dh, $dir) or die "Unable to open directory $dir: $!";
11894 while (my $s = readdir $dh) {
11895 next if $s =~ m/^\.\.?/;
11896 run_firmware_script($opts, "$dir/$s");
11897 }
11898 closedir $dh;
11899 }
11900 }
11901
11902 sub download {
11903 my $url = shift;
11904 print STDERR "info: Downloading $url\n";
11905 system("wget --quiet \"$url\"");
11906 }
11907
11908 sub upgrade_dell {
11909 my @dirs;
11910 my $product = `dmidecode -s system-product-name`;
11911 chomp $product;
11912
11913 if ($product =~ m/PowerEdge/) {
11914
11915 # on RHEL, these pacakges are needed by the firwmare upgrade scripts
11916 system('yum install -y compat-libstdc++-33.i686 libstdc++.i686 libxml2.i686 procmail');
11917
11918 my $tmpdir = tempdir(
11919 CLEANUP => 1
11920 );
11921 chdir($tmpdir);
11922 fetch_dell_fw('catalog/Catalog.xml.gz');
11923 system('gunzip Catalog.xml.gz');
11924 my @paths = fetch_dell_fw_list('Catalog.xml');
11925 # -q is quiet, disabling interactivity and reducing console output
11926 my $fwopts = "-q";
11927 if (@paths) {
11928 for my $url (@paths) {
11929 fetch_dell_fw($url);
11930 }
11931 run_firmware_scripts($fwopts, $tmpdir);
11932 } else {
11933 print STDERR "error: Unsupported Dell model '$product'.\n";
11934 print STDERR "error: Please report to $errorsto.\n";
11935 }
11936 chdir('/');
11937 } else {
11938 print STDERR "error: Unsupported Dell model '$product'.\n";
11939 print STDERR "error: Please report to $errorsto.\n";
11940 }
11941 }
11942
11943 sub fetch_dell_fw {
11944 my $path = shift;
11945 my $url = "ftp://ftp.us.dell.com/$path";
11946 download($url);
11947 }
11948
11949 # Using ftp://ftp.us.dell.com/catalog/Catalog.xml.gz, figure out which
11950 # firmware packages to download from Dell. Only work for Linux
11951 # machines and 11th generation Dell servers.
11952 sub fetch_dell_fw_list {
11953 my $filename = shift;
11954
11955 my $product = `dmidecode -s system-product-name`;
11956 chomp $product;
11957 my ($mybrand, $mymodel) = split(/\s+/, $product);
11958
11959 print STDERR "Finding firmware bundles for $mybrand $mymodel\n";
11960
11961 my $xml = XMLin($filename);
11962 my @paths;
11963 for my $bundle (@{$xml->{SoftwareBundle}}) {
11964 my $brand = $bundle->{TargetSystems}->{Brand}->{Display}->{content};
11965 my $model = $bundle->{TargetSystems}->{Brand}->{Model}->{Display}->{content};
11966 my $oscode;
11967 if ("ARRAY" eq ref $bundle->{TargetOSes}->{OperatingSystem}) {
11968 $oscode = $bundle->{TargetOSes}->{OperatingSystem}[0]->{osCode};
11969 } else {
11970 $oscode = $bundle->{TargetOSes}->{OperatingSystem}->{osCode};
11971 }
11972 if ($mybrand eq $brand && $mymodel eq $model && "LIN" eq $oscode)
11973 {
11974 @paths = map { $_->{path} } @{$bundle->{Contents}->{Package}};
11975 }
11976 }
11977 for my $component (@{$xml->{SoftwareComponent}}) {
11978 my $componenttype = $component->{ComponentType}->{value};
11979
11980 # Drop application packages, only firmware and BIOS
11981 next if 'APAC' eq $componenttype;
11982
11983 my $cpath = $component->{path};
11984 for my $path (@paths) {
11985 if ($cpath =~ m%/$path$%) {
11986 push(@paths, $cpath);
11987 }
11988 }
11989 }
11990 return @paths;
11991 }
11992 </pre>
11993
11994 <p>The code is only tested on RedHat Enterprise Linux, but I suspect
11995 it could work on other platforms with some tweaking. Anyone know a
11996 index like Catalog.xml is available from HP for HP servers? At the
11997 moment I maintain a similar list manually and it is quickly getting
11998 outdated.</p>
11999
12000 </div>
12001 <div class="tags">
12002
12003
12004 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>.
12005
12006
12007 </div>
12008 </div>
12009 <div class="padding"></div>
12010
12011 <div class="entry">
12012 <div class="title">
12013 <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>
12014 </div>
12015 <div class="date">
12016 7th October 2011
12017 </div>
12018 <div class="body">
12019 <p>Here in Norway the public libraries are debating with the
12020 publishing houses how to handle electronic books. Surprisingly, the
12021 libraries seem to be willing to accept digital restriction mechanisms
12022 (DRM) on books and renting e-books with artificial scarcity from the
12023 publishing houses. Time limited renting (2-3 years) is one proposed
12024 model, and only allowing X borrowers for each book is another.
12025 Personally I find it amazing that libraries are even considering such
12026 models.</p>
12027
12028 <p>Anyway, while reading <a href="http://boklaben.no/?p=220">part of
12029 this debate</a>, it occurred to me that someone should present a more
12030 sensible approach to the libraries, to allow its borrowers to get used
12031 to a better model. The idea is simple:</p>
12032
12033 <p>Create a computer system for the libraries, either in the form of a
12034 Live DVD or a installable distribution, that provide a simple kiosk
12035 solution to hand out free e-books. As a start, the books distributed
12036 by <a href="http://www.gutenberg.org/">Project Gutenberg</a> (about
12037 36,000 books), <a href="http://runeberg.org/">Project Runenberg</a>
12038 (1149 books) and <a href="http://www.archive.org/details/texts">The
12039 Internet Archive</a> (3,033,748 books) could be included, but any book
12040 where the copyright has expired or with a free licence could be
12041 distributed.</p>
12042
12043 <p>The computer system would make it easy to:</p>
12044
12045 <ul>
12046
12047 <li>Copy e-books into a USB stick, reading tablets, cell phones and
12048 other relevant equipment.</li>
12049
12050 <li>Show the books for reading on the the screen in the library.</li>
12051
12052 </ul>
12053
12054 <p>In addition to such kiosk solution, there should probably be a web
12055 site as well to allow people easy access to these books without
12056 visiting the library. The site would be the distribution point for
12057 the kiosk systems, which would connect regularly to fetch any new
12058 books available.</p>
12059
12060 <p>Are there anyone working on a system like this? I guess it would
12061 fit any library in the world, and not just the Norwegian public
12062 libraries. :)</p>
12063
12064 </div>
12065 <div class="tags">
12066
12067
12068 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>.
12069
12070
12071 </div>
12072 </div>
12073 <div class="padding"></div>
12074
12075 <div class="entry">
12076 <div class="title">
12077 <a href="http://people.skolelinux.org/pere/blog/Ripping_problematic_DVDs_using_dvdbackup_and_genisoimage.html">Ripping problematic DVDs using dvdbackup and genisoimage</a>
12078 </div>
12079 <div class="date">
12080 17th September 2011
12081 </div>
12082 <div class="body">
12083 <p>For convenience, I want to store copies of all my DVDs on my file
12084 server. It allow me to save shelf space flat while still having my
12085 movie collection easily available. It also make it possible to let
12086 the kids see their favourite DVDs without wearing the physical copies
12087 down. I prefer to store the DVDs as ISOs to keep the DVD menu and
12088 subtitle options intact. It also ensure that the entire film is one
12089 file on the disk. As this is for personal use, the ripping is
12090 perfectly legal here in Norway.</p>
12091
12092 <p>Normally I rip the DVDs using dd like this:</p>
12093
12094 <blockquote><pre>
12095 #!/bin/sh
12096 # apt-get install lsdvd
12097 title=$(lsdvd 2>/dev/null|awk '/Disc Title: / {print $3}')
12098 dd if=/dev/dvd of=/storage/dvds/$title.iso bs=1M
12099 </pre></blockquote>
12100
12101 <p>But some DVDs give a input/output error when I read it, and I have
12102 been looking for a better alternative. I have no idea why this I/O
12103 error occur, but suspect my DVD drive, the Linux kernel driver or
12104 something fishy with the DVDs in question. Or perhaps all three.</p>
12105
12106 <p>Anyway, I believe I found a solution today using dvdbackup and
12107 genisoimage. This script gave me a working ISO for a problematic
12108 movie by first extracting the DVD file system and then re-packing it
12109 back as an ISO.
12110
12111 <blockquote><pre>
12112 #!/bin/sh
12113 # apt-get install lsdvd dvdbackup genisoimage
12114 set -e
12115 tmpdir=/storage/dvds/
12116 title=$(lsdvd 2>/dev/null|awk '/Disc Title: / {print $3}')
12117 dvdbackup -i /dev/dvd -M -o $tmpdir -n$title
12118 genisoimage -dvd-video -o $tmpdir/$title.iso $tmpdir/$title
12119 rm -rf $tmpdir/$title
12120 </pre></blockquote>
12121
12122 <p>Anyone know of a better way available in Debian/Squeeze?</p>
12123
12124 <p>Update 2011-09-18: I got a tip from Konstantin Khomoutov about the
12125 readom program from the wodim package. It is specially written to
12126 read optical media, and is called like this: <tt>readom dev=/dev/dvd
12127 f=image.iso</tt>. It got 6 GB along with the problematic Cars DVD
12128 before it failed, and failed right away with a Timmy Time DVD.</p>
12129
12130 <p>Next, I got a tip from Bastian Blank about
12131 <a href="http://bblank.thinkmo.de/blog/new-software-python-dvdvideo">his
12132 program python-dvdvideo</a>, which seem to be just what I am looking
12133 for. Tested it with my problematic Timmy Time DVD, and it succeeded
12134 creating a ISO image. The git source built and installed just fine in
12135 Squeeze, so I guess this will be my tool of choice in the future.</p>
12136
12137 </div>
12138 <div class="tags">
12139
12140
12141 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>.
12142
12143
12144 </div>
12145 </div>
12146 <div class="padding"></div>
12147
12148 <div class="entry">
12149 <div class="title">
12150 <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>
12151 </div>
12152 <div class="date">
12153 4th August 2011
12154 </div>
12155 <div class="body">
12156 <p>Wouter Verhelst have some
12157 <a href="http://grep.be/blog/en/retorts/pere_kubuntu_boot">interesting
12158 comments and opinions</a> on my blog post on
12159 <a href="http://people.skolelinux.org/pere/blog/What_should_start_from__etc_rcS_d__in_Debian____almost_nothing.html">the
12160 need to clean up /etc/rcS.d/ in Debian</a> and my blog post about
12161 <a href="http://people.skolelinux.org/pere/blog/What_is_missing_in_the_Debian_desktop__or_why_my_parents_use_Kubuntu.html">the
12162 default KDE desktop in Debian</a>. I only have time to address one
12163 small piece of his comment now, and though it best to address the
12164 misunderstanding he bring forward:</p>
12165
12166 <p><blockquote>
12167 Currently, a system admin has four options: [...] boot to a
12168 single-user system (by adding 'single' to the kernel command line;
12169 this runs rcS and rc1 scripts)
12170 </blockquote></p>
12171
12172 <p>This make me believe Wouter believe booting into single user mode
12173 and booting into runlevel 1 is the same. I am not surprised he
12174 believe this, because it would make sense and is a quite sensible
12175 thing to believe. But because the boot in Debian is slightly broken,
12176 runlevel 1 do not work properly and it isn't the same as single user
12177 mode. I'll try to explain what is actually happing, but it is a bit
12178 hard to explain.</p>
12179
12180 <p>Single user mode is defined like this in /etc/inittab:
12181 "<tt>~~:S:wait:/sbin/sulogin</tt>". This means the only thing that is
12182 executed in single user mode is sulogin. Single user mode is a boot
12183 state "between" the runlevels, and when booting into single user mode,
12184 only the scripts in /etc/rcS.d/ are executed before the init process
12185 enters the single user state. When switching to runlevel 1, the state
12186 is in fact not ending in runlevel 1, but it passes through runlevel 1
12187 and end up in the single user mode (see /etc/rc1.d/S03single, which
12188 runs "init -t1 S" to switch to single user mode at the end of runlevel
12189 1. It is confusing that the 'S' (single user) init mode is not the
12190 mode enabled by /etc/rcS.d/ (which is more like the initial boot
12191 mode).</p>
12192
12193 <p>This summary might make it clearer. When booting for the first
12194 time into single user mode, the following commands are executed:
12195 "<tt>/etc/init.d/rc S; /sbin/sulogin</tt>". When booting into
12196 runlevel 1, the following commands are executed: "<tt>/etc/init.d/rc
12197 S; /etc/init.d/rc 1; /sbin/sulogin</tt>". A problem show up when
12198 trying to continue after visiting single user mode. Not all services
12199 are started again as they should, causing the machine to end up in an
12200 unpredicatble state. This is why Debian admins recommend rebooting
12201 after visiting single user mode.</p>
12202
12203 <p>A similar problem with runlevel 1 is caused by the amount of
12204 scripts executed from /etc/rcS.d/. When switching from say runlevel 2
12205 to runlevel 1, the services started from /etc/rcS.d/ are not properly
12206 stopped when passing through the scripts in /etc/rc1.d/, and not
12207 started again when switching away from runlevel 1 to the runlevels
12208 2-5. I believe the problem is best fixed by moving all the scripts
12209 out of /etc/rcS.d/ that are not <strong>required</strong> to get a
12210 functioning single user mode during boot.</p>
12211
12212 <p>I have spent several years investigating the Debian boot system,
12213 and discovered this problem a few years ago. I suspect it originates
12214 from when sysvinit was introduced into Debian, a long time ago.</p>
12215
12216 </div>
12217 <div class="tags">
12218
12219
12220 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>.
12221
12222
12223 </div>
12224 </div>
12225 <div class="padding"></div>
12226
12227 <div class="entry">
12228 <div class="title">
12229 <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>
12230 </div>
12231 <div class="date">
12232 30th July 2011
12233 </div>
12234 <div class="body">
12235 <p>In the Debian boot system, several packages include scripts that
12236 are started from /etc/rcS.d/. In fact, there is a bite more of them
12237 than make sense, and this causes a few problems. What kind of
12238 problems, you might ask. There are at least two problems. The first
12239 is that it is not possible to recover a machine after switching to
12240 runlevel 1. One need to actually reboot to get the machine back to
12241 the expected state. The other is that single user boot will sometimes
12242 run into problems because some of the subsystems are activated before
12243 the root login is presented, causing problems when trying to recover a
12244 machine from a problem in that subsystem. A minor additional point is
12245 that moving more scripts out of rcS.d/ and into the other rc#.d/
12246 directories will increase the amount of scripts that can run in
12247 parallel during boot, and thus decrease the boot time.</p>
12248
12249 <p>So, which scripts should start from rcS.d/. In short, only the
12250 scripts that _have_ to execute before the root login prompt is
12251 presented during a single user boot should go there. Everything else
12252 should go into the numeric runlevels. This means things like
12253 lm-sensors, fuse and x11-common should not run from rcS.d, but from
12254 the numeric runlevels. Today in Debian, there are around 115 init.d
12255 scripts that are started from rcS.d/, and most of them should be moved
12256 out. Do your package have one of them? Please help us make single
12257 user and runlevel 1 better by moving it.</p>
12258
12259 <p>Scripts setting up the screen, keyboard, system partitions
12260 etc. should still be started from rcS.d/, but there is for example no
12261 need to have the network enabled before the single user login prompt
12262 is presented.</p>
12263
12264 <p>As always, things are not so easy to fix as they sound. To keep
12265 Debian systems working while scripts migrate and during upgrades, the
12266 scripts need to be moved from rcS.d/ to rc2.d/ in reverse dependency
12267 order, ie the scripts that nothing in rcS.d/ depend on can be moved,
12268 and the next ones can only be moved when their dependencies have been
12269 moved first. This migration must be done sequentially while we ensure
12270 that the package system upgrade packages in the right order to keep
12271 the system state correct. This will require some coordination when it
12272 comes to network related packages, but most of the packages with
12273 scripts that should migrate do not have anything in rcS.d/ depending
12274 on them. Some packages have already been updated, like the sudo
12275 package, while others are still left to do. I wish I had time to work
12276 on this myself, but real live constrains make it unlikely that I will
12277 find time to push this forward.</p>
12278
12279 </div>
12280 <div class="tags">
12281
12282
12283 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>.
12284
12285
12286 </div>
12287 </div>
12288 <div class="padding"></div>
12289
12290 <div class="entry">
12291 <div class="title">
12292 <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>
12293 </div>
12294 <div class="date">
12295 29th July 2011
12296 </div>
12297 <div class="body">
12298 <p>While at Debconf11, I have several times during discussions
12299 mentioned the issues I believe should be improved in Debian for its
12300 desktop to be useful for more people. The use case for this is my
12301 parents, which are currently running Kubuntu which solve the
12302 issues.</p>
12303
12304 <p>I suspect these four missing features are not very hard to
12305 implement. After all, they are present in Ubuntu, so if we wanted to
12306 do this in Debian we would have a source.</p>
12307
12308 <ol>
12309
12310 <li><strong>Simple GUI based upgrade of packages.</strong> When there
12311 are new packages available for upgrades, a icon in the KDE status bar
12312 indicate this, and clicking on it will activate the simple upgrade
12313 tool to handle it. I have no problem guiding both of my parents
12314 through the process over the phone. If a kernel reboot is required,
12315 this too is indicated by the status bars and the upgrade tool. Last
12316 time I checked, nothing with the same features was working in KDE in
12317 Debian.</li>
12318
12319 <li><strong>Simple handling of missing Firefox browser
12320 plugins.</strong> When the browser encounter a MIME type it do not
12321 currently have a handler for, it will ask the user if the system
12322 should search for a package that would add support for this MIME type,
12323 and if the user say yes, the APT sources will be searched for packages
12324 advertising the MIME type in their control file (visible in the
12325 Packages file in the APT archive). If one or more packages are found,
12326 it is a simple click of the mouse to add support for the missing mime
12327 type. If the package require the user to accept some non-free
12328 license, this is explained to the user. The entire process make it
12329 more clear to the user why something do not work in the browser, and
12330 make the chances higher for the user to blame the web page authors and
12331 not the browser for any missing features.</li>
12332
12333 <li><strong>Simple handling of missing multimedia codec/format
12334 handlers.</strong> When the media players encounter a format or codec
12335 it is not supporting, a dialog pop up asking the user if the system
12336 should search for a package that would add support for it. This
12337 happen with things like MP3, Windows Media or H.264. The selection
12338 and installation procedure is very similar to the Firefox browser
12339 plugin handling. This is as far as I know implemented using a
12340 gstreamer hook. The end result is that the user easily get access to
12341 the codecs that are present from the APT archives available, while
12342 explaining more on why a given format is unsupported by Ubuntu.</li>
12343
12344 <li><strong>Better browser handling of some MIME types.</strong> When
12345 displaying a text/plain file in my Debian browser, it will propose to
12346 start emacs to show it. If I remember correctly, when doing the same
12347 in Kunbutu it show the file as a text file in the browser. At least I
12348 know Opera will show text files within the browser. I much prefer the
12349 latter behaviour.</li>
12350
12351 </ol>
12352
12353 <p>There are other nice features as well, like the simplified suite
12354 upgrader, but given that I am the one mostly doing the dist-upgrade,
12355 it do not matter much.</p>
12356
12357 <p>I really hope we could get these features in place for the next
12358 Debian release. It would require the coordinated effort of several
12359 maintainers, but would make the end user experience a lot better.</p>
12360
12361 </div>
12362 <div class="tags">
12363
12364
12365 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>.
12366
12367
12368 </div>
12369 </div>
12370 <div class="padding"></div>
12371
12372 <div class="entry">
12373 <div class="title">
12374 <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>
12375 </div>
12376 <div class="date">
12377 26th July 2011
12378 </div>
12379 <div class="body">
12380 <p>The Norwegian <a href="http://www.fiksgatami.no/">FiksGataMi</A>
12381 site is build on Debian/Squeeze, and this platform was chosen because
12382 I am most familiar with Debian (being a Debian Developer for around 10
12383 years) because it is the latest stable Debian release which should get
12384 security support for a few years.</p>
12385
12386 <p>The web service is written in Perl, and depend on some perl modules
12387 that are missing in Debian at the moment. It would be great if these
12388 modules were added to the Debian archive, allowing anyone to set up
12389 their own <a href="http://www.fixmystreet.com">FixMyStreet</a> clone
12390 in their own country using only Debian packages. The list of modules
12391 missing in Debian/Squeeze isn't very long, and I hope the perl group
12392 will find time to package the 12 modules Catalyst::Plugin::SmartURI,
12393 Catalyst::Plugin::Unicode::Encoding, Catalyst::View::TT, Devel::Hide,
12394 Sort::Key, Statistics::Distributions, Template::Plugin::Comma,
12395 Template::Plugin::DateTime::Format, Term::Size::Any, Term::Size::Perl,
12396 URI::SmartURI and Web::Scraper to make the maintenance of FixMyStreet
12397 easier in the future.</p>
12398
12399 <p>Thanks to the great tools in Debian, getting the missing modules
12400 installed on my server was a simple call to 'cpan2deb Module::Name'
12401 and 'dpkg -i' to install the resulting package. But this leave me
12402 with the responsibility of tracking security problems, which I really
12403 do not have time for.</p>
12404
12405 </div>
12406 <div class="tags">
12407
12408
12409 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>.
12410
12411
12412 </div>
12413 </div>
12414 <div class="padding"></div>
12415
12416 <div class="entry">
12417 <div class="title">
12418 <a href="http://people.skolelinux.org/pere/blog/Free_Software_vs__proprietary_softare___.html">Free Software vs. proprietary softare...</a>
12419 </div>
12420 <div class="date">
12421 20th June 2011
12422 </div>
12423 <div class="body">
12424 <p>Reading
12425 <a href="http://blog.thingiverse.com/2011/06/20/open-source-vs-closed-source-eulas/">the
12426 thingiverse blog</a>, I came across two highlights of interesting
12427 parts of the
12428 <a href="http://wiki.blender.org/index.php/Autodesk_EULA">Autodesk</a>
12429 and
12430 <a href="http://blog.makezine.com/archive/2011/06/things-you-cant-do-with-the-microsoft-kinect-sdk.html">Microsoft
12431 Kinect</a> End User License Agreements (EULAs), which illustrates
12432 quite well why I stay away from software with EULAs. Whenever I take
12433 the time to read their content, the terms are simply unacceptable.</p>
12434
12435 </div>
12436 <div class="tags">
12437
12438
12439 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>.
12440
12441
12442 </div>
12443 </div>
12444 <div class="padding"></div>
12445
12446 <div class="entry">
12447 <div class="title">
12448 <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>
12449 </div>
12450 <div class="date">
12451 30th April 2011
12452 </div>
12453 <div class="body">
12454 <p>Today, the first draft implementation of an
12455 <a href="http://www.open311.org/">Open311 API</a> for the Norwegian
12456 service <a href="http://www.fiksgatami.no/">FiksGataMi</a> started to
12457 work. It is only available on the developer server for now, and I
12458 have not tested it using any existing Open311 client (I lack the
12459 platforms needed to run the clients I have found so far), but it is
12460 able to query the database and extract a list of open and closed
12461 requests within a given category and reported to a given municipality.
12462 I believe that is a good start to create a useful service for those
12463 that want to do data mining on the requests submitted so far.</p>
12464
12465 <p>Where is it? Visit
12466 <a href="http://fiksgatami-dev.nuug.no/open311.cgi/v2/">http://fiksgatami-dev.nuug.no/open311.cgi/v2/</a>
12467 to have a look. Please send feedback to the
12468 <a href="http://lists.nuug.no/mailman/listinfo/fiksgatami">fiksgatami
12469 (at) nuug.no</a> mailing list.</p>
12470
12471 </div>
12472 <div class="tags">
12473
12474
12475 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>.
12476
12477
12478 </div>
12479 </div>
12480 <div class="padding"></div>
12481
12482 <div class="entry">
12483 <div class="title">
12484 <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>
12485 </div>
12486 <div class="date">
12487 29th April 2011
12488 </div>
12489 <div class="body">
12490 <p>The last few days I have spent some time trying to add support for
12491 the <a href="http://www.open311.org/">Open311 API</a> in the
12492 <a href="http://www.fiksgatami.no/">Norwegian FixMyStreet service</a>.
12493 Earlier I believed Open311 would be a useful API to use to submit
12494 reports to the municipalities, but when I noticed that the
12495 <a href="http://fixmystreet.org.nz/">New Zealand version</a> of
12496 FixMyStreet had implemented Open311 on the server side, it occurred to
12497 me that this was a nice way to allow the public, press and
12498 municipalities to do data mining directly in the FixMyStreet service.
12499 Thus I went to work implementing the Open311 specification for
12500 FixMyStreet. The implementation is not yet ready, but I am starting
12501 to get a draft limping along. In the process, I have discovered a few
12502 issues with the Open311 specification.</p>
12503
12504 <p>One obvious missing feature is the lack of natural language
12505 handling in the specification. The specification seem to assume all
12506 reports will be written in English, and do not provide a way for the
12507 receiving end to specify which languages are understood there. To be
12508 able to use the same client and submit to several Open311 receivers,
12509 it would be useful to know which language to use when writing reports.
12510 I believe the specification should be extended to allow the receivers
12511 of problem reports to specify which language they accept, and the
12512 submitter to specify which language the report is written in.
12513 Language of a text can also be automatically guessed using statistical
12514 methods, but for multi-lingual persons like myself, it is useful to
12515 know which language to use when writing a problem report. I suspect
12516 some lang=nb,nn kind of attribute would solve it.</p>
12517
12518 <p>A key part of the Open311 API is the list of services provided,
12519 which is similar to the categories used by FixMyStreet. One issue I
12520 run into is the need to specify both name and unique identifier for
12521 each category. The specification do not state that the identifier
12522 should be numeric, but all example implementations have used numbers
12523 here. In FixMyStreet, there is no number associated with each
12524 category. As the specification do not forbid it, I will use the name
12525 as the unique identifier for now and see how open311 clients handle
12526 it.</p>
12527
12528 <p>The report format in open311 and the report format in FixMyStreet
12529 differ in a key part. FixMyStreet have a title and a description,
12530 while Open311 only have a description and lack the title. I'm not
12531 quite sure how to best handle this yet. When asking for a FixMyStreet
12532 report in Open311 format, I just merge title an description into the
12533 open311 description, but this is not going to work if the open311 API
12534 should be used for submitting new reports to FixMyStreet.</p>
12535
12536 <p>The search feature in Open311 is missing a way to ask for problems
12537 near a geographic location. I believe this is important if one is to
12538 use Open311 as the query language for mobile units. The specification
12539 should be extended to handle this, probably using some new lat=, lon=
12540 and range= options.</p>
12541
12542 <p>The final challenge I see is that the FixMyStreet code handle
12543 several administrations in one interface, while the Open311 API seem
12544 to assume only one administration. For FixMyStreet, this mean a
12545 report can be sent to several administrations, and the categories
12546 available depend on the location of the problem. Not quite sure how
12547 to best handle this. I've noticed
12548 <a href="http://seeclickfix.com/open311/">SeeClickFix</a> added
12549 latitude and longitude options to the services request, but it do not
12550 solve the problem of what to return when no location is specified.
12551 Will have to investigate this a bit more.</p>
12552
12553 <p>My distaste for web forums have kept me from bringing these issues
12554 up with the open311 developer group. I really wish they had a email
12555 list available via <a href="http://www.gmane.org/">Gmane</a> to use for
12556 discussions instead of only
12557 <a href="http://lists.open311.org/groups/discuss">a forum<a/>. Oh,
12558 well. That will probably resolve itself, one way or another. I've
12559 also tried visiting the IRC channel #open311 on FreeNode, but no-one
12560 seem to reply to my questions there. This make me wonder if I just
12561 fail to understand how the open311 community work. It sure do not
12562 work like the free software project communities I am used to.</p>
12563
12564 </div>
12565 <div class="tags">
12566
12567
12568 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>.
12569
12570
12571 </div>
12572 </div>
12573 <div class="padding"></div>
12574
12575 <div class="entry">
12576 <div class="title">
12577 <a href="http://people.skolelinux.org/pere/blog/Gnash_enteres_Google_Summer_of_Code_2011.html">Gnash enteres Google Summer of Code 2011</a>
12578 </div>
12579 <div class="date">
12580 6th April 2011
12581 </div>
12582 <div class="body">
12583 <p><a href="http://www.getgnash.org/">The Gnash project</a> is still
12584 the most promising solution for a Free Software Flash implementation.
12585 A few days ago the project
12586 <a href="http://lists.gnu.org/archive/html/gnash-dev/2011-04/msg00011.html">announced</a>
12587 that it will participate in Google Summer of Code. I hope many
12588 students apply, and that some of them succeed in getting AVM2 support
12589 into Gnash.</p>
12590
12591 </div>
12592 <div class="tags">
12593
12594
12595 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>.
12596
12597
12598 </div>
12599 </div>
12600 <div class="padding"></div>
12601
12602 <div class="entry">
12603 <div class="title">
12604 <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>
12605 </div>
12606 <div class="date">
12607 3rd April 2011
12608 </div>
12609 <div class="body">
12610 <p>Here is a small update for my English readers. Most of my blog
12611 posts have been in Norwegian the last few weeks, so here is a short
12612 update in English.</p>
12613
12614 <p>The kids still keep me too busy to get much free software work
12615 done, but I did manage to organise a project to get a Norwegian port
12616 of the British service
12617 <a href="http://www.fixmystreet.com/">FixMyStreet</a> up and running,
12618 and it has been running for a month now. The entire project has been
12619 organised by me and two others. Around Christmas we gathered sponsors
12620 to fund the development work. In January I drafted a contract with
12621 <a href="http://www.mysociety.org/">mySociety</a> on what to develop,
12622 and in February the development took place. Most of it involved
12623 converting the source to use GPS coordinates instead of British
12624 easting/northing, and the resulting code should be a lot easier to get
12625 running in any country by now. The Norwegian
12626 <a href="http://www.fiksgatami.no/">FiksGataMi</a> is using
12627 <a href="http://www.openstreetmap.org/">OpenStreetmap</a> as the map
12628 source and the source for administrative borders in Norway, and
12629 support for this had to be added/fixed.</p>
12630
12631 <p>The Norwegian version went live March 3th, and we spent the weekend
12632 polishing the system before we announced it March 7th. The system is
12633 running on a KVM instance of Debian/Squeeze, and has seen almost 3000
12634 problem reports in a few weeks. Soon we hope to announce the Android
12635 and iPhone versions making it even easier to report problems with the
12636 public infrastructure.</p>
12637
12638 <p>Perhaps something to consider for those of you in countries without
12639 such service?</p>
12640
12641 </div>
12642 <div class="tags">
12643
12644
12645 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>.
12646
12647
12648 </div>
12649 </div>
12650 <div class="padding"></div>
12651
12652 <div class="entry">
12653 <div class="title">
12654 <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>
12655 </div>
12656 <div class="date">
12657 28th January 2011
12658 </div>
12659 <div class="body">
12660 <p>The last few days I have looked at ways to track open security
12661 issues here at my work with the University of Oslo. My idea is that
12662 it should be possible to use the information about security issues
12663 available on the Internet, and check our locally
12664 maintained/distributed software against this information. It should
12665 allow us to verify that no known security issues are forgotten. The
12666 CVE database listing vulnerabilities seem like a great central point,
12667 and by using the package lists from Debian mapped to CVEs provided by
12668 the testing security team, I believed it should be possible to figure
12669 out which security holes were present in our free software
12670 collection.</p>
12671
12672 <p>After reading up on the topic, it became obvious that the first
12673 building block is to be able to name software packages in a unique and
12674 consistent way across data sources. I considered several ways to do
12675 this, for example coming up with my own naming scheme like using URLs
12676 to project home pages or URLs to the Freshmeat entries, or using some
12677 existing naming scheme. And it seem like I am not the first one to
12678 come across this problem, as MITRE already proposed and implemented a
12679 solution. Enter the <a href="http://cpe.mitre.org/index.html">Common
12680 Platform Enumeration</a> dictionary, a vocabulary for referring to
12681 software, hardware and other platform components. The CPE ids are
12682 mapped to CVEs in the <a href="http://web.nvd.nist.gov/">National
12683 Vulnerability Database</a>, allowing me to look up know security
12684 issues for any CPE name. With this in place, all I need to do is to
12685 locate the CPE id for the software packages we use at the university.
12686 This is fairly trivial (I google for 'cve cpe $package' and check the
12687 NVD entry if a CVE for the package exist).</p>
12688
12689 <p>To give you an example. The GNU gzip source package have the CPE
12690 name cpe:/a:gnu:gzip. If the old version 1.3.3 was the package to
12691 check out, one could look up
12692 <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
12693 in NVD</a> and get a list of 6 security holes with public CVE entries.
12694 The most recent one is
12695 <a href="http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-0001">CVE-2010-0001</a>,
12696 and at the bottom of the NVD page for this vulnerability the complete
12697 list of affected versions is provided.</p>
12698
12699 <p>The NVD database of CVEs is also available as a XML dump, allowing
12700 for offline processing of issues. Using this dump, I've written a
12701 small script taking a list of CPEs as input and list all CVEs
12702 affecting the packages represented by these CPEs. One give it CPEs
12703 with version numbers as specified above and get a list of open
12704 security issues out.</p>
12705
12706 <p>Of course for this approach to be useful, the quality of the NVD
12707 information need to be high. For that to happen, I believe as many as
12708 possible need to use and contribute to the NVD database. I notice
12709 RHEL is providing
12710 <a href="https://www.redhat.com/security/data/metrics/rhsamapcpe.txt">a
12711 map from CVE to CPE</a>, indicating that they are using the CPE
12712 information. I'm not aware of Debian and Ubuntu doing the same.</p>
12713
12714 <p>To get an idea about the quality for free software, I spent some
12715 time making it possible to compare the CVE database from Debian with
12716 the CVE database in NVD. The result look fairly good, but there are
12717 some inconsistencies in NVD (same software package having several
12718 CPEs), and some inaccuracies (NVD not mentioning buggy packages that
12719 Debian believe are affected by a CVE). Hope to find time to improve
12720 the quality of NVD, but that require being able to get in touch with
12721 someone maintaining it. So far my three emails with questions and
12722 corrections have not seen any reply, but I hope contact can be
12723 established soon.</p>
12724
12725 <p>An interesting application for CPEs is cross platform package
12726 mapping. It would be useful to know which packages in for example
12727 RHEL, OpenSuSe and Mandriva are missing from Debian and Ubuntu, and
12728 this would be trivial if all linux distributions provided CPE entries
12729 for their packages.</p>
12730
12731 </div>
12732 <div class="tags">
12733
12734
12735 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>.
12736
12737
12738 </div>
12739 </div>
12740 <div class="padding"></div>
12741
12742 <div class="entry">
12743 <div class="title">
12744 <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>
12745 </div>
12746 <div class="date">
12747 23rd January 2011
12748 </div>
12749 <div class="body">
12750 <p>In the
12751 <a href="http://packages.qa.debian.org/discover-data">discover-data</a>
12752 package in Debian, there is a script to report useful information
12753 about the running hardware for use when people report missing
12754 information. One part of this script that I find very useful when
12755 debugging hardware problems, is the part mapping loaded kernel module
12756 to the PCI device it claims. It allow me to quickly see if the kernel
12757 module I expect is driving the hardware I am struggling with. To see
12758 the output, make sure discover-data is installed and run
12759 <tt>/usr/share/bug/discover-data 3>&1</tt>. The relevant output on
12760 one of my machines like this:</p>
12761
12762 <pre>
12763 loaded modules:
12764 10de:03eb i2c_nforce2
12765 10de:03f1 ohci_hcd
12766 10de:03f2 ehci_hcd
12767 10de:03f0 snd_hda_intel
12768 10de:03ec pata_amd
12769 10de:03f6 sata_nv
12770 1022:1103 k8temp
12771 109e:036e bttv
12772 109e:0878 snd_bt87x
12773 11ab:4364 sky2
12774 </pre>
12775
12776 <p>The code in question look like this, slightly modified for
12777 readability and to drop the output to file descriptor 3:</p>
12778
12779 <pre>
12780 if [ -d /sys/bus/pci/devices/ ] ; then
12781 echo loaded pci modules:
12782 (
12783 cd /sys/bus/pci/devices/
12784 for address in * ; do
12785 if [ -d "$address/driver/module" ] ; then
12786 module=`cd $address/driver/module ; pwd -P | xargs basename`
12787 if grep -q "^$module " /proc/modules ; then
12788 address=$(echo $address |sed s/0000://)
12789 id=`lspci -n -s $address | tail -n 1 | awk '{print $3}'`
12790 echo "$id $module"
12791 fi
12792 fi
12793 done
12794 )
12795 echo
12796 fi
12797 </pre>
12798
12799 <p>Similar code could be used to extract USB device module
12800 mappings:</p>
12801
12802 <pre>
12803 if [ -d /sys/bus/usb/devices/ ] ; then
12804 echo loaded usb modules:
12805 (
12806 cd /sys/bus/usb/devices/
12807 for address in * ; do
12808 if [ -d "$address/driver/module" ] ; then
12809 module=`cd $address/driver/module ; pwd -P | xargs basename`
12810 if grep -q "^$module " /proc/modules ; then
12811 address=$(echo $address |sed s/0000://)
12812 id=$(lsusb -s $address | tail -n 1 | awk '{print $6}')
12813 if [ "$id" ] ; then
12814 echo "$id $module"
12815 fi
12816 fi
12817 fi
12818 done
12819 )
12820 echo
12821 fi
12822 </pre>
12823
12824 <p>This might perhaps be something to include in other tools as
12825 well.</p>
12826
12827 </div>
12828 <div class="tags">
12829
12830
12831 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>.
12832
12833
12834 </div>
12835 </div>
12836 <div class="padding"></div>
12837
12838 <div class="entry">
12839 <div class="title">
12840 <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>
12841 </div>
12842 <div class="date">
12843 16th January 2011
12844 </div>
12845 <div class="body">
12846 <p>The video format struggle on the web continues, and the three
12847 contenders seem to be Ogg Theora, H.264 and WebM. Most video sites
12848 seem to use H.264, while others use Ogg Theora. Interestingly enough,
12849 the comments I see give me the feeling that a lot of people believe
12850 H.264 is the most supported video format in browsers, but according to
12851 the Wikipedia article on
12852 <a href="http://en.wikipedia.org/wiki/HTML5_video">HTML5 video</a>,
12853 this is not true. Check out the nice table of supprted formats in
12854 different browsers there. The format supported by most browsers is
12855 Ogg Theora, supported by released versions of Mozilla Firefox, Google
12856 Chrome, Chromium, Opera, Konqueror, Epiphany, Origyn Web Browser and
12857 BOLT browser, while not supported by Internet Explorer nor Safari.
12858 The runner up is WebM supported by released versions of Google Chrome
12859 Chromium Opera and Origyn Web Browser, and test versions of Mozilla
12860 Firefox. H.264 is supported by released versions of Safari, Origyn
12861 Web Browser and BOLT browser, and the test version of Internet
12862 Explorer. Those wanting Ogg Theora support in Internet Explorer and
12863 Safari can install plugins to get it.</p>
12864
12865 <p>To me, the simple conclusion from this is that to reach most users
12866 without any extra software installed, one uses Ogg Theora with the
12867 HTML5 video tag. Of course to reach all those without a browser
12868 handling HTML5, one need fallback mechanisms. In
12869 <a href="http://www.nuug.no/">NUUG</a>, we provide first fallback to a
12870 plugin capable of playing MPEG1 video, and those without such support
12871 we have a second fallback to the Cortado java applet playing Ogg
12872 Theora. This seem to work quite well, as can be seen in an <a
12873 href="http://www.nuug.no/aktiviteter/20110111-semantic-web/">example
12874 from last week</a>.</p>
12875
12876 <p>The reason Ogg Theora is the most supported format, and H.264 is
12877 the least supported is simple. Implementing and using H.264
12878 require royalty payment to MPEG-LA, and the terms of use from MPEG-LA
12879 are incompatible with free software licensing. If you believed H.264
12880 was without royalties and license terms, check out
12881 "<a href="http://webmink.com/essays/h-264/">H.264 – Not The Kind Of
12882 Free That Matters</a>" by Simon Phipps.</p>
12883
12884 <p>A incomplete list of sites providing video in Ogg Theora is
12885 available from
12886 <a href="http://wiki.xiph.org/index.php/List_of_Theora_videos">the
12887 Xiph.org wiki</a>, if you want to have a look. I'm not aware of a
12888 similar list for WebM nor H.264.</p>
12889
12890 <p>Update 2011-01-16 09:40: A question from Tollef on IRC made me
12891 realise that I failed to make it clear enough this text is about the
12892 &lt;video&gt; tag support in browsers and not the video support
12893 provided by external plugins like the Flash plugins.</p>
12894
12895 </div>
12896 <div class="tags">
12897
12898
12899 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>.
12900
12901
12902 </div>
12903 </div>
12904 <div class="padding"></div>
12905
12906 <div class="entry">
12907 <div class="title">
12908 <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>
12909 </div>
12910 <div class="date">
12911 12th January 2011
12912 </div>
12913 <div class="body">
12914 <p>Today I discovered
12915 <a href="http://www.digi.no/860070/google-dropper-h264-stotten-i-chrome">via
12916 digi.no</a> that the Chrome developers, in a surprising announcement,
12917 <a href="http://blog.chromium.org/2011/01/html-video-codec-support-in-chrome.html">yesterday
12918 announced</a> plans to drop H.264 support for HTML5 &lt;video&gt; in
12919 the browser. The argument used is that H.264 is not a "completely
12920 open" codec technology. If you believe H.264 was free for everyone
12921 to use, I recommend having a look at the essay
12922 "<a href="http://webmink.com/essays/h-264/">H.264 – Not The Kind Of
12923 Free That Matters</a>". It is not free of cost for creators of video
12924 tools, nor those of us that want to publish on the Internet, and the
12925 terms provided by MPEG-LA excludes free software projects from
12926 licensing the patents needed for H.264. Some background information
12927 on the Google announcement is available from
12928 <a href="http://www.osnews.com/story/24243/Google_To_Drop_H264_Support_from_Chrome">OSnews</a>.
12929 A good read. :)</p>
12930
12931 <p>Personally, I believe it is great that Google is taking a stand to
12932 promote equal terms for everyone when it comes to video publishing on
12933 the Internet. This can only be done by publishing using free and open
12934 standards, which is only possible if the web browsers provide support
12935 for these free and open standards. At the moment there seem to be two
12936 camps in the web browser world when it come to video support. Some
12937 browsers support H.264, and others support
12938 <a href="http://www.theora.org/">Ogg Theora</a> and
12939 <a href="http://www.webmproject.org/">WebM</a>
12940 (<a href="http://www.diracvideo.org/">Dirac</a> is not really an option
12941 yet), forcing those of us that want to publish video on the Internet
12942 and which can not accept the terms of use presented by MPEG-LA for
12943 H.264 to not reach all potential viewers.
12944 Wikipedia keep <a href="http://en.wikipedia.org/wiki/HTML5_video">an
12945 updated summary</a> of the current browser support.</p>
12946
12947 <p>Not surprising, several people would prefer Google to keep
12948 promoting H.264, and John Gruber
12949 <a href="http://daringfireball.net/2011/01/simple_questions">presents
12950 the mind set</a> of these people quite well. His rhetorical questions
12951 provoked a reply from Thom Holwerda with another set of questions
12952 <a href="http://www.osnews.com/story/24245/10_Questions_for_John_Gruber_Regarding_H_264_WebM">presenting
12953 the issues with H.264</a>. Both are worth a read.</p>
12954
12955 <p>Some argue that if Google is dropping H.264 because it isn't free,
12956 they should also drop support for the Adobe Flash plugin. This
12957 argument was covered by Simon Phipps in
12958 <a href="http://blogs.computerworlduk.com/simon-says/2011/01/google-and-h264---far-from-hypocritical/index.htm">todays
12959 blog post</a>, which I find to put the issue in context. To me it
12960 make perfect sense to drop native H.264 support for HTML5 in the
12961 browser while still allowing plugins.</p>
12962
12963 <p>I suspect the reason this announcement make so many people protest,
12964 is that all the users and promoters of H.264 suddenly get an uneasy
12965 feeling that they might be backing the wrong horse. A lot of TV
12966 broadcasters have been moving to H.264 the last few years, and a lot
12967 of money has been invested in hardware based on the belief that they
12968 could use the same video format for both broadcasting and web
12969 publishing. Suddenly this belief is shaken.</p>
12970
12971 <p>An interesting question is why Google is doing this. While the
12972 presented argument might be true enough, I believe Google would only
12973 present the argument if the change make sense from a business
12974 perspective. One reason might be that they are currently negotiating
12975 with MPEG-LA over royalties or usage terms, and giving MPEG-LA the
12976 feeling that dropping H.264 completely from Chroome, Youtube and
12977 Google Video would improve the negotiation position of Google.
12978 Another reason might be that Google want to save money by not having
12979 to pay the video tax to MPEG-LA at all, and thus want to move to a
12980 video format not requiring royalties at all. A third reason might be
12981 that the Chrome development team simply want to avoid the
12982 Chrome/Chromium split to get more help with the development of Chrome.
12983 I guess time will tell.</p>
12984
12985 <p>Update 2011-01-15: The Google Chrome team provided
12986 <a href="http://blog.chromium.org/2011/01/more-about-chrome-html-video-codec.html">more
12987 background and information on the move</a> it a blog post yesterday.</p>
12988
12989 </div>
12990 <div class="tags">
12991
12992
12993 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>.
12994
12995
12996 </div>
12997 </div>
12998 <div class="padding"></div>
12999
13000 <div class="entry">
13001 <div class="title">
13002 <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>
13003 </div>
13004 <div class="date">
13005 30th December 2010
13006 </div>
13007 <div class="body">
13008 <p>After trying to
13009 <a href="http://people.skolelinux.org/pere/blog/Is_Ogg_Theora_a_free_and_open_standard_.html">compare
13010 Ogg Theora</a> to
13011 <a href="http://www.digistan.org/open-standard:definition">the Digistan
13012 definition</a> of a free and open standard, I concluded that this need
13013 to be done for more standards and started on a framework for doing
13014 this. As a start, I want to get the status for all the standards in
13015 the Norwegian reference directory, which include UTF-8, HTML, PDF, ODF,
13016 JPEG, PNG, SVG and others. But to be able to complete this in a
13017 reasonable time frame, I will need help.</p>
13018
13019 <p>If you want to help out with this work, please visit
13020 <a href="http://wiki.nuug.no/grupper/standard/digistan-analyse">the
13021 wiki pages I have set up for this</a>, and let me know that you want
13022 to help out. The IRC channel #nuug on irc.freenode.net is a good
13023 place to coordinate this for now, as it is the IRC channel for the
13024 NUUG association where I have created the framework (I am the leader
13025 of the Norwegian Unix User Group).</p>
13026
13027 <p>The framework is still forming, and a lot is left to do. Do not be
13028 scared by the sketchy form of the current pages. :)</p>
13029
13030 </div>
13031 <div class="tags">
13032
13033
13034 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>.
13035
13036
13037 </div>
13038 </div>
13039 <div class="padding"></div>
13040
13041 <div class="entry">
13042 <div class="title">
13043 <a href="http://people.skolelinux.org/pere/blog/The_many_definitions_of_a_open_standard.html">The many definitions of a open standard</a>
13044 </div>
13045 <div class="date">
13046 27th December 2010
13047 </div>
13048 <div class="body">
13049 <p>One of the reasons I like the Digistan definition of
13050 "<a href="http://www.digistan.org/open-standard:definition">Free and
13051 Open Standard</a>" is that this is a new term, and thus the meaning of
13052 the term has been decided by Digistan. The term "Open Standard" has
13053 become so misunderstood that it is no longer very useful when talking
13054 about standards. One end up discussing which definition is the best
13055 one and with such frame the only one gaining are the proponents of
13056 de-facto standards and proprietary solutions.</p>
13057
13058 <p>But to give us an idea about the diversity of definitions of open
13059 standards, here are a few that I know about. This list is not
13060 complete, but can be a starting point for those that want to do a
13061 complete survey. More definitions are available on the
13062 <a href="http://en.wikipedia.org/wiki/Open_standard">wikipedia
13063 page</a>.</p>
13064
13065 <p>First off is my favourite, the definition from the European
13066 Interoperability Framework version 1.0. Really sad to notice that BSA
13067 and others has succeeded in getting it removed from version 2.0 of the
13068 framework by stacking the committee drafting the new version with
13069 their own people. Anyway, the definition is still available and it
13070 include the key properties needed to make sure everyone can use a
13071 specification on equal terms.</p>
13072
13073 <blockquote>
13074
13075 <p>The following are the minimal characteristics that a specification
13076 and its attendant documents must have in order to be considered an
13077 open standard:</p>
13078
13079 <ul>
13080
13081 <li>The standard is adopted and will be maintained by a not-for-profit
13082 organisation, and its ongoing development occurs on the basis of an
13083 open decision-making procedure available to all interested parties
13084 (consensus or majority decision etc.).</li>
13085
13086 <li>The standard has been published and the standard specification
13087 document is available either freely or at a nominal charge. It must be
13088 permissible to all to copy, distribute and use it for no fee or at a
13089 nominal fee.</li>
13090
13091 <li>The intellectual property - i.e. patents possibly present - of
13092 (parts of) the standard is made irrevocably available on a royalty-
13093 free basis.</li>
13094
13095 <li>There are no constraints on the re-use of the standard.</li>
13096
13097 </ul>
13098 </blockquote>
13099
13100 <p>Another one originates from my friends over at
13101 <a href="http://www.dkuug.dk/">DKUUG</a>, who coined and gathered
13102 support for <a href="http://www.aaben-standard.dk/">this
13103 definition</a> in 2004. It even made it into the Danish parlament as
13104 <a href="http://www.ft.dk/dokumenter/tingdok.aspx?/samling/20051/beslutningsforslag/B103/som_fremsat.htm">their
13105 definition of a open standard</a>. Another from a different part of
13106 the Danish government is available from the wikipedia page.</p>
13107
13108 <blockquote>
13109
13110 <p>En åben standard opfylder følgende krav:</p>
13111
13112 <ol>
13113
13114 <li>Veldokumenteret med den fuldstændige specifikation offentligt
13115 tilgængelig.</li>
13116
13117 <li>Frit implementerbar uden økonomiske, politiske eller juridiske
13118 begrænsninger på implementation og anvendelse.</li>
13119
13120 <li>Standardiseret og vedligeholdt i et åbent forum (en såkaldt
13121 "standardiseringsorganisation") via en åben proces.</li>
13122
13123 </ol>
13124
13125 </blockquote>
13126
13127 <p>Then there is <a href="http://www.fsfe.org/projects/os/def.html">the
13128 definition</a> from Free Software Foundation Europe.</p>
13129
13130 <blockquote>
13131
13132 <p>An Open Standard refers to a format or protocol that is</p>
13133
13134 <ol>
13135
13136 <li>subject to full public assessment and use without constraints in a
13137 manner equally available to all parties;</li>
13138
13139 <li>without any components or extensions that have dependencies on
13140 formats or protocols that do not meet the definition of an Open
13141 Standard themselves;</li>
13142
13143 <li>free from legal or technical clauses that limit its utilisation by
13144 any party or in any business model;</li>
13145
13146 <li>managed and further developed independently of any single vendor
13147 in a process open to the equal participation of competitors and third
13148 parties;</li>
13149
13150 <li>available in multiple complete implementations by competing
13151 vendors, or as a complete implementation equally available to all
13152 parties.</li>
13153
13154 </ol>
13155
13156 </blockquote>
13157
13158 <p>A long time ago, SUN Microsystems, now bought by Oracle, created
13159 its
13160 <a href="http://blogs.sun.com/dennisding/resource/Open%20Standard%20Definition.pdf">Open
13161 Standards Checklist</a> with a fairly detailed description.</p>
13162
13163 <blockquote>
13164 <p>Creation and Management of an Open Standard
13165
13166 <ul>
13167
13168 <li>Its development and management process must be collaborative and
13169 democratic:
13170
13171 <ul>
13172
13173 <li>Participation must be accessible to all those who wish to
13174 participate and can meet fair and reasonable criteria
13175 imposed by the organization under which it is developed
13176 and managed.</li>
13177
13178 <li>The processes must be documented and, through a known
13179 method, can be changed through input from all
13180 participants.</li>
13181
13182 <li>The process must be based on formal and binding commitments for
13183 the disclosure and licensing of intellectual property rights.</li>
13184
13185 <li>Development and management should strive for consensus,
13186 and an appeals process must be clearly outlined.</li>
13187
13188 <li>The standard specification must be open to extensive
13189 public review at least once in its life-cycle, with
13190 comments duly discussed and acted upon, if required.</li>
13191
13192 </ul>
13193
13194 </li>
13195
13196 </ul>
13197
13198 <p>Use and Licensing of an Open Standard</p>
13199 <ul>
13200
13201 <li>The standard must describe an interface, not an implementation,
13202 and the industry must be capable of creating multiple, competing
13203 implementations to the interface described in the standard without
13204 undue or restrictive constraints. Interfaces include APIs,
13205 protocols, schemas, data formats and their encoding.</li>
13206
13207 <li> The standard must not contain any proprietary "hooks" that create
13208 a technical or economic barriers</li>
13209
13210 <li>Faithful implementations of the standard must
13211 interoperate. Interoperability means the ability of a computer
13212 program to communicate and exchange information with other computer
13213 programs and mutually to use the information which has been
13214 exchanged. This includes the ability to use, convert, or exchange
13215 file formats, protocols, schemas, interface information or
13216 conventions, so as to permit the computer program to work with other
13217 computer programs and users in all the ways in which they are
13218 intended to function.</li>
13219
13220 <li>It must be permissible for anyone to copy, distribute and read the
13221 standard for a nominal fee, or even no fee. If there is a fee, it
13222 must be low enough to not preclude widespread use.</li>
13223
13224 <li>It must be possible for anyone to obtain free (no royalties or
13225 fees; also known as "royalty free"), worldwide, non-exclusive and
13226 perpetual licenses to all essential patent claims to make, use and
13227 sell products based on the standard. The only exceptions are
13228 terminations per the reciprocity and defensive suspension terms
13229 outlined below. Essential patent claims include pending, unpublished
13230 patents, published patents, and patent applications. The license is
13231 only for the exact scope of the standard in question.
13232
13233 <ul>
13234
13235 <li> May be conditioned only on reciprocal licenses to any of
13236 licensees' patent claims essential to practice that standard
13237 (also known as a reciprocity clause)</li>
13238
13239 <li> May be terminated as to any licensee who sues the licensor
13240 or any other licensee for infringement of patent claims
13241 essential to practice that standard (also known as a
13242 "defensive suspension" clause)</li>
13243
13244 <li> The same licensing terms are available to every potential
13245 licensor</li>
13246
13247 </ul>
13248 </li>
13249
13250 <li>The licensing terms of an open standards must not preclude
13251 implementations of that standard under open source licensing terms
13252 or restricted licensing terms</li>
13253
13254 </ul>
13255
13256 </blockquote>
13257
13258 <p>It is said that one of the nice things about standards is that
13259 there are so many of them. As you can see, the same holds true for
13260 open standard definitions. Most of the definitions have a lot in
13261 common, and it is not really controversial what properties a open
13262 standard should have, but the diversity of definitions have made it
13263 possible for those that want to avoid a level marked field and real
13264 competition to downplay the significance of open standards. I hope we
13265 can turn this tide by focusing on the advantages of Free and Open
13266 Standards.</p>
13267
13268 </div>
13269 <div class="tags">
13270
13271
13272 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>.
13273
13274
13275 </div>
13276 </div>
13277 <div class="padding"></div>
13278
13279 <div class="entry">
13280 <div class="title">
13281 <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>
13282 </div>
13283 <div class="date">
13284 25th December 2010
13285 </div>
13286 <div class="body">
13287 <p><a href="http://www.digistan.org/open-standard:definition">The
13288 Digistan definition</a> of a free and open standard reads like this:</p>
13289
13290 <blockquote>
13291
13292 <p>The Digital Standards Organization defines free and open standard
13293 as follows:</p>
13294
13295 <ol>
13296
13297 <li>A free and open standard is immune to vendor capture at all stages
13298 in its life-cycle. Immunity from vendor capture makes it possible to
13299 freely use, improve upon, trust, and extend a standard over time.</li>
13300
13301 <li>The standard is adopted and will be maintained by a not-for-profit
13302 organisation, and its ongoing development occurs on the basis of an
13303 open decision-making procedure available to all interested
13304 parties.</li>
13305
13306 <li>The standard has been published and the standard specification
13307 document is available freely. It must be permissible to all to copy,
13308 distribute, and use it freely.</li>
13309
13310 <li>The patents possibly present on (parts of) the standard are made
13311 irrevocably available on a royalty-free basis.</li>
13312
13313 <li>There are no constraints on the re-use of the standard.</li>
13314
13315 </ol>
13316
13317 <p>The economic outcome of a free and open standard, which can be
13318 measured, is that it enables perfect competition between suppliers of
13319 products based on the standard.</p>
13320 </blockquote>
13321
13322 <p>For a while now I have tried to figure out of Ogg Theora is a free
13323 and open standard according to this definition. Here is a short
13324 writeup of what I have been able to gather so far. I brought up the
13325 topic on the Xiph advocacy mailing list
13326 <a href="http://lists.xiph.org/pipermail/advocacy/2009-July/001632.html">in
13327 July 2009</a>, for those that want to see some background information.
13328 According to Ivo Emanuel Gonçalves and Monty Montgomery on that list
13329 the Ogg Theora specification fulfils the Digistan definition.</p>
13330
13331 <p><strong>Free from vendor capture?</strong></p>
13332
13333 <p>As far as I can see, there is no single vendor that can control the
13334 Ogg Theora specification. It can be argued that the
13335 <a href="http://www.xiph.org/">Xiph foundation</A> is such vendor, but
13336 given that it is a non-profit foundation with the expressed goal
13337 making free and open protocols and standards available, it is not
13338 obvious that this is a real risk. One issue with the Xiph
13339 foundation is that its inner working (as in board member list, or who
13340 control the foundation) are not easily available on the web. I've
13341 been unable to find out who is in the foundation board, and have not
13342 seen any accounting information documenting how money is handled nor
13343 where is is spent in the foundation. It is thus not obvious for an
13344 external observer who control The Xiph foundation, and for all I know
13345 it is possible for a single vendor to take control over the
13346 specification. But it seem unlikely.</p>
13347
13348 <p><strong>Maintained by open not-for-profit organisation?</strong></p>
13349
13350 <p>Assuming that the Xiph foundation is the organisation its web pages
13351 claim it to be, this point is fulfilled. If Xiph foundation is
13352 controlled by a single vendor, it isn't, but I have not found any
13353 documentation indicating this.</p>
13354
13355 <p>According to
13356 <a href="http://media.hiof.no/diverse/fad/rapport_4.pdf">a report</a>
13357 prepared by Audun Vaaler og Børre Ludvigsen for the Norwegian
13358 government, the Xiph foundation is a non-commercial organisation and
13359 the development process is open, transparent and non-Discrimatory.
13360 Until proven otherwise, I believe it make most sense to believe the
13361 report is correct.</p>
13362
13363 <p><strong>Specification freely available?</strong></p>
13364
13365 <p>The specification for the <a href="http://www.xiph.org/ogg/doc/">Ogg
13366 container format</a> and both the
13367 <a href="http://www.xiph.org/vorbis/doc/">Vorbis</a> and
13368 <a href="http://theora.org/doc/">Theora</a> codeces are available on
13369 the web. This are the terms in the Vorbis and Theora specification:
13370
13371 <blockquote>
13372
13373 Anyone may freely use and distribute the Ogg and [Vorbis/Theora]
13374 specifications, whether in private, public, or corporate
13375 capacity. However, the Xiph.Org Foundation and the Ogg project reserve
13376 the right to set the Ogg [Vorbis/Theora] specification and certify
13377 specification compliance.
13378
13379 </blockquote>
13380
13381 <p>The Ogg container format is specified in IETF
13382 <a href="http://www.xiph.org/ogg/doc/rfc3533.txt">RFC 3533</a>, and
13383 this is the term:<p>
13384
13385 <blockquote>
13386
13387 <p>This document and translations of it may be copied and furnished to
13388 others, and derivative works that comment on or otherwise explain it
13389 or assist in its implementation may be prepared, copied, published and
13390 distributed, in whole or in part, without restriction of any kind,
13391 provided that the above copyright notice and this paragraph are
13392 included on all such copies and derivative works. However, this
13393 document itself may not be modified in any way, such as by removing
13394 the copyright notice or references to the Internet Society or other
13395 Internet organizations, except as needed for the purpose of developing
13396 Internet standards in which case the procedures for copyrights defined
13397 in the Internet Standards process must be followed, or as required to
13398 translate it into languages other than English.</p>
13399
13400 <p>The limited permissions granted above are perpetual and will not be
13401 revoked by the Internet Society or its successors or assigns.</p>
13402 </blockquote>
13403
13404 <p>All these terms seem to allow unlimited distribution and use, an
13405 this term seem to be fulfilled. There might be a problem with the
13406 missing permission to distribute modified versions of the text, and
13407 thus reuse it in other specifications. Not quite sure if that is a
13408 requirement for the Digistan definition.</p>
13409
13410 <p><strong>Royalty-free?</strong></p>
13411
13412 <p>There are no known patent claims requiring royalties for the Ogg
13413 Theora format.
13414 <a href="http://www.streamingmedia.com/Articles/ReadArticle.aspx?ArticleID=65782">MPEG-LA</a>
13415 and
13416 <a href="http://yro.slashdot.org/story/10/04/30/237238/Steve-Jobs-Hints-At-Theora-Lawsuit">Steve
13417 Jobs</a> in Apple claim to know about some patent claims (submarine
13418 patents) against the Theora format, but no-one else seem to believe
13419 them. Both Opera Software and the Mozilla Foundation have looked into
13420 this and decided to implement Ogg Theora support in their browsers
13421 without paying any royalties. For now the claims from MPEG-LA and
13422 Steve Jobs seem more like FUD to scare people to use the H.264 codec
13423 than any real problem with Ogg Theora.</p>
13424
13425 <p><strong>No constraints on re-use?</strong></p>
13426
13427 <p>I am not aware of any constraints on re-use.</p>
13428
13429 <p><strong>Conclusion</strong></p>
13430
13431 <p>3 of 5 requirements seem obviously fulfilled, and the remaining 2
13432 depend on the governing structure of the Xiph foundation. Given the
13433 background report used by the Norwegian government, I believe it is
13434 safe to assume the last two requirements are fulfilled too, but it
13435 would be nice if the Xiph foundation web site made it easier to verify
13436 this.</p>
13437
13438 <p>It would be nice to see other analysis of other specifications to
13439 see if they are free and open standards.</p>
13440
13441 </div>
13442 <div class="tags">
13443
13444
13445 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>.
13446
13447
13448 </div>
13449 </div>
13450 <div class="padding"></div>
13451
13452 <div class="entry">
13453 <div class="title">
13454 <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>
13455 </div>
13456 <div class="date">
13457 25th December 2010
13458 </div>
13459 <div class="body">
13460 <p>A few days ago
13461 <a href="http://www.idg.no/computerworld/article189879.ece">an
13462 article</a> in the Norwegian Computerworld magazine about how version
13463 2.0 of
13464 <a href="http://en.wikipedia.org/wiki/European_Interoperability_Framework">European
13465 Interoperability Framework</a> has been successfully lobbied by the
13466 proprietary software industry to remove the focus on free software.
13467 Nothing very surprising there, given
13468 <a href="http://news.slashdot.org/story/10/03/29/2115235/Open-Source-Open-Standards-Under-Attack-In-Europe">earlier
13469 reports</a> on how Microsoft and others have stacked the committees in
13470 this work. But I find this very sad. The definition of
13471 <a href="http://www.nuug.no/dokumenter/standard-presse-def-200506.txt">an
13472 open standard from version 1</a> was very good, and something I
13473 believe should be used also in the future, alongside
13474 <a href="http://www.digistan.org/open-standard:definition">the
13475 definition from Digistan</A>. Version 2 have removed the open
13476 standard definition from its content.</p>
13477
13478 <p>Anyway, the news reminded me of the great reply sent by Dr. Edgar
13479 Villanueva, congressman in Peru at the time, to Microsoft as a reply
13480 to Microsofts attack on his proposal regarding the use of free software
13481 in the public sector in Peru. As the text was not available from a
13482 few of the URLs where it used to be available, I copy it here from
13483 <a href="http://gnuwin.epfl.ch/articles/en/reponseperou/villanueva_to_ms.html">my
13484 source</a> to ensure it is available also in the future. Some
13485 background information about that story is available in
13486 <a href="http://www.linuxjournal.com/article/6099">an article</a> from
13487 Linux Journal in 2002.</p>
13488
13489 <blockquote>
13490 <p>Lima, 8th of April, 2002<br>
13491 To: Señor JUAN ALBERTO GONZÁLEZ<br>
13492 General Manager of Microsoft Perú</p>
13493
13494 <p>Dear Sir:</p>
13495
13496 <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>
13497
13498 <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>
13499
13500 <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>
13501
13502 <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>
13503
13504 <p>
13505 <ul>
13506 <li>Free access to public information by the citizen. </li>
13507 <li>Permanence of public data. </li>
13508 <li>Security of the State and citizens.</li>
13509 </ul>
13510 </p>
13511
13512 <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>
13513
13514 <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>
13515
13516 <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>
13517
13518 <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>
13519
13520 <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>
13521
13522
13523 <p>From reading the Bill it will be clear that once passed:<br>
13524 <li>the law does not forbid the production of proprietary software</li>
13525 <li>the law does not forbid the sale of proprietary software</li>
13526 <li>the law does not specify which concrete software to use</li>
13527 <li>the law does not dictate the supplier from whom software will be bought</li>
13528 <li>the law does not limit the terms under which a software product can be licensed.</li>
13529
13530 </p>
13531
13532 <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>
13533
13534 <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>
13535
13536 <p>As for the observations you have made, we will now go on to analyze them in detail:</p>
13537
13538 <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>
13539
13540 <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>
13541
13542 <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>
13543
13544 <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>
13545
13546 <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>
13547
13548 <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>
13549
13550 <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>
13551
13552 <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>
13553
13554 <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>
13555
13556 <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>
13557
13558 <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>
13559
13560 <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>
13561
13562 <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>
13563
13564 <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>
13565
13566 <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>
13567
13568 <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>
13569
13570 <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>
13571
13572 <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>
13573
13574 <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>
13575
13576 <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>
13577
13578 <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>
13579
13580 <p>On security:</p>
13581
13582 <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>
13583
13584 <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>
13585
13586 <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>
13587
13588 <p>In respect of the guarantee:</p>
13589
13590 <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>
13591
13592 <p>On Intellectual Property:</p>
13593
13594 <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>
13595
13596 <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>
13597
13598 <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>
13599
13600 <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>
13601
13602 <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>
13603
13604 <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>
13605
13606 <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>
13607
13608 <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>
13609
13610 <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>
13611
13612 <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>
13613
13614 <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>
13615
13616 <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>
13617
13618 <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>
13619
13620 <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>
13621
13622 <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>
13623
13624 <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>
13625
13626 <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>
13627
13628 <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>
13629
13630 <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>
13631
13632 <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>
13633
13634 <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>
13635
13636 <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>
13637
13638 <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>
13639
13640 <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>
13641
13642 <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>
13643
13644 <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>
13645
13646 <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>
13647
13648 <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>
13649
13650 <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>
13651
13652 <p>Cordially,<br>
13653 DR. EDGAR DAVID VILLANUEVA NUÑEZ<br>
13654 Congressman of the Republic of Perú.</p>
13655 </blockquote>
13656
13657 </div>
13658 <div class="tags">
13659
13660
13661 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>.
13662
13663
13664 </div>
13665 </div>
13666 <div class="padding"></div>
13667
13668 <div class="entry">
13669 <div class="title">
13670 <a href="http://people.skolelinux.org/pere/blog/Officeshots_still_going_strong.html">Officeshots still going strong</a>
13671 </div>
13672 <div class="date">
13673 25th December 2010
13674 </div>
13675 <div class="body">
13676 <p>Half a year ago I
13677 <a href="http://people.skolelinux.org/pere/blog/Officeshots_taking_shape.html">wrote
13678 a bit</a> about <a href="http://www.officeshots.org/">OfficeShots</a>,
13679 a web service to allow anyone to test how ODF documents are handled by
13680 the different programs reading and writing the ODF format.</p>
13681
13682 <p>I just had a look at the service, and it seem to be going strong.
13683 Very interesting to see the results reported in the gallery, how
13684 different Office implementations handle different ODF features. Sad
13685 to see that KOffice was not doing it very well, and happy to see that
13686 LibreOffice has been tested already (but sadly not listed as a option
13687 for OfficeShots users yet). I am glad to see that the ODF community
13688 got such a great test tool available.</p>
13689
13690 </div>
13691 <div class="tags">
13692
13693
13694 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>.
13695
13696
13697 </div>
13698 </div>
13699 <div class="padding"></div>
13700
13701 <div class="entry">
13702 <div class="title">
13703 <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>
13704 </div>
13705 <div class="date">
13706 22nd December 2010
13707 </div>
13708 <div class="body">
13709 <p>The last few days I have spent at work here at the <a
13710 href="http://www.uio.no/">University of Oslo</a> testing if the new
13711 batch of computers will work with Linux. Every year for the last few
13712 years the university have organised shared bid of a few thousand
13713 computers, and this year HP won the bid. Two different desktops and
13714 five different laptops are on the list this year. We in the UNIX
13715 group want to know which one of these computers work well with RHEL
13716 and Ubuntu, the two Linux distributions we currently handle at the
13717 university.</p>
13718
13719 <p>My test method is simple, and I share it here to get feedback and
13720 perhaps inspire others to test hardware as well. To test, I PXE
13721 install the OS version of choice, and log in as my normal user and run
13722 a few applications and plug in selected pieces of hardware. When
13723 something fail, I make a note about this in the test matrix and move
13724 on. If I have some spare time I try to report the bug to the OS
13725 vendor, but as I only have the machines for a short time, I rarely
13726 have the time to do this for all the problems I find.</p>
13727
13728 <p>Anyway, to get to the point of this post. Here is the simple tests
13729 I perform on a new model.</p>
13730
13731 <ul>
13732
13733 <li>Is PXE installation working? I'm testing with RHEL6, Ubuntu Lucid
13734 and Ubuntu Maverik at the moment. If I feel like it, I also test with
13735 RHEL5 and Debian Edu/Squeeze.</li>
13736
13737 <li>Is X.org working? If the graphical login screen show up after
13738 installation, X.org is working.</li>
13739
13740 <li>Is hardware accelerated OpenGL working? Running glxgears (in
13741 package mesa-utils on Ubuntu) and writing down the frames per second
13742 reported by the program.</li>
13743
13744 <li>Is sound working? With Gnome and KDE, a sound is played when
13745 logging in, and if I can hear this the test is successful. If there
13746 are several audio exits on the machine, I try them all and check if
13747 the Gnome/KDE audio mixer can control where to send the sound. I
13748 normally test this by playing
13749 <a href="http://www.nuug.no/aktiviteter/20101012-chef/ ">a HTML5
13750 video</a> in Firefox/Iceweasel.</li>
13751
13752 <li>Is the USB subsystem working? I test this by plugging in a USB
13753 memory stick and see if Gnome/KDE notices this.</li>
13754
13755 <li>Is the CD/DVD player working? I test this by inserting any CD/DVD
13756 I have lying around, and see if Gnome/KDE notices this.</li>
13757
13758 <li>Is any built in camera working? Test using cheese, and see if a
13759 picture from the v4l device show up.</li>
13760
13761 <li>Is bluetooth working? Use the Gnome/KDE browsing tool to see if
13762 any bluetooth devices are discovered. In my office, I normally see a
13763 few.</li>
13764
13765 <li>For laptops, is the SD or Compaq Flash reader working. I have
13766 memory modules lying around, and stick them in and see if Gnome/KDE
13767 notice this.</li>
13768
13769 <li>For laptops, is suspend/hibernate working? I'm testing if the
13770 special button work, and if the laptop continue to work after
13771 resume.</li>
13772
13773 <li>For laptops, is the extra buttons working, like audio level,
13774 adjusting background light, switching on/off external video output,
13775 switching on/off wifi, bluetooth, etc? The set of buttons differ from
13776 laptop to laptop, so I just write down which are working and which are
13777 not.</li>
13778
13779 <li>Some laptops have smart card readers, finger print readers,
13780 acceleration sensors etc. I rarely test these, as I do not know how
13781 to quickly test if they are working or not, so I only document their
13782 existence.</li>
13783
13784 </ul>
13785
13786 <p>By now I suspect you are really curious what the test results are
13787 for the HP machines I am testing. I'm not done yet, so I will report
13788 the test results later. For now I can report that HP 8100 Elite work
13789 fine, and hibernation fail with HP EliteBook 8440p on Ubuntu Lucid,
13790 and audio fail on RHEL6. Ubuntu Maverik worked with 8440p. As you
13791 can see, I have most machines left to test. One interesting
13792 observation is that Ubuntu Lucid has almost twice the frame rate than
13793 RHEL6 with glxgears. No idea why.</p>
13794
13795 </div>
13796 <div class="tags">
13797
13798
13799 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>.
13800
13801
13802 </div>
13803 </div>
13804 <div class="padding"></div>
13805
13806 <div class="entry">
13807 <div class="title">
13808 <a href="http://people.skolelinux.org/pere/blog/Some_thoughts_on_BitCoins.html">Some thoughts on BitCoins</a>
13809 </div>
13810 <div class="date">
13811 11th December 2010
13812 </div>
13813 <div class="body">
13814 <p>As I continue to explore
13815 <a href="http://www.bitcoin.org/">BitCoin</a>, I've starting to wonder
13816 what properties the system have, and how it will be affected by laws
13817 and regulations here in Norway. Here are some random notes.</p>
13818
13819 <p>One interesting thing to note is that since the transactions are
13820 verified using a peer to peer network, all details about a transaction
13821 is known to everyone. This means that if a BitCoin address has been
13822 published like I did with mine in my initial post about BitCoin, it is
13823 possible for everyone to see how many BitCoins have been transfered to
13824 that address. There is even a web service to look at the details for
13825 all transactions. There I can see that my address
13826 <a href="http://blockexplorer.com/address/15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a>
13827 have received 16.06 Bitcoin, the
13828 <a href="http://blockexplorer.com/address/1LfdGnGuWkpSJgbQySxxCWhv8MHqvwst3">1LfdGnGuWkpSJgbQySxxCWhv8MHqvwst3</a>
13829 address of Simon Phipps have received 181.97 BitCoin and the address
13830 <a href="http://blockexplorer.com/address/1MCwBbhNGp5hRm5rC1Aims2YFRe2SXPYKt">1MCwBbhNGp5hRm5rC1Aims2YFRe2SXPYKt</A>
13831 of EFF have received 2447.38 BitCoins so far. Thank you to each and
13832 every one of you that donated bitcoins to support my activity. The
13833 fact that anyone can see how much money was transfered to a given
13834 address make it more obvious why the BitCoin community recommend to
13835 generate and hand out a new address for each transaction. I'm told
13836 there is no way to track which addresses belong to a given person or
13837 organisation without the person or organisation revealing it
13838 themselves, as Simon, EFF and I have done.</p>
13839
13840 <p>In Norway, and in most other countries, there are laws and
13841 regulations limiting how much money one can transfer across the border
13842 without declaring it. There are money laundering, tax and accounting
13843 laws and regulations I would expect to apply to the use of BitCoin.
13844 If the Skolelinux foundation
13845 (<a href="http://linuxiskolen.no/slxdebianlabs/donations.html">SLX
13846 Debian Labs</a>) were to accept donations in BitCoin in addition to
13847 normal bank transfers like EFF is doing, how should this be accounted?
13848 Given that it is impossible to know if money can cross the border or
13849 not, should everything or nothing be declared? What exchange rate
13850 should be used when calculating taxes? Would receivers have to pay
13851 income tax if the foundation were to pay Skolelinux contributors in
13852 BitCoin? I have no idea, but it would be interesting to know.</p>
13853
13854 <p>For a currency to be useful and successful, it must be trusted and
13855 accepted by a lot of users. It must be possible to get easy access to
13856 the currency (as a wage or using currency exchanges), and it must be
13857 easy to spend it. At the moment BitCoin seem fairly easy to get
13858 access to, but there are very few places to spend it. I am not really
13859 a regular user of any of the vendor types currently accepting BitCoin,
13860 so I wonder when my kind of shop would start accepting BitCoins. I
13861 would like to buy electronics, travels and subway tickets, not herbs
13862 and books. :) The currency is young, and this will improve over time
13863 if it become popular, but I suspect regular banks will start to lobby
13864 to get BitCoin declared illegal if it become popular. I'm sure they
13865 will claim it is helping fund terrorism and money laundering (which
13866 probably would be true, as is any currency in existence), but I
13867 believe the problems should be solved elsewhere and not by blaming
13868 currencies.</p>
13869
13870 <p>The process of creating new BitCoins is called mining, and it is
13871 CPU intensive process that depend on a bit of luck as well (as one is
13872 competing against all the other miners currently spending CPU cycles
13873 to see which one get the next lump of cash). The "winner" get 50
13874 BitCoin when this happen. Yesterday I came across the obvious way to
13875 join forces to increase ones changes of getting at least some coins,
13876 by coordinating the work on mining BitCoins across several machines
13877 and people, and sharing the result if one is lucky and get the 50
13878 BitCoins. Check out
13879 <a href="http://www.bluishcoder.co.nz/bitcoin-pool/">BitCoin Pool</a>
13880 if this sounds interesting. I have not had time to try to set up a
13881 machine to participate there yet, but have seen that running on ones
13882 own for a few days have not yield any BitCoins througth mining
13883 yet.</p>
13884
13885 <p>Update 2010-12-15: Found an <a
13886 href="http://inertia.posterous.com/reply-to-the-underground-economist-why-bitcoi">interesting
13887 criticism</a> of bitcoin. Not quite sure how valid it is, but thought
13888 it was interesting to read. The arguments presented seem to be
13889 equally valid for gold, which was used as a currency for many years.</p>
13890
13891 </div>
13892 <div class="tags">
13893
13894
13895 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>.
13896
13897
13898 </div>
13899 </div>
13900 <div class="padding"></div>
13901
13902 <div class="entry">
13903 <div class="title">
13904 <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>
13905 </div>
13906 <div class="date">
13907 10th December 2010
13908 </div>
13909 <div class="body">
13910 <p>With this weeks lawless
13911 <a href="http://www.salon.com/news/opinion/glenn_greenwald/2010/12/06/wikileaks/index.html">governmental
13912 attacks</a> on Wikileak and
13913 <a href="http://www.salon.com/technology/dan_gillmor/2010/12/06/war_on_speech">free
13914 speech</a>, it has become obvious that PayPal, visa and mastercard can
13915 not be trusted to handle money transactions.
13916 A blog post from
13917 <a href="http://webmink.com/2010/12/06/now-accepting-bitcoin/">Simon
13918 Phipps on bitcoin</a> reminded me about a project that a friend of
13919 mine mentioned earlier. I decided to follow Simon's example, and get
13920 involved with <a href="http://www.bitcoin.org/">BitCoin</a>. I got
13921 some help from my friend to get it all running, and he even handed me
13922 some bitcoins to get started. I even donated a few bitcoins to Simon
13923 for helping me remember BitCoin.</p>
13924
13925 <p>So, what is bitcoins, you probably wonder? It is a digital
13926 crypto-currency, decentralised and handled using peer-to-peer
13927 networks. It allows anonymous transactions and prohibits central
13928 control over the transactions, making it impossible for governments
13929 and companies alike to block donations and other transactions. The
13930 source is free software, and while the key dependency wxWidgets 2.9
13931 for the graphical user interface is missing in Debian, the command
13932 line client builds just fine. Hopefully Jonas
13933 <a href="http://bugs.debian.org/578157">will get the package into
13934 Debian</a> soon.</p>
13935
13936 <p>Bitcoins can be converted to other currencies, like USD and EUR.
13937 There are <a href="http://www.bitcoin.org/trade">companies accepting
13938 bitcoins</a> when selling services and goods, and there are even
13939 currency "stock" markets where the exchange rate is decided. There
13940 are not many users so far, but the concept seems promising. If you
13941 want to get started and lack a friend with any bitcoins to spare,
13942 you can even get
13943 <a href="https://freebitcoins.appspot.com/">some for free</a> (0.05
13944 bitcoin at the time of writing). Use
13945 <a href="http://www.bitcoinwatch.com/">BitcoinWatch</a> to keep an eye
13946 on the current exchange rates.</p>
13947
13948 <p>As an experiment, I have decided to set up bitcoind on one of my
13949 machines. If you want to support my activity, please send Bitcoin
13950 donations to the address
13951 <b>15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</b>. Thank you!</p>
13952
13953 </div>
13954 <div class="tags">
13955
13956
13957 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>.
13958
13959
13960 </div>
13961 </div>
13962 <div class="padding"></div>
13963
13964 <div class="entry">
13965 <div class="title">
13966 <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>
13967 </div>
13968 <div class="date">
13969 9th December 2010
13970 </div>
13971 <div class="body">
13972 <p>A few days ago, I was introduces to some students in the robot
13973 student assosiation <a href="http://www.robotica.no/">Robotica
13974 Osloensis</a> at the University of Oslo where I work, who planned to
13975 get their own 3D printer. They wanted to learn from me based on my
13976 work in the area. After having a short lunch meeting with them, I
13977 offered them to borrow my reprap kit, as I never had time to complete
13978 the build and this seem unlike to change any time soon. I look
13979 forward to see how this goes. This monday their volunteer driver
13980 picked up my kit and drove it to their lab, and tomorrow I am told the
13981 last exam is over so they can start work on getting the 3D printer
13982 operational.</p>
13983
13984 <p>The robotic group have already build several robots on their own,
13985 and seem capable of getting the reprap operational. I really look
13986 forward to being able to print all the cool 3D designs published on
13987 <a href="http://www.thingiverse.com/">Thingiverse</a>. I even got
13988 some 3D scans I got made during Dagen@IFI when one of the groups at
13989 the computer science department at the university demonstrated their
13990 very cool 3D scanner.</p>
13991
13992 </div>
13993 <div class="tags">
13994
13995
13996 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>.
13997
13998
13999 </div>
14000 </div>
14001 <div class="padding"></div>
14002
14003 <div class="entry">
14004 <div class="title">
14005 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_development_gathering_and_General_Assembly_for_FRiSK.html">Debian Edu development gathering and General Assembly for FRiSK</a>
14006 </div>
14007 <div class="date">
14008 29th November 2010
14009 </div>
14010 <div class="body">
14011 <p>On friday, the first Debian Edu / Skolelinux
14012 <a href="http://www.friprogramvareiskolen.no/Gathering/2010-12-03-05-Oslo">development
14013 gathering</a> in a long time take place here in Oslo, Norway. I
14014 really look forward to seeing all the good people working on the
14015 Squeeze release. The gathering is open for everyone interested in
14016 learning more about Debian Edu / Skolelinux.</p>
14017
14018 <p>On Saturday, the Norwegian member organization taking care of
14019 organizing these development gatherings, Fri Programvare i Skolen,
14020 will hold its
14021 <a href="http://friprogramvareiskolen.no/Genfors/2010">General Assembly
14022 for 2010</a>. Membership is open for all, and currently there are 388
14023 people registered as members. Last year 32 members cast their vote in
14024 the memberdb based election system. I hope more people find time to
14025 vote this year.</p>
14026
14027 </div>
14028 <div class="tags">
14029
14030
14031 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>.
14032
14033
14034 </div>
14035 </div>
14036 <div class="padding"></div>
14037
14038 <div class="entry">
14039 <div class="title">
14040 <a href="http://people.skolelinux.org/pere/blog/Why_isn_t_Debian_Edu_using_VLC_.html">Why isn't Debian Edu using VLC?</a>
14041 </div>
14042 <div class="date">
14043 27th November 2010
14044 </div>
14045 <div class="body">
14046 <p>In the latest issue of Linux Journal, the readers choices were
14047 presented, and the winner among the multimedia player were VLC.
14048 Personally, I like VLC, and it is my player of choice when I first try
14049 to play a video file or stream. Only if VLC fail will I drag out
14050 gmplayer to see if it can do better. The reason is mostly the failure
14051 model and trust. When VLC fail, it normally pop up a error message
14052 reporting the problem. When mplayer fail, it normally segfault or
14053 just hangs. The latter failure mode drain my trust in the program.<p>
14054
14055 <p>But even if VLC is my player of choice, we have choosen to use
14056 mplayer in <a href="http://www.skolelinux.org/">Debian
14057 Edu/Skolelinux</a>. The reason is simple. We need a good browser
14058 plugin to play web videos seamlessly, and the VLC browser plugin is
14059 not very good. For example, it lack in-line control buttons, so there
14060 is no way for the user to pause the video. Also, when I
14061 <a href="http://wiki.debian.org/DebianEdu/BrowserMultimedia">last
14062 tested the browser plugins</a> available in Debian, the VLC plugin
14063 failed on several video pages where mplayer based plugins worked. If
14064 the browser plugin for VLC was as good as the gecko-mediaplayer
14065 package (which uses mplayer), we would switch.</P>
14066
14067 <p>While VLC is a good player, its user interface is slightly
14068 annoying. The most annoying feature is its inconsistent use of
14069 keyboard shortcuts. When the player is in full screen mode, its
14070 shortcuts are different from when it is playing the video in a window.
14071 For example, space only work as pause when in full screen mode. I
14072 wish it had consisten shortcuts and that space also would work when in
14073 window mode. Another nice shortcut in gmplayer is [enter] to restart
14074 the current video. It is very nice when playing short videos from the
14075 web and want to restart it when new people arrive to have a look at
14076 what is going on.</p>
14077
14078 </div>
14079 <div class="tags">
14080
14081
14082 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>.
14083
14084
14085 </div>
14086 </div>
14087 <div class="padding"></div>
14088
14089 <div class="entry">
14090 <div class="title">
14091 <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>
14092 </div>
14093 <div class="date">
14094 22nd November 2010
14095 </div>
14096 <div class="body">
14097 <p>Michael Biebl suggested to me on IRC, that I changed my automated
14098 upgrade testing of the
14099 <a href="http://people.skolelinux.org/~pere/debian-upgrade-testing/">Lenny
14100 Gnome and KDE Desktop</a> to do <tt>apt-get autoremove</tt> when using apt-get.
14101 This seem like a very good idea, so I adjusted by test scripts and
14102 can now present the updated result from today:</p>
14103
14104 <p>This is for Gnome:</p>
14105
14106 <p>Installed using apt-get, missing with aptitude</p>
14107
14108 <blockquote><p>
14109 apache2.2-bin
14110 aptdaemon
14111 baobab
14112 binfmt-support
14113 browser-plugin-gnash
14114 cheese-common
14115 cli-common
14116 cups-pk-helper
14117 dmz-cursor-theme
14118 empathy
14119 empathy-common
14120 freedesktop-sound-theme
14121 freeglut3
14122 gconf-defaults-service
14123 gdm-themes
14124 gedit-plugins
14125 geoclue
14126 geoclue-hostip
14127 geoclue-localnet
14128 geoclue-manual
14129 geoclue-yahoo
14130 gnash
14131 gnash-common
14132 gnome
14133 gnome-backgrounds
14134 gnome-cards-data
14135 gnome-codec-install
14136 gnome-core
14137 gnome-desktop-environment
14138 gnome-disk-utility
14139 gnome-screenshot
14140 gnome-search-tool
14141 gnome-session-canberra
14142 gnome-system-log
14143 gnome-themes-extras
14144 gnome-themes-more
14145 gnome-user-share
14146 gstreamer0.10-fluendo-mp3
14147 gstreamer0.10-tools
14148 gtk2-engines
14149 gtk2-engines-pixbuf
14150 gtk2-engines-smooth
14151 hamster-applet
14152 libapache2-mod-dnssd
14153 libapr1
14154 libaprutil1
14155 libaprutil1-dbd-sqlite3
14156 libaprutil1-ldap
14157 libart2.0-cil
14158 libboost-date-time1.42.0
14159 libboost-python1.42.0
14160 libboost-thread1.42.0
14161 libchamplain-0.4-0
14162 libchamplain-gtk-0.4-0
14163 libcheese-gtk18
14164 libclutter-gtk-0.10-0
14165 libcryptui0
14166 libdiscid0
14167 libelf1
14168 libepc-1.0-2
14169 libepc-common
14170 libepc-ui-1.0-2
14171 libfreerdp-plugins-standard
14172 libfreerdp0
14173 libgconf2.0-cil
14174 libgdata-common
14175 libgdata7
14176 libgdu-gtk0
14177 libgee2
14178 libgeoclue0
14179 libgexiv2-0
14180 libgif4
14181 libglade2.0-cil
14182 libglib2.0-cil
14183 libgmime2.4-cil
14184 libgnome-vfs2.0-cil
14185 libgnome2.24-cil
14186 libgnomepanel2.24-cil
14187 libgpod-common
14188 libgpod4
14189 libgtk2.0-cil
14190 libgtkglext1
14191 libgtksourceview2.0-common
14192 libmono-addins-gui0.2-cil
14193 libmono-addins0.2-cil
14194 libmono-cairo2.0-cil
14195 libmono-corlib2.0-cil
14196 libmono-i18n-west2.0-cil
14197 libmono-posix2.0-cil
14198 libmono-security2.0-cil
14199 libmono-sharpzip2.84-cil
14200 libmono-system2.0-cil
14201 libmtp8
14202 libmusicbrainz3-6
14203 libndesk-dbus-glib1.0-cil
14204 libndesk-dbus1.0-cil
14205 libopal3.6.8
14206 libpolkit-gtk-1-0
14207 libpt2.6.7
14208 libpython2.6
14209 librpm1
14210 librpmio1
14211 libsdl1.2debian
14212 libsrtp0
14213 libssh-4
14214 libtelepathy-farsight0
14215 libtelepathy-glib0
14216 libtidy-0.99-0
14217 media-player-info
14218 mesa-utils
14219 mono-2.0-gac
14220 mono-gac
14221 mono-runtime
14222 nautilus-sendto
14223 nautilus-sendto-empathy
14224 p7zip-full
14225 pkg-config
14226 python-aptdaemon
14227 python-aptdaemon-gtk
14228 python-axiom
14229 python-beautifulsoup
14230 python-bugbuddy
14231 python-clientform
14232 python-coherence
14233 python-configobj
14234 python-crypto
14235 python-cupshelpers
14236 python-elementtree
14237 python-epsilon
14238 python-evolution
14239 python-feedparser
14240 python-gdata
14241 python-gdbm
14242 python-gst0.10
14243 python-gtkglext1
14244 python-gtksourceview2
14245 python-httplib2
14246 python-louie
14247 python-mako
14248 python-markupsafe
14249 python-mechanize
14250 python-nevow
14251 python-notify
14252 python-opengl
14253 python-openssl
14254 python-pam
14255 python-pkg-resources
14256 python-pyasn1
14257 python-pysqlite2
14258 python-rdflib
14259 python-serial
14260 python-tagpy
14261 python-twisted-bin
14262 python-twisted-conch
14263 python-twisted-core
14264 python-twisted-web
14265 python-utidylib
14266 python-webkit
14267 python-xdg
14268 python-zope.interface
14269 remmina
14270 remmina-plugin-data
14271 remmina-plugin-rdp
14272 remmina-plugin-vnc
14273 rhythmbox-plugin-cdrecorder
14274 rhythmbox-plugins
14275 rpm-common
14276 rpm2cpio
14277 seahorse-plugins
14278 shotwell
14279 software-center
14280 system-config-printer-udev
14281 telepathy-gabble
14282 telepathy-mission-control-5
14283 telepathy-salut
14284 tomboy
14285 totem
14286 totem-coherence
14287 totem-mozilla
14288 totem-plugins
14289 transmission-common
14290 xdg-user-dirs
14291 xdg-user-dirs-gtk
14292 xserver-xephyr
14293 </p></blockquote>
14294
14295 <p>Installed using apt-get, removed with aptitude</p>
14296
14297 <blockquote><p>
14298 cheese
14299 ekiga
14300 eog
14301 epiphany-extensions
14302 evolution-exchange
14303 fast-user-switch-applet
14304 file-roller
14305 gcalctool
14306 gconf-editor
14307 gdm
14308 gedit
14309 gedit-common
14310 gnome-games
14311 gnome-games-data
14312 gnome-nettool
14313 gnome-system-tools
14314 gnome-themes
14315 gnuchess
14316 gucharmap
14317 guile-1.8-libs
14318 libavahi-ui0
14319 libdmx1
14320 libgalago3
14321 libgtk-vnc-1.0-0
14322 libgtksourceview2.0-0
14323 liblircclient0
14324 libsdl1.2debian-alsa
14325 libspeexdsp1
14326 libsvga1
14327 rhythmbox
14328 seahorse
14329 sound-juicer
14330 system-config-printer
14331 totem-common
14332 transmission-gtk
14333 vinagre
14334 vino
14335 </p></blockquote>
14336
14337 <p>Installed using aptitude, missing with apt-get</p>
14338
14339 <blockquote><p>
14340 gstreamer0.10-gnomevfs
14341 </p></blockquote>
14342
14343 <p>Installed using aptitude, removed with apt-get</p>
14344
14345 <blockquote><p>
14346 [nothing]
14347 </p></blockquote>
14348
14349 <p>This is for KDE:</p>
14350
14351 <p>Installed using apt-get, missing with aptitude</p>
14352
14353 <blockquote><p>
14354 ksmserver
14355 </p></blockquote>
14356
14357 <p>Installed using apt-get, removed with aptitude</p>
14358
14359 <blockquote><p>
14360 kwin
14361 network-manager-kde
14362 </p></blockquote>
14363
14364 <p>Installed using aptitude, missing with apt-get</p>
14365
14366 <blockquote><p>
14367 arts
14368 dolphin
14369 freespacenotifier
14370 google-gadgets-gst
14371 google-gadgets-xul
14372 kappfinder
14373 kcalc
14374 kcharselect
14375 kde-core
14376 kde-plasma-desktop
14377 kde-standard
14378 kde-window-manager
14379 kdeartwork
14380 kdeartwork-emoticons
14381 kdeartwork-style
14382 kdeartwork-theme-icon
14383 kdebase
14384 kdebase-apps
14385 kdebase-workspace
14386 kdebase-workspace-bin
14387 kdebase-workspace-data
14388 kdeeject
14389 kdelibs
14390 kdeplasma-addons
14391 kdeutils
14392 kdewallpapers
14393 kdf
14394 kfloppy
14395 kgpg
14396 khelpcenter4
14397 kinfocenter
14398 konq-plugins-l10n
14399 konqueror-nsplugins
14400 kscreensaver
14401 kscreensaver-xsavers
14402 ktimer
14403 kwrite
14404 libgle3
14405 libkde4-ruby1.8
14406 libkonq5
14407 libkonq5-templates
14408 libnetpbm10
14409 libplasma-ruby
14410 libplasma-ruby1.8
14411 libqt4-ruby1.8
14412 marble-data
14413 marble-plugins
14414 netpbm
14415 nuvola-icon-theme
14416 plasma-dataengines-workspace
14417 plasma-desktop
14418 plasma-desktopthemes-artwork
14419 plasma-runners-addons
14420 plasma-scriptengine-googlegadgets
14421 plasma-scriptengine-python
14422 plasma-scriptengine-qedje
14423 plasma-scriptengine-ruby
14424 plasma-scriptengine-webkit
14425 plasma-scriptengines
14426 plasma-wallpapers-addons
14427 plasma-widget-folderview
14428 plasma-widget-networkmanagement
14429 ruby
14430 sweeper
14431 update-notifier-kde
14432 xscreensaver-data-extra
14433 xscreensaver-gl
14434 xscreensaver-gl-extra
14435 xscreensaver-screensaver-bsod
14436 </p></blockquote>
14437
14438 <p>Installed using aptitude, removed with apt-get</p>
14439
14440 <blockquote><p>
14441 ark
14442 google-gadgets-common
14443 google-gadgets-qt
14444 htdig
14445 kate
14446 kdebase-bin
14447 kdebase-data
14448 kdepasswd
14449 kfind
14450 klipper
14451 konq-plugins
14452 konqueror
14453 ksysguard
14454 ksysguardd
14455 libarchive1
14456 libcln6
14457 libeet1
14458 libeina-svn-06
14459 libggadget-1.0-0b
14460 libggadget-qt-1.0-0b
14461 libgps19
14462 libkdecorations4
14463 libkephal4
14464 libkonq4
14465 libkonqsidebarplugin4a
14466 libkscreensaver5
14467 libksgrd4
14468 libksignalplotter4
14469 libkunitconversion4
14470 libkwineffects1a
14471 libmarblewidget4
14472 libntrack-qt4-1
14473 libntrack0
14474 libplasma-geolocation-interface4
14475 libplasmaclock4a
14476 libplasmagenericshell4
14477 libprocesscore4a
14478 libprocessui4a
14479 libqalculate5
14480 libqedje0a
14481 libqtruby4shared2
14482 libqzion0a
14483 libruby1.8
14484 libscim8c2a
14485 libsmokekdecore4-3
14486 libsmokekdeui4-3
14487 libsmokekfile3
14488 libsmokekhtml3
14489 libsmokekio3
14490 libsmokeknewstuff2-3
14491 libsmokeknewstuff3-3
14492 libsmokekparts3
14493 libsmokektexteditor3
14494 libsmokekutils3
14495 libsmokenepomuk3
14496 libsmokephonon3
14497 libsmokeplasma3
14498 libsmokeqtcore4-3
14499 libsmokeqtdbus4-3
14500 libsmokeqtgui4-3
14501 libsmokeqtnetwork4-3
14502 libsmokeqtopengl4-3
14503 libsmokeqtscript4-3
14504 libsmokeqtsql4-3
14505 libsmokeqtsvg4-3
14506 libsmokeqttest4-3
14507 libsmokeqtuitools4-3
14508 libsmokeqtwebkit4-3
14509 libsmokeqtxml4-3
14510 libsmokesolid3
14511 libsmokesoprano3
14512 libtaskmanager4a
14513 libtidy-0.99-0
14514 libweather-ion4a
14515 libxklavier16
14516 libxxf86misc1
14517 okteta
14518 oxygencursors
14519 plasma-dataengines-addons
14520 plasma-scriptengine-superkaramba
14521 plasma-widget-lancelot
14522 plasma-widgets-addons
14523 plasma-widgets-workspace
14524 polkit-kde-1
14525 ruby1.8
14526 systemsettings
14527 update-notifier-common
14528 </p></blockquote>
14529
14530 <p>Running apt-get autoremove made the results using apt-get and
14531 aptitude a bit more similar, but there are still quite a lott of
14532 differences. I have no idea what packages should be installed after
14533 the upgrade, but hope those that do can have a look.</p>
14534
14535 </div>
14536 <div class="tags">
14537
14538
14539 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>.
14540
14541
14542 </div>
14543 </div>
14544 <div class="padding"></div>
14545
14546 <div class="entry">
14547 <div class="title">
14548 <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>
14549 </div>
14550 <div class="date">
14551 22nd November 2010
14552 </div>
14553 <div class="body">
14554 <p>Most of the computers in use by the
14555 <a href="http://www.skolelinux.org/">Debian Edu/Skolelinux project</a>
14556 are virtual machines. And they have been Xen machines running on a
14557 fairly old IBM eserver xseries 345 machine, and we wanted to migrate
14558 them to KVM on a newer Dell PowerEdge 2950 host machine. This was a
14559 bit harder that it could have been, because we set up the Xen virtual
14560 machines to get the virtual partitions from LVM, which as far as I
14561 know is not supported by KVM. So to migrate, we had to convert
14562 several LVM logical volumes to partitions on a virtual disk file.</p>
14563
14564 <p>I found
14565 <a href="http://searchnetworking.techtarget.com.au/articles/35011-Six-steps-for-migrating-Xen-virtual-machines-to-KVM">a
14566 nice recipe</a> to do this, and wrote the following script to do the
14567 migration. It uses qemu-img from the qemu package to make the disk
14568 image, parted to partition it, losetup and kpartx to present the disk
14569 image partions as devices, and dd to copy the data. I NFS mounted the
14570 new servers storage area on the old server to do the migration.</p>
14571
14572 <pre>
14573 #!/bin/sh
14574
14575 # Based on
14576 # http://searchnetworking.techtarget.com.au/articles/35011-Six-steps-for-migrating-Xen-virtual-machines-to-KVM
14577
14578 set -e
14579 set -x
14580
14581 if [ -z "$1" ] ; then
14582 echo "Usage: $0 &lt;hostname&gt;"
14583 exit 1
14584 else
14585 host="$1"
14586 fi
14587
14588 if [ ! -e /dev/vg_data/$host-disk ] ; then
14589 echo "error: unable to find LVM volume for $host"
14590 exit 1
14591 fi
14592
14593 # Partitions need to be a bit bigger than the LVM LVs. not sure why.
14594 disksize=$( lvs --units m | grep $host-disk | awk '{sum = sum + $4} END { print int(sum * 1.05) }')
14595 swapsize=$( lvs --units m | grep $host-swap | awk '{sum = sum + $4} END { print int(sum * 1.05) }')
14596 totalsize=$(( ( $disksize + $swapsize ) ))
14597
14598 img=$host.img
14599 #dd if=/dev/zero of=$img bs=1M count=$(( $disksize + $swapsize ))
14600 qemu-img create $img ${totalsize}MMaking room on the Debian Edu/Sqeeze DVD
14601
14602 parted $img mklabel msdos
14603 parted $img mkpart primary linux-swap 0 $disksize
14604 parted $img mkpart primary ext2 $disksize $totalsize
14605 parted $img set 1 boot on
14606
14607 modprobe dm-mod
14608 losetup /dev/loop0 $img
14609 kpartx -a /dev/loop0
14610
14611 dd if=/dev/vg_data/$host-disk of=/dev/mapper/loop0p1 bs=1M
14612 fsck.ext3 -f /dev/mapper/loop0p1 || true
14613 mkswap /dev/mapper/loop0p2
14614
14615 kpartx -d /dev/loop0
14616 losetup -d /dev/loop0
14617 </pre>
14618
14619 <p>The script is perhaps so simple that it is not copyrightable, but
14620 if it is, it is licenced using GPL v2 or later at your discretion.</p>
14621
14622 <p>After doing this, I booted a Debian CD in rescue mode in KVM with
14623 the new disk image attached, installed grub-pc and linux-image-686 and
14624 set up grub to boot from the disk image. After this, the KVM machines
14625 seem to work just fine.</p>
14626
14627 </div>
14628 <div class="tags">
14629
14630
14631 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>.
14632
14633
14634 </div>
14635 </div>
14636 <div class="padding"></div>
14637
14638 <div class="entry">
14639 <div class="title">
14640 <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>
14641 </div>
14642 <div class="date">
14643 20th November 2010
14644 </div>
14645 <div class="body">
14646 <p>I'm still running upgrade testing of the
14647 <a href="http://people.skolelinux.org/~pere/debian-upgrade-testing/">Lenny
14648 Gnome and KDE Desktop</a>, but have not had time to spend on reporting the
14649 status. Here is a short update based on a test I ran 20101118.</p>
14650
14651 <p>I still do not know what a correct migration should look like, so I
14652 report any differences between apt and aptitude and hope someone else
14653 can see if anything should be changed.</p>
14654
14655 <p>This is for Gnome:</p>
14656
14657 <p>Installed using apt-get, missing with aptitude</p>
14658
14659 <blockquote><p>
14660 apache2.2-bin aptdaemon at-spi baobab binfmt-support
14661 browser-plugin-gnash cheese-common cli-common cpp-4.3 cups-pk-helper
14662 dmz-cursor-theme empathy empathy-common finger
14663 freedesktop-sound-theme freeglut3 gconf-defaults-service gdm-themes
14664 gedit-plugins geoclue geoclue-hostip geoclue-localnet geoclue-manual
14665 geoclue-yahoo gnash gnash-common gnome gnome-backgrounds
14666 gnome-cards-data gnome-codec-install gnome-core
14667 gnome-desktop-environment gnome-disk-utility gnome-screenshot
14668 gnome-search-tool gnome-session-canberra gnome-spell
14669 gnome-system-log gnome-themes-extras gnome-themes-more
14670 gnome-user-share gs-common gstreamer0.10-fluendo-mp3
14671 gstreamer0.10-tools gtk2-engines gtk2-engines-pixbuf
14672 gtk2-engines-smooth hal-info hamster-applet libapache2-mod-dnssd
14673 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap
14674 libart2.0-cil libatspi1.0-0 libboost-date-time1.42.0
14675 libboost-python1.42.0 libboost-thread1.42.0 libchamplain-0.4-0
14676 libchamplain-gtk-0.4-0 libcheese-gtk18 libclutter-gtk-0.10-0
14677 libcryptui0 libcupsys2 libdiscid0 libeel2-data libelf1 libepc-1.0-2
14678 libepc-common libepc-ui-1.0-2 libfreerdp-plugins-standard
14679 libfreerdp0 libgail-common libgconf2.0-cil libgdata-common libgdata7
14680 libgdl-1-common libgdu-gtk0 libgee2 libgeoclue0 libgexiv2-0 libgif4
14681 libglade2.0-cil libglib2.0-cil libgmime2.4-cil libgnome-vfs2.0-cil
14682 libgnome2.24-cil libgnomepanel2.24-cil libgnomeprint2.2-data
14683 libgnomeprintui2.2-common libgnomevfs2-bin libgpod-common libgpod4
14684 libgtk2.0-cil libgtkglext1 libgtksourceview-common
14685 libgtksourceview2.0-common libmono-addins-gui0.2-cil
14686 libmono-addins0.2-cil libmono-cairo2.0-cil libmono-corlib2.0-cil
14687 libmono-i18n-west2.0-cil libmono-posix2.0-cil
14688 libmono-security2.0-cil libmono-sharpzip2.84-cil
14689 libmono-system2.0-cil libmtp8 libmusicbrainz3-6
14690 libndesk-dbus-glib1.0-cil libndesk-dbus1.0-cil libopal3.6.8
14691 libpolkit-gtk-1-0 libpt-1.10.10-plugins-alsa
14692 libpt-1.10.10-plugins-v4l libpt2.6.7 libpython2.6 librpm1 librpmio1
14693 libsdl1.2debian libservlet2.4-java libsrtp0 libssh-4
14694 libtelepathy-farsight0 libtelepathy-glib0 libtidy-0.99-0
14695 libxalan2-java libxerces2-java media-player-info mesa-utils
14696 mono-2.0-gac mono-gac mono-runtime nautilus-sendto
14697 nautilus-sendto-empathy openoffice.org-writer2latex
14698 openssl-blacklist p7zip p7zip-full pkg-config python-4suite-xml
14699 python-aptdaemon python-aptdaemon-gtk python-axiom
14700 python-beautifulsoup python-bugbuddy python-clientform
14701 python-coherence python-configobj python-crypto python-cupshelpers
14702 python-cupsutils python-eggtrayicon python-elementtree
14703 python-epsilon python-evolution python-feedparser python-gdata
14704 python-gdbm python-gst0.10 python-gtkglext1 python-gtkmozembed
14705 python-gtksourceview2 python-httplib2 python-louie python-mako
14706 python-markupsafe python-mechanize python-nevow python-notify
14707 python-opengl python-openssl python-pam python-pkg-resources
14708 python-pyasn1 python-pysqlite2 python-rdflib python-serial
14709 python-tagpy python-twisted-bin python-twisted-conch
14710 python-twisted-core python-twisted-web python-utidylib python-webkit
14711 python-xdg python-zope.interface remmina remmina-plugin-data
14712 remmina-plugin-rdp remmina-plugin-vnc rhythmbox-plugin-cdrecorder
14713 rhythmbox-plugins rpm-common rpm2cpio seahorse-plugins shotwell
14714 software-center svgalibg1 system-config-printer-udev
14715 telepathy-gabble telepathy-mission-control-5 telepathy-salut tomboy
14716 totem totem-coherence totem-mozilla totem-plugins
14717 transmission-common xdg-user-dirs xdg-user-dirs-gtk xserver-xephyr
14718 zip
14719 </p></blockquote>
14720
14721 Installed using apt-get, removed with aptitude
14722
14723 <blockquote><p>
14724 arj bluez-utils cheese dhcdbd djvulibre-desktop ekiga eog
14725 epiphany-extensions epiphany-gecko evolution-exchange
14726 fast-user-switch-applet file-roller gcalctool gconf-editor gdm gedit
14727 gedit-common gnome-app-install gnome-games gnome-games-data
14728 gnome-nettool gnome-system-tools gnome-themes gnome-utils
14729 gnome-vfs-obexftp gnome-volume-manager gnuchess gucharmap
14730 guile-1.8-libs hal libavahi-compat-libdnssd1 libavahi-core5
14731 libavahi-ui0 libbind9-50 libbluetooth2 libcamel1.2-11 libcdio7
14732 libcucul0 libcurl3 libdirectfb-1.0-0 libdmx1 libdvdread3
14733 libedata-cal1.2-6 libedataserver1.2-9 libeel2-2.20 libepc-1.0-1
14734 libepc-ui-1.0-1 libexchange-storage1.2-3 libfaad0 libgadu3
14735 libgalago3 libgd2-noxpm libgda3-3 libgda3-common libggz2 libggzcore9
14736 libggzmod4 libgksu1.2-0 libgksuui1.0-1 libgmyth0 libgnome-desktop-2
14737 libgnome-pilot2 libgnomecups1.0-1 libgnomeprint2.2-0
14738 libgnomeprintui2.2-0 libgpod3 libgraphviz4 libgtk-vnc-1.0-0
14739 libgtkhtml2-0 libgtksourceview1.0-0 libgtksourceview2.0-0
14740 libgucharmap6 libhesiod0 libicu38 libisccc50 libisccfg50 libiw29
14741 libjaxp1.3-java-gcj libkpathsea4 liblircclient0 libltdl3 liblwres50
14742 libmagick++10 libmagick10 libmalaga7 libmozjs1d libmpfr1ldbl libmtp7
14743 libmysqlclient15off libnautilus-burn4 libneon27 libnm-glib0
14744 libnm-util0 libopal-2.2 libosp5 libparted1.8-10 libpisock9
14745 libpisync1 libpoppler-glib3 libpoppler3 libpt-1.10.10 libraw1394-8
14746 libsdl1.2debian-alsa libsensors3 libsexy2 libsmbios2 libsoup2.2-8
14747 libspeexdsp1 libssh2-1 libsuitesparse-3.1.0 libsvga1
14748 libswfdec-0.6-90 libtalloc1 libtotem-plparser10 libtrackerclient0
14749 libvoikko1 libxalan2-java-gcj libxerces2-java-gcj libxklavier12
14750 libxtrap6 libxxf86misc1 libzephyr3 mysql-common rhythmbox seahorse
14751 sound-juicer swfdec-gnome system-config-printer totem-common
14752 totem-gstreamer transmission-gtk vinagre vino w3c-dtd-xhtml wodim
14753 </p></blockquote>
14754
14755 <p>Installed using aptitude, missing with apt-get</p>
14756
14757 <blockquote><p>
14758 gstreamer0.10-gnomevfs
14759 </p></blockquote>
14760
14761 <p>Installed using aptitude, removed with apt-get</p>
14762
14763 <blockquote><p>
14764 [nothing]
14765 </p></blockquote>
14766
14767 <p>This is for KDE:</p>
14768
14769 <p>Installed using apt-get, missing with aptitude</p>
14770
14771 <blockquote><p>
14772 autopoint bomber bovo cantor cantor-backend-kalgebra cpp-4.3 dcoprss
14773 edict espeak espeak-data eyesapplet fifteenapplet finger gettext
14774 ghostscript-x git gnome-audio gnugo granatier gs-common
14775 gstreamer0.10-pulseaudio indi kaddressbook-plugins kalgebra
14776 kalzium-data kanjidic kapman kate-plugins kblocks kbreakout kbstate
14777 kde-icons-mono kdeaccessibility kdeaddons-kfile-plugins
14778 kdeadmin-kfile-plugins kdeartwork-misc kdeartwork-theme-window
14779 kdeedu kdeedu-data kdeedu-kvtml-data kdegames kdegames-card-data
14780 kdegames-mahjongg-data kdegraphics-kfile-plugins kdelirc
14781 kdemultimedia-kfile-plugins kdenetwork-kfile-plugins
14782 kdepim-kfile-plugins kdepim-kio-plugins kdessh kdetoys kdewebdev
14783 kdiamond kdnssd kfilereplace kfourinline kgeography-data kigo
14784 killbots kiriki klettres-data kmoon kmrml knewsticker-scripts
14785 kollision kpf krosspython ksirk ksmserver ksquares kstars-data
14786 ksudoku kubrick kweather libasound2-plugins libboost-python1.42.0
14787 libcfitsio3 libconvert-binhex-perl libcrypt-ssleay-perl libdb4.6++
14788 libdjvulibre-text libdotconf1.0 liberror-perl libespeak1
14789 libfinance-quote-perl libgail-common libgsl0ldbl libhtml-parser-perl
14790 libhtml-tableextract-perl libhtml-tagset-perl libhtml-tree-perl
14791 libio-stringy-perl libkdeedu4 libkdegames5 libkiten4 libkpathsea5
14792 libkrossui4 libmailtools-perl libmime-tools-perl
14793 libnews-nntpclient-perl libopenbabel3 libportaudio2 libpulse-browse0
14794 libservlet2.4-java libspeechd2 libtiff-tools libtimedate-perl
14795 libunistring0 liburi-perl libwww-perl libxalan2-java libxerces2-java
14796 lirc luatex marble networkstatus noatun-plugins
14797 openoffice.org-writer2latex palapeli palapeli-data parley
14798 parley-data poster psutils pulseaudio pulseaudio-esound-compat
14799 pulseaudio-module-x11 pulseaudio-utils quanta-data rocs rsync
14800 speech-dispatcher step svgalibg1 texlive-binaries texlive-luatex
14801 ttf-sazanami-gothic
14802 </p></blockquote>
14803
14804 <p>Installed using apt-get, removed with aptitude</p>
14805
14806 <blockquote><p>
14807 amor artsbuilder atlantik atlantikdesigner blinken bluez-utils cvs
14808 dhcdbd djvulibre-desktop imlib-base imlib11 kalzium kanagram kandy
14809 kasteroids katomic kbackgammon kbattleship kblackbox kbounce kbruch
14810 kcron kdat kdemultimedia-kappfinder-data kdeprint kdict kdvi kedit
14811 keduca kenolaba kfax kfaxview kfouleggs kgeography kghostview
14812 kgoldrunner khangman khexedit kiconedit kig kimagemapeditor
14813 kitchensync kiten kjumpingcube klatin klettres klickety klines
14814 klinkstatus kmag kmahjongg kmailcvt kmenuedit kmid kmilo kmines
14815 kmousetool kmouth kmplot knetwalk kodo kolf kommander konquest kooka
14816 kpager kpat kpdf kpercentage kpilot kpoker kpovmodeler krec
14817 kregexpeditor kreversi ksame ksayit kshisen ksig ksim ksirc ksirtet
14818 ksmiletris ksnake ksokoban kspaceduel kstars ksvg ksysv kteatime
14819 ktip ktnef ktouch ktron kttsd ktuberling kturtle ktux kuickshow
14820 kverbos kview kviewshell kvoctrain kwifimanager kwin kwin4 kwordquiz
14821 kworldclock kxsldbg libakode2 libarts1-akode libarts1-audiofile
14822 libarts1-mpeglib libarts1-xine libavahi-compat-libdnssd1
14823 libavahi-core5 libavc1394-0 libbind9-50 libbluetooth2
14824 libboost-python1.34.1 libcucul0 libcurl3 libcvsservice0
14825 libdirectfb-1.0-0 libdjvulibre21 libdvdread3 libfaad0 libfreebob0
14826 libgd2-noxpm libgraphviz4 libgsmme1c2a libgtkhtml2-0 libicu38
14827 libiec61883-0 libindex0 libisccc50 libisccfg50 libiw29
14828 libjaxp1.3-java-gcj libk3b3 libkcal2b libkcddb1 libkdeedu3
14829 libkdegames1 libkdepim1a libkgantt0 libkleopatra1 libkmime2
14830 libkpathsea4 libkpimexchange1 libkpimidentities1 libkscan1
14831 libksieve0 libktnef1 liblockdev1 libltdl3 liblwres50 libmagick10
14832 libmimelib1c2a libmodplug0c2 libmozjs1d libmpcdec3 libmpfr1ldbl
14833 libneon27 libnm-util0 libopensync0 libpisock9 libpoppler-glib3
14834 libpoppler-qt2 libpoppler3 libraw1394-8 librss1 libsensors3
14835 libsmbios2 libssh2-1 libsuitesparse-3.1.0 libswfdec-0.6-90
14836 libtalloc1 libxalan2-java-gcj libxerces2-java-gcj libxtrap6 lskat
14837 mpeglib network-manager-kde noatun pmount tex-common texlive-base
14838 texlive-common texlive-doc-base texlive-fonts-recommended tidy
14839 ttf-dustin ttf-kochi-gothic ttf-sjfonts
14840 </p></blockquote>
14841
14842 <p>Installed using aptitude, missing with apt-get</p>
14843
14844 <blockquote><p>
14845 dolphin kde-core kde-plasma-desktop kde-standard kde-window-manager
14846 kdeartwork kdebase kdebase-apps kdebase-workspace
14847 kdebase-workspace-bin kdebase-workspace-data kdeutils kscreensaver
14848 kscreensaver-xsavers libgle3 libkonq5 libkonq5-templates libnetpbm10
14849 netpbm plasma-widget-folderview plasma-widget-networkmanagement
14850 xscreensaver-data-extra xscreensaver-gl xscreensaver-gl-extra
14851 xscreensaver-screensaver-bsod
14852 </p></blockquote>
14853
14854 <p>Installed using aptitude, removed with apt-get</p>
14855
14856 <blockquote><p>
14857 kdebase-bin konq-plugins konqueror
14858 </p></blockquote>
14859
14860 </div>
14861 <div class="tags">
14862
14863
14864 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>.
14865
14866
14867 </div>
14868 </div>
14869 <div class="padding"></div>
14870
14871 <div class="entry">
14872 <div class="title">
14873 <a href="http://people.skolelinux.org/pere/blog/Gnash_buildbot_slave_and_Debian_kfreebsd.html">Gnash buildbot slave and Debian kfreebsd</a>
14874 </div>
14875 <div class="date">
14876 20th November 2010
14877 </div>
14878 <div class="body">
14879 <p>Answering
14880 <a href="http://www.listware.net/201011/gnash-dev/67431-gnash-dev-buildbot-looking-for-slaves.html">the
14881 call from the Gnash project</a> for
14882 <a href="http://www.gnashdev.org:8010">buildbot</a> slaves to test the
14883 current source, I have set up a virtual KVM machine on the Debian
14884 Edu/Skolelinux virtualization host to test the git source on
14885 Debian/Squeeze. I hope this can help the developers in getting new
14886 releases out more often.</p>
14887
14888 <p>As the developers want less main-stream build platforms tested to,
14889 I have considered setting up a <a
14890 href="http://www.debian.org/ports/kfreebsd-gnu/">Debian/kfreebsd</a>
14891 machine as well. I have also considered using the kfreebsd
14892 architecture in Debian as a file server in NUUG to get access to the 5
14893 TB zfs volume we currently use to store DV video. Because of this, I
14894 finally got around to do a test installation of Debian/Squeeze with
14895 kfreebsd. Installation went fairly smooth, thought I noticed some
14896 visual glitches in the cdebconf dialogs (black cursor left on the
14897 screen at random locations). Have not gotten very far with the
14898 testing. Noticed cfdisk did not work, but fdisk did so it was not a
14899 fatal problem. Have to spend some more time on it to see if it is
14900 useful as a file server for NUUG. Will try to find time to set up a
14901 gnash buildbot slave on the Debian Edu/Skolelinux this weekend.</p>
14902
14903 </div>
14904 <div class="tags">
14905
14906
14907 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>.
14908
14909
14910 </div>
14911 </div>
14912 <div class="padding"></div>
14913
14914 <div class="entry">
14915 <div class="title">
14916 <a href="http://people.skolelinux.org/pere/blog/Debian_in_3D.html">Debian in 3D</a>
14917 </div>
14918 <div class="date">
14919 9th November 2010
14920 </div>
14921 <div class="body">
14922 <p><img src="http://thingiverse-production.s3.amazonaws.com/renders/23/e0/c4/f9/2b/debswagtdose_preview_medium.jpg"></p>
14923
14924 <p>3D printing is just great. I just came across this Debian logo in
14925 3D linked in from
14926 <a href="http://blog.thingiverse.com/2010/11/09/participatory-branding/">the
14927 thingiverse blog</a>.</p>
14928
14929 </div>
14930 <div class="tags">
14931
14932
14933 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>.
14934
14935
14936 </div>
14937 </div>
14938 <div class="padding"></div>
14939
14940 <div class="entry">
14941 <div class="title">
14942 <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>
14943 </div>
14944 <div class="date">
14945 7th November 2010
14946 </div>
14947 <div class="body">
14948 <p>Prioritising packages for the Debian Edu /
14949 <a href="http://www.skolelinux.org/">Skolelinux</a> DVD, which is
14950 supposed provide a school with all the services and user applications
14951 needed on the pupils computer network has always been hard. Even
14952 schools without Internet connections should be able to get Debian Edu
14953 working using this DVD.</p>
14954
14955 <p>The job became a lot harder when apt and aptitude started
14956 installing recommended packages by default. We want the same set of
14957 packages to be installed when using the DVD and the netinst CD, and
14958 that means all recommended packages need to be on the DVD. I created
14959 a patch for debian-cd in <a href="http://bugs.debian.org/601203">BTS
14960 report #601203</a> to do this, and since this change was applied to
14961 the Debian Edu DVD build, we have been seriously short on space.</p>
14962
14963 <p>A few days ago we decided to drop blender, wxmaxima and kicad from
14964 the default installation to save space on the DVD, believing that
14965 those needing these applications are few and can get them from the
14966 Debian archive.</p>
14967
14968 <p>Yesterday, I had a look what source packages to see which packages
14969 were using most space. A few large packages are well know;
14970 openoffice.org, openclipart and fluid-soundfont. But I also
14971 discovered that lilypond used 106 MiB and fglrx-driver used 53 MiB.
14972 The lilypond package is pulled in as a dependency for rosegarden, and
14973 when looking a bit closer I discovered that 99 MiB of the 106 MiB were
14974 the documentation package, which is recommended by the binary package.
14975 I decided to drop this documentation package from our DVD, as most of
14976 our users will use the GUI front-ends and do not need the lilypond
14977 documentation. Similarly, I dropped the non-free fglrx-driver package
14978 which might be installed by d-i when its hardware is detected, as the
14979 free X driver should work.</p>
14980
14981 <p>With this change, we finally got space for the LXDE and Gnome
14982 desktop packages as well as the language specific packages making the
14983 DVD more useful again.</p>
14984
14985 </div>
14986 <div class="tags">
14987
14988
14989 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>.
14990
14991
14992 </div>
14993 </div>
14994 <div class="padding"></div>
14995
14996 <div class="entry">
14997 <div class="title">
14998 <a href="http://people.skolelinux.org/pere/blog/Software_updates_2010_10_24.html">Software updates 2010-10-24</a>
14999 </div>
15000 <div class="date">
15001 24th October 2010
15002 </div>
15003 <div class="body">
15004 <p>Some updates.</p>
15005
15006 <p>My <a href="http://pledgebank.com/gnash-avm2">gnash pledge</a> to
15007 raise money for the project is going well. The lower limit of 10
15008 signers was reached in 24 hours, and so far 13 people have signed it.
15009 More signers and more funding is most welcome, and I am really curious
15010 how far we can get before the time limit of December 24 is reached.
15011 :)</p>
15012
15013 <p>On the #gnash IRC channel on irc.freenode.net, I was just tipped
15014 about what appear to be a great code coverage tool capable of
15015 generating code coverage stats without any changes to the source code.
15016 It is called
15017 <a href="http://simonkagstrom.github.com/kcov/index.html">kcov</a>,
15018 and can be used using <tt>kcov &lt;directory&gt; &lt;binary&gt;</tt>.
15019 It is missing in Debian, but the git source built just fine in Squeeze
15020 after I installed libelf-dev, libdwarf-dev, pkg-config and
15021 libglib2.0-dev. Failed to build in Lenny, but suspect that is
15022 solvable. I hope kcov make it into Debian soon.</p>
15023
15024 <p>Finally found time to wrap up the release notes for <a
15025 href="http://lists.debian.org/debian-edu-announce/2010/10/msg00002.html">a
15026 new alpha release of Debian Edu</a>, and just published the second
15027 alpha test release of the Squeeze based Debian Edu /
15028 <a href="http://www.skolelinux.org/">Skolelinux</a>
15029 release. Give it a try if you need a complete linux solution for your
15030 school, including central infrastructure server, workstations, thin
15031 client servers and diskless workstations. A nice touch added
15032 yesterday is RDP support on the thin client servers, for windows
15033 clients to get a Linux desktop on request.</p>
15034
15035 </div>
15036 <div class="tags">
15037
15038
15039 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>.
15040
15041
15042 </div>
15043 </div>
15044 <div class="padding"></div>
15045
15046 <div class="entry">
15047 <div class="title">
15048 <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>
15049 </div>
15050 <div class="date">
15051 19th October 2010
15052 </div>
15053 <div class="body">
15054 <p><a href="http://www.getgnash.org/">The Gnash project</a> is the
15055 most promising solution for a Free Software Flash implementation. It
15056 has done great so far, but there is still far to go, and recently its
15057 funding has dried up. I believe AVM2 support in Gnash is vital to the
15058 continued progress of the project, as more and more sites show up with
15059 AVM2 flash files.</p>
15060
15061 <p>To try to get funding for developing such support, I have started
15062 <a href="http://www.pledgebank.com/gnash-avm2">a pledge</a> with the
15063 following text:</P>
15064
15065 <p><blockquote>
15066
15067 <p>"I will pay 100$ to the Gnash project to develop AVM2 support but
15068 only if 10 other people will do the same."</p>
15069
15070 <p>- Petter Reinholdtsen, free software developer</p>
15071
15072 <p>Deadline to sign up by: 24th December 2010</p>
15073
15074 <p>The Gnash project need to get support for the new Flash file
15075 format AVM2 to work with a lot of sites using Flash on the
15076 web. Gnash already work with a lot of Flash sites using the old AVM1
15077 format, but more and more sites are using the AVM2 format these
15078 days. The project web page is available from
15079 http://www.getgnash.org/ . Gnash is a free software implementation
15080 of Adobe Flash, allowing those of us that do not accept the terms of
15081 the Adobe Flash license to get access to Flash sites.</p>
15082
15083 <p>The project need funding to get developers to put aside enough
15084 time to develop the AVM2 support, and this pledge is my way to try
15085 to get this to happen.</p>
15086
15087 <p>The project accept donations via the OpenMediaNow foundation,
15088 <a href="http://www.openmedianow.org/?q=node/32">http://www.openmedianow.org/?q=node/32</a> .</p>
15089
15090 </blockquote></p>
15091
15092 <p>I hope you will support this effort too. I hope more than 10
15093 people will participate to make this happen. The more money the
15094 project gets, the more features it can develop using these funds.
15095 :)</p>
15096
15097 </div>
15098 <div class="tags">
15099
15100
15101 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>.
15102
15103
15104 </div>
15105 </div>
15106 <div class="padding"></div>
15107
15108 <div class="entry">
15109 <div class="title">
15110 <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>
15111 </div>
15112 <div class="date">
15113 9th October 2010
15114 </div>
15115 <div class="body">
15116 <p>This summer I got the chance to buy cheap Spykee robots, and since
15117 then I have worked on getting Linux software in place to control them.
15118 The firmware for the robot is available from the producer, and using
15119 that source it was trivial to figure out the protocol specification.
15120 I've started on a perl library to control it, and made some demo
15121 programs using this perl library to allow one to control the
15122 robots.</p>
15123
15124 <p>The library is quite functional already, and capable of controlling
15125 the driving, fetching video, uploading MP3s and play them. There are
15126 a few less important features too.</p>
15127
15128 <p>Since a few weeks ago, I ran out of time to spend on this project,
15129 but I never got around to releasing the current source. I decided
15130 today that it was time to do something about it, and uploaded the
15131 source to my Debian package store at people.skolelinux.org.</p>
15132
15133 <p>Because it was simpler for me, I made a Debian package and
15134 published the source and deb. If you got a spykee robot, grab the
15135 source or binary package:</p>
15136
15137 <p><ul>
15138 <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>
15139 <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>
15140 <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>
15141 </ul></p>
15142
15143 <p>If you are interested in helping out with developing this library,
15144 please let me know.</p>
15145
15146 </div>
15147 <div class="tags">
15148
15149
15150 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>.
15151
15152
15153 </div>
15154 </div>
15155 <div class="padding"></div>
15156
15157 <div class="entry">
15158 <div class="title">
15159 <a href="http://people.skolelinux.org/pere/blog/Links_for_2010_10_03.html">Links for 2010-10-03</a>
15160 </div>
15161 <div class="date">
15162 3rd October 2010
15163 </div>
15164 <div class="body">
15165 <p><ul>
15166
15167 <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
15168 is no Plan B: why the IPv4-to-IPv6 transition will be ugly</a></li>
15169
15170 <li>Scanner looking under clothes
15171 <a href="http://www.dagbladet.no/2010/10/03/nyheter/utenriks/reise/overvakingskamera/flyplasser/13667192/">has
15172 already been misused at Heathrow</a>.</li>
15173
15174 <li><a href="http://wiki.softwarelivre.org/Landell">Landell
15175 Webcasting</a> - interesting alternative for
15176 <ahref="http://dvswitch.alioth.debian.org/wiki/">DVSwitch</a> with
15177 simple setup.
15178
15179 </ul></p>
15180
15181 </div>
15182 <div class="tags">
15183
15184
15185 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>.
15186
15187
15188 </div>
15189 </div>
15190 <div class="padding"></div>
15191
15192 <div class="entry">
15193 <div class="title">
15194 <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>
15195 </div>
15196 <div class="date">
15197 9th September 2010
15198 </div>
15199 <div class="body">
15200 <p>A few days ago I had the mixed pleasure of bying a new digital
15201 camera, a Canon IXUS 130. It was instructive and very disturbing to
15202 be able to verify that also this camera producer have the nerve to
15203 specify how I can or can not use the videos produced with the camera.
15204 Even thought I was aware of the issue, the options with new cameras
15205 are limited and I ended up bying the camera anyway. What is the
15206 problem, you might ask? It is software patents, MPEG-4, H.264 and the
15207 MPEG-LA that is the problem, and our right to record our experiences
15208 without asking for permissions that is at risk.
15209
15210 <p>On page 27 of the Danish instruction manual, this section is
15211 written:</p>
15212
15213 <blockquote>
15214 <p>This product is licensed under AT&T patents for the MPEG-4 standard
15215 and may be used for encoding MPEG-4 compliant video and/or decoding
15216 MPEG-4 compliant video that was encoded only (1) for a personal and
15217 non-commercial purpose or (2) by a video provider licensed under the
15218 AT&T patents to provide MPEG-4 compliant video.</p>
15219
15220 <p>No license is granted or implied for any other use for MPEG-4
15221 standard.</p>
15222 </blockquote>
15223
15224 <p>In short, the camera producer have chosen to use technology
15225 (MPEG-4/H.264) that is only provided if I used it for personal and
15226 non-commercial purposes, or ask for permission from the organisations
15227 holding the knowledge monopoly (patent) for technology used.</p>
15228
15229 <p>This issue has been brewing for a while, and I recommend you to
15230 read
15231 "<a href="http://www.osnews.com/story/23236/Why_Our_Civilization_s_Video_Art_and_Culture_is_Threatened_by_the_MPEG-LA">Why
15232 Our Civilization's Video Art and Culture is Threatened by the
15233 MPEG-LA</a>" by Eugenia Loli-Queru and
15234 "<a href="http://webmink.com/2010/09/03/h-264-and-foss/">H.264 Is Not
15235 The Sort Of Free That Matters</a>" by Simon Phipps to learn more about
15236 the issue. The solution is to support the
15237 <a href="http://www.digistan.org/open-standard:definition">free and
15238 open standards</a> for video, like <a href="http://www.theora.org/">Ogg
15239 Theora</a>, and avoid MPEG-4 and H.264 if you can.</p>
15240
15241 </div>
15242 <div class="tags">
15243
15244
15245 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>.
15246
15247
15248 </div>
15249 </div>
15250 <div class="padding"></div>
15251
15252 <div class="entry">
15253 <div class="title">
15254 <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>
15255 </div>
15256 <div class="date">
15257 4th September 2010
15258 </div>
15259 <div class="body">
15260 <p>In the <a href="http://popcon.debian.org/unknown/by_vote">Debian
15261 popularity-contest numbers</a>, the adobe-flashplugin package the
15262 second most popular used package that is missing in Debian. The sixth
15263 most popular is flashplayer-mozilla. This is a clear indication that
15264 working flash is important for Debian users. Around 10 percent of the
15265 users submitting data to popcon.debian.org have this package
15266 installed.</p>
15267
15268 <p>In the report written by Lars Risan in August 2008
15269 («<a href="http://wiki.skolelinux.no/Dokumentasjon/Rapporter?action=AttachFile&do=view&target=Skolelinux_i_bruk_rapport_1.0.pdf">Skolelinux
15270 i bruk – Rapport for Hurum kommune, Universitetet i Agder og
15271 stiftelsen SLX Debian Labs</a>»), one of the most important problems
15272 schools experienced with <a href="http://www.skolelinux.org/">Debian
15273 Edu/Skolelinux</a> was the lack of working Flash. A lot of educational
15274 web sites require Flash to work, and lacking working Flash support in
15275 the web browser and the problems with installing it was perceived as a
15276 good reason to stay with Windows.</p>
15277
15278 <p>I once saw a funny and sad comment in a web forum, where Linux was
15279 said to be the retarded cousin that did not really understand
15280 everything you told him but could work fairly well. This was a
15281 comment regarding the problems Linux have with proprietary formats and
15282 non-standard web pages, and is sad because it exposes a fairly common
15283 understanding of whose fault it is if web pages that only work in for
15284 example Internet Explorer 6 fail to work on Firefox, and funny because
15285 it explain very well how annoying it is for users when Linux
15286 distributions do not work with the documents they receive or the web
15287 pages they want to visit.</p>
15288
15289 <p>This is part of the reason why I believe it is important for Debian
15290 and Debian Edu to have a well working Flash implementation in the
15291 distribution, to get at least popular sites as Youtube and Google
15292 Video to working out of the box. For Squeeze, Debian have the chance
15293 to include the latest version of Gnash that will make this happen, as
15294 the new release 0.8.8 was published a few weeks ago and is resting in
15295 unstable. The new version work with more sites that version 0.8.7.
15296 The Gnash maintainers have asked for a freeze exception, but the
15297 release team have not had time to reply to it yet. I hope they agree
15298 with me that Flash is important for the Debian desktop users, and thus
15299 accept the new package into Squeeze.</p>
15300
15301 </div>
15302 <div class="tags">
15303
15304
15305 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>.
15306
15307
15308 </div>
15309 </div>
15310 <div class="padding"></div>
15311
15312 <div class="entry">
15313 <div class="title">
15314 <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>
15315 </div>
15316 <div class="date">
15317 1st September 2010
15318 </div>
15319 <div class="body">
15320 <p>This evening I made my first Perl GUI application. The last few
15321 days I have worked on a Perl module for controlling my recently
15322 aquired Spykee robots, and the module is now getting complete enought
15323 that it is possible to use it to control the robot driving at least.
15324 It was now time to figure out how to use it to create some GUI to
15325 allow me to drive the robot around. I picked PerlQt as I have had
15326 positive experiences with the Qt API before, and spent a few minutes
15327 browsing the web for examples. Using Qt Designer seemed like a short
15328 cut, so I ended up writing the perl GUI using Qt Designer and
15329 compiling it into a perl program using the puic program from
15330 libqt-perl. Nothing fancy yet, but it got buttons to connect and
15331 drive around.</p>
15332
15333 <p>The perl module I have written provide a object oriented API for
15334 controlling the robot. Here is an small example on how to use it:</p>
15335
15336 <p><pre>
15337 use Spykee;
15338 Spykee::discover(sub {$robot{$_[0]} = $_[1]});
15339 my $host = (keys %robot)[0];
15340 my $spykee = Spykee->new();
15341 $spykee->contact($host, "admin", "admin");
15342 $spykee->left();
15343 sleep 2;
15344 $spykee->right();
15345 sleep 2;
15346 $spykee->forward();
15347 sleep 2;
15348 $spykee->back();
15349 sleep 2;
15350 $spykee->stop();
15351 </pre></p>
15352
15353 <p>Thanks to the release of the source of the robot firmware, I could
15354 peek into the implementation at the other end to figure out how to
15355 implement the protocol used by the robot. I've implemented several of
15356 the commands the robot understand, but is still missing the camera
15357 support to make it possible to control the robot from remote. First I
15358 want to implement support for uploading new firmware and configuring
15359 the wireless network, to make it possible to bootstrap a Spykee robot
15360 without the producers Windows and MacOSX software (I only have Linux,
15361 so I had to ask a friend to come over to get the robot testing
15362 going. :).</p>
15363
15364 <p>Will release the source to the public soon, but need to figure out
15365 where to make it available first. I will add a link to
15366 <a href="http://wiki.nuug.no/grupper/robot/">the NUUG wiki</a> for
15367 those that want to check back later to find it.</p>
15368
15369 </div>
15370 <div class="tags">
15371
15372
15373 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>.
15374
15375
15376 </div>
15377 </div>
15378 <div class="padding"></div>
15379
15380 <div class="entry">
15381 <div class="title">
15382 <a href="http://people.skolelinux.org/pere/blog/Broken_hard_link_handling_with_sshfs.html">Broken hard link handling with sshfs</a>
15383 </div>
15384 <div class="date">
15385 30th August 2010
15386 </div>
15387 <div class="body">
15388 <p>Just got an email from Tobias Gruetzmacher as a followup on my
15389 <a href="http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html">previous
15390 post about sshfs</a>. He reported another problem with sshfs. It
15391 fail to handle hard links properly. A simple way to spot this is to
15392 look at the . and .. entries in the directory tree. These should have
15393 a link count >1, but on sshfs the count is 1. I just tested to see
15394 what happen when trying to hardlink, and this fail as well:</p>
15395
15396 <pre>
15397 % ln foo bar
15398 ln: creating hard link `bar' => `foo': Function not implemented
15399 %
15400 </pre>
15401
15402 <p>I have not yet found time to implement a test for this in my file
15403 system test code, but believe having working hard links is useful to
15404 avoid surprised unix programs. Not as useful as working file locking
15405 and symlinks, which are required to get a working desktop, but useful
15406 nevertheless. :)</p>
15407
15408 <p>The latest version of the file system test code is available via
15409 git from
15410 <a href="http://github.com/gebi/fs-test">http://github.com/gebi/fs-test</a></p>
15411
15412 </div>
15413 <div class="tags">
15414
15415
15416 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>.
15417
15418
15419 </div>
15420 </div>
15421 <div class="padding"></div>
15422
15423 <div class="entry">
15424 <div class="title">
15425 <a href="http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html">Broken umask handling with sshfs</a>
15426 </div>
15427 <div class="date">
15428 26th August 2010
15429 </div>
15430 <div class="body">
15431 <p>My file system sematics program
15432 <a href="http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html">presented
15433 a few days ago</a> is very useful to verify that a file system can
15434 work as a unix home directory,and today I had to extend it a bit. I'm
15435 looking into alternatives for home directory access here at the
15436 University of Oslo, and one of the options is sshfs. My friend
15437 Finn-Arne mentioned a while back that they had used sshfs with Debian
15438 Edu, but stopped because of problems. I asked today what the problems
15439 where, and he mentioned that sshfs failed to handle umask properly.
15440 Trying to detect the problem I wrote this addition to my fs testing
15441 script:</p>
15442
15443 <pre>
15444 mode_t touch_get_mode(const char *name, mode_t mode) {
15445 mode_t retval = 0;
15446 int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, mode);
15447 if (-1 != fd) {
15448 unlink(name);
15449 struct stat statbuf;
15450 if (-1 != fstat(fd, &statbuf)) {
15451 retval = statbuf.st_mode & 0x1ff;
15452 }
15453 close(fd);
15454 }
15455 return retval;
15456 }
15457
15458 /* Try to detect problem discovered using sshfs */
15459 int test_umask(void) {
15460 printf("info: testing umask effect on file creation\n");
15461
15462 mode_t orig_umask = umask(000);
15463 mode_t newmode;
15464 if (0666 != (newmode = touch_get_mode("foobar", 0666))) {
15465 printf(" error: Wrong file mode %o when creating using mode 666 and umask 000\n",
15466 newmode);
15467 }
15468 umask(007);
15469 if (0660 != (newmode = touch_get_mode("foobar", 0666))) {
15470 printf(" error: Wrong file mode %o when creating using mode 666 and umask 007\n",
15471 newmode);
15472 }
15473
15474 umask (orig_umask);
15475 return 0;
15476 }
15477
15478 int main(int argc, char **argv) {
15479 [...]
15480 test_umask();
15481 return 0;
15482 }
15483 </pre>
15484
15485 <p>Sure enough. On NFS to a netapp, I get this result:</p>
15486
15487 <pre>
15488 Testing POSIX/Unix sematics on file system
15489 info: testing symlink creation
15490 info: testing subdirectory creation
15491 info: testing fcntl locking
15492 Read-locking 1 byte from 1073741824
15493 Read-locking 510 byte from 1073741826
15494 Unlocking 1 byte from 1073741824
15495 Write-locking 1 byte from 1073741824
15496 Write-locking 510 byte from 1073741826
15497 Unlocking 2 byte from 1073741824
15498 info: testing umask effect on file creation
15499 </pre>
15500
15501 <p>When mounting the same directory using sshfs, I get this
15502 result:</p>
15503
15504 <pre>
15505 Testing POSIX/Unix sematics on file system
15506 info: testing symlink creation
15507 info: testing subdirectory creation
15508 info: testing fcntl locking
15509 Read-locking 1 byte from 1073741824
15510 Read-locking 510 byte from 1073741826
15511 Unlocking 1 byte from 1073741824
15512 Write-locking 1 byte from 1073741824
15513 Write-locking 510 byte from 1073741826
15514 Unlocking 2 byte from 1073741824
15515 info: testing umask effect on file creation
15516 error: Wrong file mode 644 when creating using mode 666 and umask 000
15517 error: Wrong file mode 640 when creating using mode 666 and umask 007
15518 </pre>
15519
15520 <p>So, I can conclude that sshfs is better than smb to a Netapp or a
15521 Windows server, but not good enough to be used as a home
15522 directory.</p>
15523
15524 <p>Update 2010-08-26: Reported the issue in
15525 <a href="http://bugs.debian.org/594498">BTS report #594498</a></p>
15526
15527 <p>Update 2010-08-27: Michael Gebetsroither report that he found the
15528 script so useful that he created a GIT repository and stored it in
15529 <a href="http://github.com/gebi/fs-test">http://github.com/gebi/fs-test</a>.</p>
15530
15531 </div>
15532 <div class="tags">
15533
15534
15535 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>.
15536
15537
15538 </div>
15539 </div>
15540 <div class="padding"></div>
15541
15542 <div class="entry">
15543 <div class="title">
15544 <a href="http://people.skolelinux.org/pere/blog/Rob_Weir__How_to_Crush_Dissent.html">Rob Weir: How to Crush Dissent</a>
15545 </div>
15546 <div class="date">
15547 15th August 2010
15548 </div>
15549 <div class="body">
15550 <p>I found the notes from Rob Weir on
15551 <a href="http://feedproxy.google.com/~r/robweir/antic-atom/~3/VGb23-kta8c/how-to-crush-dissent.html">how
15552 to crush dissent</a> matching my own thoughts on the matter quite
15553 well. Highly recommended for those wondering which road our society
15554 should go down. In my view we have been heading the wrong way for a
15555 long time.</p>
15556
15557 </div>
15558 <div class="tags">
15559
15560
15561 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>.
15562
15563
15564 </div>
15565 </div>
15566 <div class="padding"></div>
15567
15568 <div class="entry">
15569 <div class="title">
15570 <a href="http://people.skolelinux.org/pere/blog/No_hardcoded_config_on_Debian_Edu_clients.html">No hardcoded config on Debian Edu clients</a>
15571 </div>
15572 <div class="date">
15573 9th August 2010
15574 </div>
15575 <div class="body">
15576 <p>As reported earlier, the last few days I have looked at how Debian
15577 Edu clients are configured, and tried to get rid of all hardcoded
15578 configuration settings on the clients. I believe the work to be
15579 mostly done, and the clients seem to work just fine with dynamically
15580 generated configuration.</p>
15581
15582 <p>What is the point, you might ask? The point is to allow a Debian
15583 Edu desktop to integrate into an existing network infrastructure
15584 without any manual configuration.</p>
15585
15586 <p>This is what happens when installing a Debian Edu client here at
15587 the University of Oslo using PXE. With the PXE installation, I am
15588 asked for language (Norwegian Bokmål), locality (Norway) and keyboard
15589 layout (no-latin1), Debian Edu profile (Roaming Workstation), if I
15590 accept to reformat the hard drive (yes), if I want to submit info to
15591 popcon.debian.org (no) and root password (secret). After answering
15592 these questions, the installer goes ahead and does its thing, and
15593 after around 50 minutes it is done. I press enter to finish the
15594 installation, and the machine reboots into KDE. When the machine is
15595 ready and kdm asks for login information, I enter my university
15596 username and password, am told by kdm that a local home directory has
15597 been created and that I must log in again, and finally log in with the
15598 same username and password to the KDE 4.4 desktop. At no point during
15599 this process did it ask for university specific settings, and all the
15600 required configuration was dynamically detected using information
15601 fetched via DHCP and DNS. The roaming workstation is now ready for
15602 use.</p>
15603
15604 <p>How was this done, you might wonder? First of all, here is the
15605 list of things that need to be configured on the client to get it
15606 working properly out of the box:</p>
15607
15608 <ul>
15609 <li>IP address/netmask and DNS server.</li>
15610 <li>Web proxy URL.</li>
15611 <li>LDAP server for NSS directory information (user, group, etc).</li>
15612 <li>Kerberos server for PAM password checking.</li>
15613 <li>SMB mount point to access the network home directory. (*)</li>
15614 <li>Central syslog server to send syslog messages to. (*)</li>
15615 <li>Sitesummary collector URL to submit info to central server. (*)</li>
15616 </ul>
15617
15618 <p>(Hm, did I forget anything? Let me knew if I did.)</p>
15619
15620 <p>The points marked (*) are not required to be able to use the
15621 machine, but needed to provide central storage and allowing system
15622 administrators to track their machines. Since yesterday, everything
15623 but the sitesummary collector URL is dynamically discovered at boot
15624 and installation time in the svn version of Debian Edu.</p>
15625
15626 <p>The IP and DNS setup is fetched during boot using DHCP as usual.
15627 When a DHCP update arrives, the proxy setup is updated by looking for
15628 http://wpat/wpad.dat and using the content of this WPAD file to
15629 configure the http and ftp proxy in /etc/environment and
15630 /etc/apt/apt.conf. I decided to update the proxy setup using a DHCP
15631 hook to ensure that the client stops using the Debian Edu proxy when
15632 it is moved outside the Debian Edu network, and instead uses any local
15633 proxy present on the new network when it moves around.</p>
15634
15635 <p>The DNS names of the LDAP, Kerberos and syslog server and related
15636 configuration are generated using DNS information at boot. First the
15637 installer looks for a host named ldap in the current DNS domain. If
15638 not found, it looks for _ldap._tcp SRV records in DNS instead. If an
15639 LDAP server is found, its root DSE entry is requested and the
15640 attributes namingContexts and defaultNamingContext are used to
15641 determine which LDAP base to use for NSS. If there are several
15642 namingContexts attibutes and the defaultNamingContext is present, that
15643 LDAP subtree is used as the base. If defaultNamingContext is missing,
15644 the subtrees listed as namingContexts are searched in sequence for any
15645 object with class posixAccount or posixGroup, and the first one with
15646 such an object is used as the LDAP base. For Kerberos, a similar
15647 search is done by first looking for a host named kerberos, and then
15648 for the _kerberos._tcp SRV record. I've been unable to find a way to
15649 look up the Kerberos realm, so for this the upper case string of the
15650 current DNS domain is used.</p>
15651
15652 <p>For the syslog server, the hosts syslog and loghost are searched
15653 for, and the _syslog._udp SRV record is consulted if no such host is
15654 found. This algorithm works for both Debian Edu and the University of
15655 Oslo. A similar strategy would work for locating the sitesummary
15656 server, but have not been implemented yet. I decided to fetch and
15657 save these settings during installation, to make sure moving to a
15658 different network does not change the set of users being allowed to
15659 log in nor the passwords required to log in. Usernames and passwords
15660 will be cached by sssd when the user logs in on the Debian Edu
15661 network, and will not change as the laptop move around. For a
15662 non-roaming machine, there is no caching, but given that it is
15663 supposed to stay in place it should not matter much. Perhaps we
15664 should switch those to use sssd too?</p>
15665
15666 <p>The user's SMB mount point for the network home directory is
15667 located when the user logs in for the first time. The LDAP server is
15668 consulted to look for the user's LDAP object and the sambaHomePath
15669 attribute is used if found. If it isn't found, the home directory
15670 path fetched from NSS is used instead. Assuming the path is of the
15671 form /site/server/directory/username, the second part is looked up in
15672 DNS and used to generate a SMB URL of the form
15673 smb://server.domain/username. This algorithm works for both Debian
15674 edu and the University of Oslo. Perhaps there are better attributes
15675 to use or a better algorithm that works for more sites, but this will
15676 do for now. :)</p>
15677
15678 <p>This work should make it easier to integrate the Debian Edu clients
15679 into any LDAP/Kerberos infrastructure, and make the current setup even
15680 more flexible than before. I suspect it will also work for thin
15681 client servers, allowing one to easily set up LTSP and hook it into a
15682 existing network infrastructure, but I have not had time to test this
15683 yet.</p>
15684
15685 <p>If you want to help out with implementing these things for Debian
15686 Edu, please contact us on debian-edu@lists.debian.org.</p>
15687
15688 <p>Update 2010-08-09: Simon Farnsworth gave me a heads-up on how to
15689 detect Kerberos realm from DNS, by looking for _kerberos TXT entries
15690 before falling back to the upper case DNS domain name. Will have to
15691 implement it for Debian Edu. :)</p>
15692
15693 </div>
15694 <div class="tags">
15695
15696
15697 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>.
15698
15699
15700 </div>
15701 </div>
15702 <div class="padding"></div>
15703
15704 <div class="entry">
15705 <div class="title">
15706 <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>
15707 </div>
15708 <div class="date">
15709 8th August 2010
15710 </div>
15711 <div class="body">
15712 <p>A few years ago, I was involved in a project planning to use
15713 Windows file servers as home directory servers for Debian
15714 Edu/Skolelinux machines. This was thought to be no problem, as the
15715 access would be through the SMB network file system protocol, and we
15716 knew other sites used SMB with unix and samba as the file server to
15717 mount home directories without any problems. But, after months of
15718 struggling, we had to conclude that our goal was impossible.</p>
15719
15720 <p>The reason is simply that while SMB can be used for home
15721 directories when the file server is Samba running on Unix, this only
15722 work because of Samba have some extensions and the fact that the
15723 underlying file system is a unix file system. When using a Windows
15724 file server, the underlying file system do not have POSIX semantics,
15725 and several programs will fail if the users home directory where they
15726 want to store their configuration lack POSIX semantics.</p>
15727
15728 <p>As part of this work, I wrote a small C program I want to share
15729 with you all, to replicate a few of the problematic applications (like
15730 OpenOffice.org and GCompris) and see if the file system was working as
15731 it should. If you find yourself in spooky file system land, it might
15732 help you find your way out again. This is the fs-test.c source:</p>
15733
15734 <pre>
15735 /*
15736 * Some tests to check the file system sematics. Used to verify that
15737 * CIFS from a windows server do not work properly as a linux home
15738 * directory.
15739 * License: GPL v2 or later
15740 *
15741 * needs libsqlite3-dev and build-essential installed
15742 * compile with: gcc -Wall -lsqlite3 -DTEST_SQLITE fs-test.c -o fs-test
15743 */
15744
15745 #define _FILE_OFFSET_BITS 64
15746 #define _LARGEFILE_SOURCE 1
15747 #define _LARGEFILE64_SOURCE 1
15748
15749 #define _GNU_SOURCE /* for asprintf() */
15750
15751 #include &lt;errno.h>
15752 #include &lt;fcntl.h>
15753 #include &lt;stdio.h>
15754 #include &lt;string.h>
15755 #include &lt;stdlib.h>
15756 #include &lt;sys/file.h>
15757 #include &lt;sys/stat.h>
15758 #include &lt;sys/types.h>
15759 #include &lt;unistd.h>
15760
15761 #ifdef TEST_SQLITE
15762 /*
15763 * Test sqlite open, as done by gcompris require the libsqlite3-dev
15764 * package and linking with -lsqlite3. A more low level test is
15765 * below.
15766 * See also &lt;URL: http://www.sqlite.org./faq.html#q5 >.
15767 */
15768 #include &lt;sqlite3.h>
15769 #define CREATE_TABLE_USERS \
15770 "CREATE TABLE users (user_id INT UNIQUE, login TEXT, lastname TEXT, firstname TEXT, birthdate TEXT, class_id INT ); "
15771 int test_sqlite_open(void) {
15772 char *zErrMsg;
15773 char *name = "testsqlite.db";
15774 sqlite3 *db=NULL;
15775 unlink(name);
15776 int rc = sqlite3_open(name, &db);
15777 if( rc ){
15778 printf("error: sqlite open of %s failed: %s\n", name, sqlite3_errmsg(db));
15779 sqlite3_close(db);
15780 return -1;
15781 }
15782
15783 /* create tables */
15784 rc = sqlite3_exec(db,CREATE_TABLE_USERS, NULL, 0, &zErrMsg);
15785 if( rc != SQLITE_OK ){
15786 printf("error: sqlite table create failed: %s\n", zErrMsg);
15787 sqlite3_close(db);
15788 return -1;
15789 }
15790 printf("info: sqlite worked\n");
15791 sqlite3_close(db);
15792 return 0;
15793 }
15794 #endif /* TEST_SQLITE */
15795
15796 /*
15797 * Demonstrate locking issue found in gcompris using sqlite3. This
15798 * work with ext3, but not with cifs server on Windows 2003. This is
15799 * done in the sqlite3 library.
15800 * See also
15801 * &lt;URL:http://www.cygwin.com/ml/cygwin/2001-08/msg00854.html> and the
15802 * POSIX specification
15803 * &lt;URL:http://www.opengroup.org/onlinepubs/009695399/functions/fcntl.html>.
15804 */
15805 int test_gcompris_locking(void) {
15806 struct flock fl;
15807 char *name = "testsqlite.db";
15808 unlink(name);
15809 int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, 0644);
15810 printf("info: testing fcntl locking\n");
15811
15812 fl.l_whence = SEEK_SET;
15813 fl.l_pid = getpid();
15814 printf(" Read-locking 1 byte from 1073741824");
15815 fl.l_start = 1073741824;
15816 fl.l_len = 1;
15817 fl.l_type = F_RDLCK;
15818 if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
15819
15820 printf(" Read-locking 510 byte from 1073741826");
15821 fl.l_start = 1073741826;
15822 fl.l_len = 510;
15823 fl.l_type = F_RDLCK;
15824 if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
15825
15826 printf(" Unlocking 1 byte from 1073741824");
15827 fl.l_start = 1073741824;
15828 fl.l_len = 1;
15829 fl.l_type = F_UNLCK;
15830 if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
15831
15832 printf(" Write-locking 1 byte from 1073741824");
15833 fl.l_start = 1073741824;
15834 fl.l_len = 1;
15835 fl.l_type = F_WRLCK;
15836 if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
15837
15838 printf(" Write-locking 510 byte from 1073741826");
15839 fl.l_start = 1073741826;
15840 fl.l_len = 510;
15841 if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
15842
15843 printf(" Unlocking 2 byte from 1073741824");
15844 fl.l_start = 1073741824;
15845 fl.l_len = 2;
15846 fl.l_type = F_UNLCK;
15847 if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
15848
15849 close(fd);
15850 return 0;
15851 }
15852
15853 /*
15854 * Test if permissions of freshly created directories allow entries
15855 * below them. This was a problem with OpenOffice.org and gcompris.
15856 * Mounting with option 'sync' seem to solve this problem while
15857 * slowing down file operations.
15858 */
15859 int test_subdirectory_creation(void) {
15860 #define LEVELS 5
15861 char *path = strdup("test");
15862 char *dirs[LEVELS];
15863 int level;
15864 printf("info: testing subdirectory creation\n");
15865 for (level = 0; level &lt; LEVELS; level++) {
15866 char *newpath = NULL;
15867 if (-1 == mkdir(path, 0777)) {
15868 printf(" error: Unable to create directory '%s': %s\n",
15869 path, strerror(errno));
15870 break;
15871 }
15872 asprintf(&newpath, "%s/%s", path, "test");
15873 free(path);
15874 path = newpath;
15875 }
15876 return 0;
15877 }
15878
15879 /*
15880 * Test if symlinks can be created. This was a problem detected with
15881 * KDE.
15882 */
15883 int test_symlinks(void) {
15884 printf("info: testing symlink creation\n");
15885 unlink("symlink");
15886 if (-1 == symlink("file", "symlink"))
15887 printf(" error: Unable to create symlink\n");
15888 return 0;
15889 }
15890
15891 int main(int argc, char **argv) {
15892 printf("Testing POSIX/Unix sematics on file system\n");
15893 test_symlinks();
15894 test_subdirectory_creation();
15895 #ifdef TEST_SQLITE
15896 test_sqlite_open();
15897 #endif /* TEST_SQLITE */
15898 test_gcompris_locking();
15899 return 0;
15900 }
15901 </pre>
15902
15903 <p>When everything is working, it should print something like
15904 this:</p>
15905
15906 <pre>
15907 Testing POSIX/Unix sematics on file system
15908 info: testing symlink creation
15909 info: testing subdirectory creation
15910 info: sqlite worked
15911 info: testing fcntl locking
15912 Read-locking 1 byte from 1073741824
15913 Read-locking 510 byte from 1073741826
15914 Unlocking 1 byte from 1073741824
15915 Write-locking 1 byte from 1073741824
15916 Write-locking 510 byte from 1073741826
15917 Unlocking 2 byte from 1073741824
15918 </pre>
15919
15920 <p>I do not remember the exact details of the problems we saw, but one
15921 of them was with locking, where if I remember correctly, POSIX allow a
15922 read-only lock to be upgraded to a read-write lock without unlocking
15923 the read-only lock (while Windows do not). Another was a bug in the
15924 CIFS/SMB client implementation in the Linux kernel where directory
15925 meta information would be wrong for a fraction of a second, making
15926 OpenOffice.org fail to create its deep directory tree because it was
15927 not allowed to create files in its freshly created directory.</p>
15928
15929 <p>Anyway, here is a nice tool for your tool box, might you never need
15930 it. :)</p>
15931
15932 <p>Update 2010-08-27: Michael Gebetsroither report that he found the
15933 script so useful that he created a GIT repository and stored it in
15934 <a href="http://github.com/gebi/fs-test">http://github.com/gebi/fs-test</a>.</p>
15935
15936 </div>
15937 <div class="tags">
15938
15939
15940 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>.
15941
15942
15943 </div>
15944 </div>
15945 <div class="padding"></div>
15946
15947 <div class="entry">
15948 <div class="title">
15949 <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>
15950 </div>
15951 <div class="date">
15952 7th August 2010
15953 </div>
15954 <div class="body">
15955 <p>A few days ago, I
15956 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html">tried
15957 to install</a> a Roaming workation profile from Debian Edu/Squeeze
15958 while on the university network here at the University of Oslo, and
15959 noticed how much had to change to get it operational using the
15960 university infrastructure. It was fairly easy, but it occured to me
15961 that Debian Edu would improve a lot if I could get the client to
15962 connect without any changes at all, and thus let the client configure
15963 itself during installation and first boot to use the infrastructure
15964 around it. Now I am a huge step further along that road.</p>
15965
15966 <p>With our current squeeze-test packages, I can select the roaming
15967 workstation profile and get a working laptop connecting to the
15968 university LDAP server for user and group and our active directory
15969 servers for Kerberos authentication. All this without any
15970 configuration at all during installation. My users home directory got
15971 a bookmark in the KDE menu to mount it via SMB, with the correct URL.
15972 In short, openldap and sssd is correctly configured. In addition to
15973 this, the client look for http://wpad/wpad.dat to configure a web
15974 proxy, and when it fail to find it no proxy settings are stored in
15975 /etc/environment and /etc/apt/apt.conf. Iceweasel and KDE is
15976 configured to look for the same wpad configuration and also do not use
15977 a proxy when at the university network. If the machine is moved to a
15978 network with such wpad setup, it would automatically use it when DHCP
15979 gave it a IP address.</p>
15980
15981 <p>The LDAP server is located using DNS, by first looking for the DNS
15982 entry ldap.$domain. If this do not exist, it look for the
15983 _ldap._tcp.$domain SRV records and use the first one as the LDAP
15984 server. Next, it connects to the LDAP server and search all
15985 namingContexts entries for posixAccount or posixGroup objects, and
15986 pick the first one as the LDAP base. For Kerberos, a similar
15987 algorithm is used to locate the LDAP server, and the realm is the
15988 uppercase version of $domain.</p>
15989
15990 <p>So, what is not working, you might ask. SMB mounting my home
15991 directory do not work. No idea why, but suspected the incorrect
15992 Kerberos settings in /etc/krb5.conf and /etc/samba/smb.conf might be
15993 the cause. These are not properly configured during installation, and
15994 had to be hand-edited to get the correct Kerberos realm and server,
15995 but SMB mounting still do not work. :(</p>
15996
15997 <p>With this automatic configuration in place, I expect a Debian Edu
15998 roaming profile installation would be able to automatically detect and
15999 connect to any site using LDAP and Kerberos for NSS directory and PAM
16000 authentication. It should also work out of the box in a Active
16001 Directory environment providing posixAccount and posixGroup objects
16002 with UID and GID values.</p>
16003
16004 <p>If you want to help out with implementing these things for Debian
16005 Edu, please contact us on debian-edu@lists.debian.org.</p>
16006
16007 </div>
16008 <div class="tags">
16009
16010
16011 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>.
16012
16013
16014 </div>
16015 </div>
16016 <div class="padding"></div>
16017
16018 <div class="entry">
16019 <div class="title">
16020 <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>
16021 </div>
16022 <div class="date">
16023 3rd August 2010
16024 </div>
16025 <div class="body">
16026 <p>The new roaming workstation profile in Debian Edu/Squeeze is fairly
16027 similar to the laptop setup am I working on using Ubuntu for the
16028 University of Oslo, and just for the heck of it, I tested today how
16029 hard it would be to integrate that profile into the university
16030 infrastructure. In this case, it is the university LDAP server,
16031 Active Directory Kerberos server and SMB mounting from the Netapp file
16032 servers.</p>
16033
16034 <p>I was pleasantly surprised that the only three files needed to be
16035 changed (/etc/sssd/sssd.conf, /etc/ldap.conf and
16036 /etc/mklocaluser.d/20-debian-edu-config) and one file had to be added
16037 (/usr/share/perl5/Debian/Edu_Local.pm), to get the client working.
16038 Most of the changes were to get the client to use the university LDAP
16039 for NSS and Kerberos server for PAM, but one was to change a hard
16040 coded DNS domain name in the mklocaluser hook from .intern to
16041 .uio.no.</p>
16042
16043 <p>This testing was so encouraging, that I went ahead and adjusted the
16044 Debian Edu scripts and setup in subversion to centralise the roaming
16045 workstation setup a bit more and avoid the hardcoded DNS domain name,
16046 so that when I test this tomorrow, I expect to get away with modifying
16047 only /etc/sssd/sssd.conf and /etc/ldap.conf to get it to use the
16048 university servers.</p>
16049
16050 <p>My goal is to get the clients to have no hardcoded settings and
16051 fetch all their initial setup during installation and first boot, to
16052 allow them to be inserted also into environments where the default
16053 setup in Debian Edu has been changed or as with the university, where
16054 the environment is different but provides the protocols Debian Edu
16055 uses.</p>
16056
16057 </div>
16058 <div class="tags">
16059
16060
16061 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>.
16062
16063
16064 </div>
16065 </div>
16066 <div class="padding"></div>
16067
16068 <div class="entry">
16069 <div class="title">
16070 <a href="http://people.skolelinux.org/pere/blog/Circular_package_dependencies_harms_apt_recovery.html">Circular package dependencies harms apt recovery</a>
16071 </div>
16072 <div class="date">
16073 27th July 2010
16074 </div>
16075 <div class="body">
16076 <p>I discovered this while doing
16077 <a href="http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html">automated
16078 testing of upgrades from Debian Lenny to Squeeze</a>. A few packages
16079 in Debian still got circular dependencies, and it is often claimed
16080 that apt and aptitude should be able to handle this just fine, but
16081 some times these dependency loops causes apt to fail.</p>
16082
16083 <p>An example is from todays
16084 <a href="http://people.skolelinux.org/~pere/debian-upgrade-testing//test-20100727-lenny-squeeze-kde-aptitude.txt">upgrade
16085 of KDE using aptitude</a>. In it, a bug in kdebase-workspace-data
16086 causes perl-modules to fail to upgrade. The cause is simple. If a
16087 package fail to unpack, then only part of packages with the circular
16088 dependency might end up being unpacked when unpacking aborts, and the
16089 ones already unpacked will fail to configure in the recovery phase
16090 because its dependencies are unavailable.</p>
16091
16092 <p>In this log, the problem manifest itself with this error:</p>
16093
16094 <blockquote><pre>
16095 dpkg: dependency problems prevent configuration of perl-modules:
16096 perl-modules depends on perl (>= 5.10.1-1); however:
16097 Version of perl on system is 5.10.0-19lenny2.
16098 dpkg: error processing perl-modules (--configure):
16099 dependency problems - leaving unconfigured
16100 </pre></blockquote>
16101
16102 <p>The perl/perl-modules circular dependency is already
16103 <a href="http://bugs.debian.org/527917">reported as a bug</a>, and will
16104 hopefully be solved as soon as possible, but it is not the only one,
16105 and each one of these loops in the dependency tree can cause similar
16106 failures. Of course, they only occur when there are bugs in other
16107 packages causing the unpacking to fail, but it is rather nasty when
16108 the failure of one package causes the problem to become worse because
16109 of dependency loops.</p>
16110
16111 <p>Thanks to
16112 <a href="http://lists.debian.org/debian-devel/2010/06/msg00116.html">the
16113 tireless effort by Bill Allombert</a>, the number of circular
16114 dependencies
16115 <a href="http://debian.semistable.com/debgraph.out.html">left in Debian
16116 is dropping</a>, and perhaps it will reach zero one day. :)</p>
16117
16118 <p>Todays testing also exposed a bug in
16119 <a href="http://bugs.debian.org/590605">update-notifier</a> and
16120 <a href="http://bugs.debian.org/590604">different behaviour</a> between
16121 apt-get and aptitude, the latter possibly caused by some circular
16122 dependency. Reported both to BTS to try to get someone to look at
16123 it.</p>
16124
16125 </div>
16126 <div class="tags">
16127
16128
16129 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>.
16130
16131
16132 </div>
16133 </div>
16134 <div class="padding"></div>
16135
16136 <div class="entry">
16137 <div class="title">
16138 <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>
16139 </div>
16140 <div class="date">
16141 27th July 2010
16142 </div>
16143 <div class="body">
16144 <p>I just posted this announcement culminating several months of work
16145 with the next Debian Edu release. Not nearly done, but one major step
16146 completed.</p>
16147
16148 <blockquote>
16149 <p>This is the first test release based on Squeeze. The focus of this
16150 release is to test the user application selection. To have a look,
16151 install the standalone profile and let the developers know if the set
16152 of installed packages i.e. applications should be modified. If some
16153 user application is missing, or if there are some applications that no
16154 longer make sense to be included in Debian Edu, please let us know.
16155 Also, if a useful application is missing the translation for your
16156 language of choice, please let us know too.</p>
16157
16158 <p>In addition, feedback and help to polish the desktop (menus,
16159 artwork, starters, etc.) is appreciated. We would like to ship a nice
16160 and handy KDE4 desktop targeted for schools out of the box.</p>
16161
16162 <p>The other profiles should be installable, but there is a lot more
16163 work left to be done before they are ready, so do not expect to
16164 much.</p>
16165
16166 <p>Changes compared to the lenny based version</p>
16167
16168 <ul>
16169 <li>Everything from Debian Squeeze
16170 <ul>
16171 <li>Desktop environment KDE 4.4 => the new KDE desktop in
16172 combination with some new artwork
16173 <li>Web browser Iceweasel 3.5
16174 <li>OpenOffice.org 3.2
16175 <li>Educational toolbox GCompris 9.3
16176 <li>Music creator Rosegarden 10.04.2
16177 <li>Image editor Gimp 2.6.10
16178 <li>Virtual universe Celestia 1.6.0
16179 <li>Virtual stargazer Stellarium 0.10.4
16180 <li>3D modeler Blender 2.49.2 (new application)
16181 <li>Video editor Kdenlive 0.7.7 (new application)
16182 </ul></li>
16183 <li>Now using Kerberos for password checking (migration not finished).
16184 Enabled for:
16185 <ul>
16186 <li>PAM
16187 <li>LDAP
16188 <li>IMAP
16189 <li>SMTP (sender verification)
16190 </ul>
16191 </li>
16192 <li>New experimental roaming workstation profile for laptops.</li>
16193 <li>Show welcome page to users when they first log in. The URL is
16194 fetched from LDAP.</li>
16195 <li>New LXDE desktop option, in addition to KDE (default) and Gnome.</li>
16196 <li>General cleanup (not finished)</li>
16197 </ul>
16198 <p>The following features are not working as they should</p>
16199
16200 <ul>
16201 <li>No web based administration tool for creating users and groups. The
16202 scripts ldap-createuser-krb and ldap-add-user-to-group can be used
16203 for testing.</li>
16204 <li>DVD installs are missing debian-installer images for the PXE boot,
16205 and do not set up the PXE menu on eth0 because of this. LTSP
16206 clients should still boot from eth1 on thin client servers.</li>
16207 <li>The restructured KDE menu is not implemented.</li>
16208 <li>The LDAP server setup need to be reviewed for security.</li>
16209 <li>The LDAP directory structure need to be reworked.</li>
16210 <li>Different sets of packages are installed when using the DVD and the
16211 netinst CD. More packages are installed using the netinst CD.</li>
16212 <li>The jackd package fail to install. This is believed to be caused by
16213 some ongoing transition, and hopefully should be solved soon. The
16214 jackd1 package can be installed manually for those that need it.</li>
16215 <li>Some packages lack translations. See
16216 http://wiki.debian.org/DebianEdu/Status/Squeeze for updated status,
16217 and help out with translations.</li>
16218 </ul>
16219
16220 <p>To download this multiarch netinstall release you can use</p>
16221
16222 <ul>
16223 <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>
16224 <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>
16225 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso</li>
16226 </ul>
16227 <p>To download this multiarch dvd release you can use</p>
16228
16229 <ul>
16230 <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>
16231 <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>
16232 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso</li>
16233 </ul>
16234
16235 <p>There is no source DVD available yet. It will be prepared when we
16236 get closer to the final release.</p>
16237
16238 <p>The MD5SUM of these images are</p>
16239
16240 <ul>
16241 <li>3dbf45d59f42a53518b6e3c9ec3b5eb6 debian-edu-6.0.0+edua0-CD.iso</li>
16242 <li>22f2cbfce281d1c6e478be452638675d debian-edu-6.0.0+edua0-DVD.iso</li>
16243 </ul>
16244
16245 <p>The SHA1SUM of these images are</p>
16246 <ul>
16247 <li>c53d1b69b40cf37cd27aefaf33f6f6a3821bedf0 debian-edu-6.0.0+edua0-CD.iso</li>
16248 <li>2ec29d7db676d59d32197b05c277ffe16348376c debian-edu-6.0.0+edua0-DVD.iso</li>
16249 </ul>
16250 <p>How to report bugs:
16251 http://wiki.debian.org/DebianEdu/HowTo/ReportBugsInBugzilla</p>
16252
16253 <p>Please direct replies to debian-edu@lists.debian.org</p>
16254 </blockquote>
16255
16256 </div>
16257 <div class="tags">
16258
16259
16260 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>.
16261
16262
16263 </div>
16264 </div>
16265 <div class="padding"></div>
16266
16267 <div class="entry">
16268 <div class="title">
16269 <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>
16270 </div>
16271 <div class="date">
16272 25th July 2010
16273 </div>
16274 <div class="body">
16275 <p>The last few months me and the other Debian Edu developers have
16276 been working hard to get the Debian/Squeeze based version of Debian
16277 Edu/Skolelinux into shape. This future version will use Kerberos for
16278 authentication, and services are slowly migrated to single signon,
16279 getting rid of password questions one at the time.</p>
16280
16281 <p>It will also feature a roaming workstation profile with local home
16282 directory, for laptops that are only some times on the Skolelinux
16283 network, and for this profile a shortcut is created in Gnome and KDE
16284 to gain access to the users home directory on the file server. This
16285 shortcut uses SMB at the moment, and yesterday I had time to test if
16286 SMB mounting had started working in KDE after we added the cifs-utils
16287 package. I was pleasantly surprised how well it worked.</p>
16288
16289 <p>Thanks to the recent changes to our samba configuration to get it
16290 to use Kerberos for authentication, there were no question about user
16291 password when mounting the SMB volume. A simple click on the shortcut
16292 in the KDE menu, and a window with the home directory popped
16293 up. :)</p>
16294
16295 <p>One step closer to a single signon solution out of the box in
16296 Debian Edu. We already had PAM, LDAP, IMAP and SMTP in place, and now
16297 also Samba. Next step is Cups and hopefully also NFS.</p>
16298
16299 <p>We had planned a alpha0 release of Debian Edu for today, but thanks
16300 to the autobuilder administrators for some architectures being slow to
16301 sign packages, we are still missing the fixed LTSP package we need for
16302 the release. It was uploaded three days ago with urgency=high, and if
16303 it had entered testing yesterday we would have been able to test it in
16304 time for a alpha0 release today. As the binaries for ia64 and powerpc
16305 still not uploaded to the Debian archive, we need to delay the alpha
16306 release another day.</p>
16307
16308 <p>If you want to help out with implementing Kerberos for Debian Edu,
16309 please contact us on debian-edu@lists.debian.org.</p>
16310
16311 </div>
16312 <div class="tags">
16313
16314
16315 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>.
16316
16317
16318 </div>
16319 </div>
16320 <div class="padding"></div>
16321
16322 <div class="entry">
16323 <div class="title">
16324 <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>
16325 </div>
16326 <div class="date">
16327 18th July 2010
16328 </div>
16329 <div class="body">
16330 <p>Thanks to
16331 <a href="http://feedproxy.google.com/~r/Opengeodata/~3/wUTCzDZk3lc/project-of-the-week-which-way-home">todays
16332 opengeodata blog entry</a>, I just discovered that the
16333 OpenStreetmap.org site have gotten
16334 <a href="http://nroets.dev.openstreetmap.org/demo/index.html?layers=B000FTFTT">support
16335 for calculating routes</a>. The support is still experimental and
16336 only available from the development server, until more experience is
16337 gathered on the user interface and any scalability issues.</p>
16338
16339 <p>Earlier, the routing I knew about using the OpenStreetmap.org data
16340 was provided by <a href="http://maps.cloudmade.com/">Cloudmade</a>,
16341 but having it on the main page is required to make everyone aware of
16342 the issue. I've had people reject Openstreetmap.org as a viable
16343 alternative for them because the front page lacked routing support,
16344 and I hope their needs will be catered for when routing show up on the
16345 www.openstreetmap.org front page.</p>
16346
16347 </div>
16348 <div class="tags">
16349
16350
16351 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>.
16352
16353
16354 </div>
16355 </div>
16356 <div class="padding"></div>
16357
16358 <div class="entry">
16359 <div class="title">
16360 <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>
16361 </div>
16362 <div class="date">
16363 17th July 2010
16364 </div>
16365 <div class="body">
16366 <p>This is a
16367 <a href="http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html">followup</a>
16368 on my
16369 <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
16370 work</a> on
16371 <a href="http://people.skolelinux.org/pere/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html">merging
16372 all</a> the computer related LDAP objects in Debian Edu.</p>
16373
16374 <p>As a step to try to see if it possible to merge the DNS and DHCP
16375 LDAP objects, I have had a look at how the packages pdns-backend-ldap
16376 and dhcp3-server-ldap in Debian use the LDAP server. The two
16377 implementations are quite different in how they use LDAP.</p>
16378
16379 To get this information, I started slapd with debugging enabled and
16380 dumped the debug output to a file to get the LDAP searches performed
16381 on a Debian Edu main-server. Here is a summary.
16382
16383 <p><strong>powerdns</strong></p>
16384
16385 <a href="http://www.linuxnetworks.de/doc/index.php/PowerDNS_LDAP_Backend">Clues
16386 on how to</a> set up PowerDNS to use a LDAP backend is available on
16387 the web.
16388
16389 <p>PowerDNS have two modes of operation using LDAP as its backend.
16390 One "strict" mode where the forward and reverse DNS lookups are done
16391 using the same LDAP objects, and a "tree" mode where the forward and
16392 reverse entries are in two different subtrees in LDAP with a structure
16393 based on the DNS names, as in tjener.intern and
16394 2.2.0.10.in-addr.arpa.</p>
16395
16396 <p>In tree mode, the server is set up to use a LDAP subtree as its
16397 base, and uses a "base" scoped search for the DNS name by adding
16398 "dc=tjener,dc=intern," to the base with a filter for
16399 "(associateddomain=tjener.intern)" for the forward entry and
16400 "dc=2,dc=2,dc=0,dc=10,dc=in-addr,dc=arpa," with a filter for
16401 "(associateddomain=2.2.0.10.in-addr.arpa)" for the reverse entry. For
16402 forward entries, it is looking for attributes named dnsttl, arecord,
16403 nsrecord, cnamerecord, soarecord, ptrrecord, hinforecord, mxrecord,
16404 txtrecord, rprecord, afsdbrecord, keyrecord, aaaarecord, locrecord,
16405 srvrecord, naptrrecord, kxrecord, certrecord, dsrecord, sshfprecord,
16406 ipseckeyrecord, rrsigrecord, nsecrecord, dnskeyrecord, dhcidrecord,
16407 spfrecord and modifytimestamp. For reverse entries it is looking for
16408 the attributes dnsttl, arecord, nsrecord, cnamerecord, soarecord,
16409 ptrrecord, hinforecord, mxrecord, txtrecord, rprecord, aaaarecord,
16410 locrecord, srvrecord, naptrrecord and modifytimestamp. The equivalent
16411 ldapsearch commands could look like this:</p>
16412
16413 <blockquote><pre>
16414 ldapsearch -h ldap \
16415 -b dc=tjener,dc=intern,ou=hosts,dc=skole,dc=skolelinux,dc=no \
16416 -s base -x '(associateddomain=tjener.intern)' dNSTTL aRecord nSRecord \
16417 cNAMERecord sOARecord pTRRecord hInfoRecord mXRecord tXTRecord \
16418 rPRecord aFSDBRecord KeyRecord aAAARecord lOCRecord sRVRecord \
16419 nAPTRRecord kXRecord certRecord dSRecord sSHFPRecord iPSecKeyRecord \
16420 rRSIGRecord nSECRecord dNSKeyRecord dHCIDRecord sPFRecord modifyTimestamp
16421
16422 ldapsearch -h ldap \
16423 -b dc=2,dc=2,dc=0,dc=10,dc=in-addr,dc=arpa,ou=hosts,dc=skole,dc=skolelinux,dc=no \
16424 -s base -x '(associateddomain=2.2.0.10.in-addr.arpa)'
16425 dnsttl, arecord, nsrecord, cnamerecord soarecord ptrrecord \
16426 hinforecord mxrecord txtrecord rprecord aaaarecord locrecord \
16427 srvrecord naptrrecord modifytimestamp
16428 </pre></blockquote>
16429
16430 <p>In Debian Edu/Lenny, the PowerDNS tree mode is used with
16431 ou=hosts,dc=skole,dc=skolelinux,dc=no as the base, and these are two
16432 example LDAP objects used there. In addition to these objects, the
16433 parent objects all th way up to ou=hosts,dc=skole,dc=skolelinux,dc=no
16434 also exist.</p>
16435
16436 <blockquote><pre>
16437 dn: dc=tjener,dc=intern,ou=hosts,dc=skole,dc=skolelinux,dc=no
16438 objectclass: top
16439 objectclass: dnsdomain
16440 objectclass: domainrelatedobject
16441 dc: tjener
16442 arecord: 10.0.2.2
16443 associateddomain: tjener.intern
16444
16445 dn: dc=2,dc=2,dc=0,dc=10,dc=in-addr,dc=arpa,ou=hosts,dc=skole,dc=skolelinux,dc=no
16446 objectclass: top
16447 objectclass: dnsdomain2
16448 objectclass: domainrelatedobject
16449 dc: 2
16450 ptrrecord: tjener.intern
16451 associateddomain: 2.2.0.10.in-addr.arpa
16452 </pre></blockquote>
16453
16454 <p>In strict mode, the server behaves differently. When looking for
16455 forward DNS entries, it is doing a "subtree" scoped search with the
16456 same base as in the tree mode for a object with filter
16457 "(associateddomain=tjener.intern)" and requests the attributes dnsttl,
16458 arecord, nsrecord, cnamerecord, soarecord, ptrrecord, hinforecord,
16459 mxrecord, txtrecord, rprecord, aaaarecord, locrecord, srvrecord,
16460 naptrrecord and modifytimestamp. For reverse entires it also do a
16461 subtree scoped search but this time the filter is "(arecord=10.0.2.2)"
16462 and the requested attributes are associateddomain, dnsttl and
16463 modifytimestamp. In short, in strict mode the objects with ptrrecord
16464 go away, and the arecord attribute in the forward object is used
16465 instead.</p>
16466
16467 <p>The forward and reverse searches can be simulated using ldapsearch
16468 like this:</p>
16469
16470 <blockquote><pre>
16471 ldapsearch -h ldap -b ou=hosts,dc=skole,dc=skolelinux,dc=no -s sub -x \
16472 '(associateddomain=tjener.intern)' dNSTTL aRecord nSRecord \
16473 cNAMERecord sOARecord pTRRecord hInfoRecord mXRecord tXTRecord \
16474 rPRecord aFSDBRecord KeyRecord aAAARecord lOCRecord sRVRecord \
16475 nAPTRRecord kXRecord certRecord dSRecord sSHFPRecord iPSecKeyRecord \
16476 rRSIGRecord nSECRecord dNSKeyRecord dHCIDRecord sPFRecord modifyTimestamp
16477
16478 ldapsearch -h ldap -b ou=hosts,dc=skole,dc=skolelinux,dc=no -s sub -x \
16479 '(arecord=10.0.2.2)' associateddomain dnsttl modifytimestamp
16480 </pre></blockquote>
16481
16482 <p>In addition to the forward and reverse searches , there is also a
16483 search for SOA records, which behave similar to the forward and
16484 reverse lookups.</p>
16485
16486 <p>A thing to note with the PowerDNS behaviour is that it do not
16487 specify any objectclass names, and instead look for the attributes it
16488 need to generate a DNS reply. This make it able to work with any
16489 objectclass that provide the needed attributes.</p>
16490
16491 <p>The attributes are normally provided in the cosine (RFC 1274) and
16492 dnsdomain2 schemas. The latter is used for reverse entries like
16493 ptrrecord and recent DNS additions like aaaarecord and srvrecord.</p>
16494
16495 <p>In Debian Edu, we have created DNS objects using the object classes
16496 dcobject (for dc), dnsdomain or dnsdomain2 (structural, for the DNS
16497 attributes) and domainrelatedobject (for associatedDomain). The use
16498 of structural object classes make it impossible to combine these
16499 classes with the object classes used by DHCP.</p>
16500
16501 <p>There are other schemas that could be used too, for example the
16502 dnszone structural object class used by Gosa and bind-sdb for the DNS
16503 attributes combined with the domainrelatedobject object class, but in
16504 this case some unused attributes would have to be included as well
16505 (zonename and relativedomainname).</p>
16506
16507 <p>My proposal for Debian Edu would be to switch PowerDNS to strict
16508 mode and not use any of the existing objectclasses (dnsdomain,
16509 dnsdomain2 and dnszone) when one want to combine the DNS information
16510 with DHCP information, and instead create a auxiliary object class
16511 defined something like this (using the attributes defined for
16512 dnsdomain and dnsdomain2 or dnszone):</p>
16513
16514 <blockquote><pre>
16515 objectclass ( some-oid NAME 'dnsDomainAux'
16516 SUP top
16517 AUXILIARY
16518 MAY ( ARecord $ MDRecord $ MXRecord $ NSRecord $ SOARecord $ CNAMERecord $
16519 DNSTTL $ DNSClass $ PTRRecord $ HINFORecord $ MINFORecord $
16520 TXTRecord $ SIGRecord $ KEYRecord $ AAAARecord $ LOCRecord $
16521 NXTRecord $ SRVRecord $ NAPTRRecord $ KXRecord $ CERTRecord $
16522 A6Record $ DNAMERecord
16523 ))
16524 </pre></blockquote>
16525
16526 <p>This will allow any object to become a DNS entry when combined with
16527 the domainrelatedobject object class, and allow any entity to include
16528 all the attributes PowerDNS wants. I've sent an email to the PowerDNS
16529 developers asking for their view on this schema and if they are
16530 interested in providing such schema with PowerDNS, and I hope my
16531 message will be accepted into their mailing list soon.</p>
16532
16533 <p><strong>ISC dhcp</strong></p>
16534
16535 <p>The DHCP server searches for specific objectclass and requests all
16536 the object attributes, and then uses the attributes it want. This
16537 make it harder to figure out exactly what attributes are used, but
16538 thanks to the working example in Debian Edu I can at least get an idea
16539 what is needed without having to read the source code.</p>
16540
16541 <p>In the DHCP server configuration, the LDAP base to use and the
16542 search filter to use to locate the correct dhcpServer entity is
16543 stored. These are the relevant entries from
16544 /etc/dhcp3/dhcpd.conf:</p>
16545
16546 <blockquote><pre>
16547 ldap-base-dn "dc=skole,dc=skolelinux,dc=no";
16548 ldap-dhcp-server-cn "dhcp";
16549 </pre></blockquote>
16550
16551 <p>The DHCP server uses this information to nest all the DHCP
16552 configuration it need. The cn "dhcp" is located using the given LDAP
16553 base and the filter "(&(objectClass=dhcpServer)(cn=dhcp))". The
16554 search result is this entry:</p>
16555
16556 <blockquote><pre>
16557 dn: cn=dhcp,dc=skole,dc=skolelinux,dc=no
16558 cn: dhcp
16559 objectClass: top
16560 objectClass: dhcpServer
16561 dhcpServiceDN: cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
16562 </pre></blockquote>
16563
16564 <p>The content of the dhcpServiceDN attribute is next used to locate the
16565 subtree with DHCP configuration. The DHCP configuration subtree base
16566 is located using a base scope search with base "cn=DHCP
16567 Config,dc=skole,dc=skolelinux,dc=no" and filter
16568 "(&(objectClass=dhcpService)(|(dhcpPrimaryDN=cn=dhcp,dc=skole,dc=skolelinux,dc=no)(dhcpSecondaryDN=cn=dhcp,dc=skole,dc=skolelinux,dc=no)))".
16569 The search result is this entry:</p>
16570
16571 <blockquote><pre>
16572 dn: cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
16573 cn: DHCP Config
16574 objectClass: top
16575 objectClass: dhcpService
16576 objectClass: dhcpOptions
16577 dhcpPrimaryDN: cn=dhcp, dc=skole,dc=skolelinux,dc=no
16578 dhcpStatements: ddns-update-style none
16579 dhcpStatements: authoritative
16580 dhcpOption: smtp-server code 69 = array of ip-address
16581 dhcpOption: www-server code 72 = array of ip-address
16582 dhcpOption: wpad-url code 252 = text
16583 </pre></blockquote>
16584
16585 <p>Next, the entire subtree is processed, one level at the time. When
16586 all the DHCP configuration is loaded, it is ready to receive requests.
16587 The subtree in Debian Edu contain objects with object classes
16588 top/dhcpService/dhcpOptions, top/dhcpSharedNetwork/dhcpOptions,
16589 top/dhcpSubnet, top/dhcpGroup and top/dhcpHost. These provide options
16590 and information about netmasks, dynamic range etc. Leaving out the
16591 details here because it is not relevant for the focus of my
16592 investigation, which is to see if it is possible to merge dns and dhcp
16593 related computer objects.</p>
16594
16595 <p>When a DHCP request come in, LDAP is searched for the MAC address
16596 of the client (00:00:00:00:00:00 in this example), using a subtree
16597 scoped search with "cn=DHCP Config,dc=skole,dc=skolelinux,dc=no" as
16598 the base and "(&(objectClass=dhcpHost)(dhcpHWAddress=ethernet
16599 00:00:00:00:00:00))" as the filter. This is what a host object look
16600 like:</p>
16601
16602 <blockquote><pre>
16603 dn: cn=hostname,cn=group1,cn=THINCLIENTS,cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
16604 cn: hostname
16605 objectClass: top
16606 objectClass: dhcpHost
16607 dhcpHWAddress: ethernet 00:00:00:00:00:00
16608 dhcpStatements: fixed-address hostname
16609 </pre></blockquote>
16610
16611 <p>There is less flexiblity in the way LDAP searches are done here.
16612 The object classes need to have fixed names, and the configuration
16613 need to be stored in a fairly specific LDAP structure. On the
16614 positive side, the invidiual dhcpHost entires can be anywhere without
16615 the DN pointed to by the dhcpServer entries. The latter should make
16616 it possible to group all host entries in a subtree next to the
16617 configuration entries, and this subtree can also be shared with the
16618 DNS server if the schema proposed above is combined with the dhcpHost
16619 structural object class.
16620
16621 <p><strong>Conclusion</strong></p>
16622
16623 <p>The PowerDNS implementation seem to be very flexible when it come
16624 to which LDAP schemas to use. While its "tree" mode is rigid when it
16625 come to the the LDAP structure, the "strict" mode is very flexible,
16626 allowing DNS objects to be stored anywhere under the base cn specified
16627 in the configuration.</p>
16628
16629 <p>The DHCP implementation on the other hand is very inflexible, both
16630 regarding which LDAP schemas to use and which LDAP structure to use.
16631 I guess one could implement ones own schema, as long as the
16632 objectclasses and attributes have the names used, but this do not
16633 really help when the DHCP subtree need to have a fairly fixed
16634 structure.</p>
16635
16636 <p>Based on the observed behaviour, I suspect a LDAP structure like
16637 this might work for Debian Edu:</p>
16638
16639 <blockquote><pre>
16640 ou=services
16641 cn=machine-info (dhcpService) - dhcpServiceDN points here
16642 cn=dhcp (dhcpServer)
16643 cn=dhcp-internal (dhcpSharedNetwork/dhcpOptions)
16644 cn=10.0.2.0 (dhcpSubnet)
16645 cn=group1 (dhcpGroup/dhcpOptions)
16646 cn=dhcp-thinclients (dhcpSharedNetwork/dhcpOptions)
16647 cn=192.168.0.0 (dhcpSubnet)
16648 cn=group1 (dhcpGroup/dhcpOptions)
16649 ou=machines - PowerDNS base points here
16650 cn=hostname (dhcpHost/domainrelatedobject/dnsDomainAux)
16651 </pre></blockquote>
16652
16653 <P>This is not tested yet. If the DHCP server require the dhcpHost
16654 entries to be in the dhcpGroup subtrees, the entries can be stored
16655 there instead of a common machines subtree, and the PowerDNS base
16656 would have to be moved one level up to the machine-info subtree.</p>
16657
16658 <p>The combined object under the machines subtree would look something
16659 like this:</p>
16660
16661 <blockquote><pre>
16662 dn: dc=hostname,ou=machines,cn=machine-info,dc=skole,dc=skolelinux,dc=no
16663 dc: hostname
16664 objectClass: top
16665 objectClass: dhcpHost
16666 objectclass: domainrelatedobject
16667 objectclass: dnsDomainAux
16668 associateddomain: hostname.intern
16669 arecord: 10.11.12.13
16670 dhcpHWAddress: ethernet 00:00:00:00:00:00
16671 dhcpStatements: fixed-address hostname.intern
16672 </pre></blockquote>
16673
16674 </p>One could even add the LTSP configuration associated with a given
16675 machine, as long as the required attributes are available in a
16676 auxiliary object class.</p>
16677
16678 </div>
16679 <div class="tags">
16680
16681
16682 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>.
16683
16684
16685 </div>
16686 </div>
16687 <div class="padding"></div>
16688
16689 <div class="entry">
16690 <div class="title">
16691 <a href="http://people.skolelinux.org/pere/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html">Combining PowerDNS and ISC DHCP LDAP objects</a>
16692 </div>
16693 <div class="date">
16694 14th July 2010
16695 </div>
16696 <div class="body">
16697 <p>For a while now, I have wanted to find a way to change the DNS and
16698 DHCP services in Debian Edu to use the same LDAP objects for a given
16699 computer, to avoid the possibility of having a inconsistent state for
16700 a computer in LDAP (as in DHCP but no DNS entry or the other way
16701 around) and make it easier to add computers to LDAP.</p>
16702
16703 <p>I've looked at how powerdns and dhcpd is using LDAP, and using this
16704 information finally found a solution that seem to work.</p>
16705
16706 <p>The old setup required three LDAP objects for a given computer.
16707 One forward DNS entry, one reverse DNS entry and one DHCP entry. If
16708 we switch powerdns to use its strict LDAP method (ldap-method=strict
16709 in pdns-debian-edu.conf), the forward and reverse DNS entries are
16710 merged into one while making it impossible to transfer the reverse map
16711 to a slave DNS server.</p>
16712
16713 <p>If we also replace the object class used to get the DNS related
16714 attributes to one allowing these attributes to be combined with the
16715 dhcphost object class, we can merge the DNS and DHCP entries into one.
16716 I've written such object class in the dnsdomainaux.schema file (need
16717 proper OIDs, but that is a minor issue), and tested the setup. It
16718 seem to work.</p>
16719
16720 <p>With this test setup in place, we can get away with one LDAP object
16721 for both DNS and DHCP, and even the LTSP configuration I suggested in
16722 an earlier email. The combined LDAP object will look something like
16723 this:</p>
16724
16725 <blockquote><pre>
16726 dn: cn=hostname,cn=group1,cn=THINCLIENTS,cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
16727 cn: hostname
16728 objectClass: dhcphost
16729 objectclass: domainrelatedobject
16730 objectclass: dnsdomainaux
16731 associateddomain: hostname.intern
16732 arecord: 10.11.12.13
16733 dhcphwaddress: ethernet 00:00:00:00:00:00
16734 dhcpstatements: fixed-address hostname
16735 ldapconfigsound: Y
16736 </pre></blockquote>
16737
16738 <p>The DNS server uses the associateddomain and arecord entries, while
16739 the DHCP server uses the dhcphwaddress and dhcpstatements entries
16740 before asking DNS to resolve the fixed-adddress. LTSP will use
16741 dhcphwaddress or associateddomain and the ldapconfig* attributes.</p>
16742
16743 <p>I am not yet sure if I can get the DHCP server to look for its
16744 dhcphost in a different location, to allow us to put the objects
16745 outside the "DHCP Config" subtree, but hope to figure out a way to do
16746 that. If I can't figure out a way to do that, we can still get rid of
16747 the hosts subtree and move all its content into the DHCP Config tree
16748 (which probably should be renamed to be more related to the new
16749 content. I suspect cn=dnsdhcp,ou=services or something like that
16750 might be a good place to put it.</p>
16751
16752 <p>If you want to help out with implementing this for Debian Edu,
16753 please contact us on debian-edu@lists.debian.org.</p>
16754
16755 </div>
16756 <div class="tags">
16757
16758
16759 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>.
16760
16761
16762 </div>
16763 </div>
16764 <div class="padding"></div>
16765
16766 <div class="entry">
16767 <div class="title">
16768 <a href="http://people.skolelinux.org/pere/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html">Idea for storing LTSP configuration in LDAP</a>
16769 </div>
16770 <div class="date">
16771 11th July 2010
16772 </div>
16773 <div class="body">
16774 <p>Vagrant mentioned on IRC today that ltsp_config now support
16775 sourcing files from /usr/share/ltsp/ltsp_config.d/ on the thin
16776 clients, and that this can be used to fetch configuration from LDAP if
16777 Debian Edu choose to store configuration there.</p>
16778
16779 <p>Armed with this information, I got inspired and wrote a test module
16780 to get configuration from LDAP. The idea is to look up the MAC
16781 address of the client in LDAP, and look for attributes on the form
16782 ltspconfigsetting=value, and use this to export SETTING=value to the
16783 LTSP clients.</p>
16784
16785 <p>The goal is to be able to store the LTSP configuration attributes
16786 in a "computer" LDAP object used by both DNS and DHCP, and thus
16787 allowing us to store all information about a computer in one place.</p>
16788
16789 <p>This is a untested draft implementation, and I welcome feedback on
16790 this approach. A real LDAP schema for the ltspClientAux objectclass
16791 need to be written. Comments, suggestions, etc?</p>
16792
16793 <blockquote><pre>
16794 # Store in /opt/ltsp/$arch/usr/share/ltsp/ltsp_config.d/ldap-config
16795 #
16796 # Fetch LTSP client settings from LDAP based on MAC address
16797 #
16798 # Uses ethernet address as stored in the dhcpHost objectclass using
16799 # the dhcpHWAddress attribute or ethernet address stored in the
16800 # ieee802Device objectclass with the macAddress attribute.
16801 #
16802 # This module is written to be schema agnostic, and only depend on the
16803 # existence of attribute names.
16804 #
16805 # The LTSP configuration variables are saved directly using a
16806 # ltspConfig prefix and uppercasing the rest of the attribute name.
16807 # To set the SERVER variable, set the ltspConfigServer attribute.
16808 #
16809 # Some LDAP schema should be created with all the relevant
16810 # configuration settings. Something like this should work:
16811 #
16812 # objectclass ( 1.1.2.2 NAME 'ltspClientAux'
16813 # SUP top
16814 # AUXILIARY
16815 # MAY ( ltspConfigServer $ ltsConfigSound $ ... )
16816
16817 LDAPSERVER=$(debian-edu-ldapserver)
16818 if [ "$LDAPSERVER" ] ; then
16819 LDAPBASE=$(debian-edu-ldapserver -b)
16820 for MAC in $(LANG=C ifconfig |grep -i hwaddr| awk '{print $5}'|sort -u) ; do
16821 filter="(|(dhcpHWAddress=ethernet $MAC)(macAddress=$MAC))"
16822 ldapsearch -h "$LDAPSERVER" -b "$LDAPBASE" -v -x "$filter" | \
16823 grep '^ltspConfig' | while read attr value ; do
16824 # Remove prefix and convert to upper case
16825 attr=$(echo $attr | sed 's/^ltspConfig//i' | tr a-z A-Z)
16826 # bass value on to clients
16827 eval "$attr=$value; export $attr"
16828 done
16829 done
16830 fi
16831 </pre></blockquote>
16832
16833 <p>I'm not sure this shell construction will work, because I suspect
16834 the while block might end up in a subshell causing the variables set
16835 there to not show up in ltsp-config, but if that is the case I am sure
16836 the code can be restructured to make sure the variables are passed on.
16837 I expect that can be solved with some testing. :)</p>
16838
16839 <p>If you want to help out with implementing this for Debian Edu,
16840 please contact us on debian-edu@lists.debian.org.</p>
16841
16842 <p>Update 2010-07-17: I am aware of another effort to store LTSP
16843 configuration in LDAP that was created around year 2000 by
16844 <a href="http://www.pcxperience.com/thinclient/documentation/ldap.html">PC
16845 Xperience, Inc., 2000</a>. I found its
16846 <a href="http://people.redhat.com/alikins/ltsp/ldap/">files</a> on a
16847 personal home page over at redhat.com.</p>
16848
16849 </div>
16850 <div class="tags">
16851
16852
16853 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>.
16854
16855
16856 </div>
16857 </div>
16858 <div class="padding"></div>
16859
16860 <div class="entry">
16861 <div class="title">
16862 <a href="http://people.skolelinux.org/pere/blog/jXplorer__a_very_nice_LDAP_GUI.html">jXplorer, a very nice LDAP GUI</a>
16863 </div>
16864 <div class="date">
16865 9th July 2010
16866 </div>
16867 <div class="body">
16868 <p>Since
16869 <a href="http://people.skolelinux.org/pere/blog/LUMA__a_very_nice_LDAP_GUI.html">my
16870 last post</a> about available LDAP tools in Debian, I was told about a
16871 LDAP GUI that is even better than luma. The java application
16872 <a href="http://jxplorer.org/">jXplorer</a> is claimed to be capable of
16873 moving LDAP objects and subtrees using drag-and-drop, and can
16874 authenticate using Kerberos. I have only tested the Kerberos
16875 authentication, but do not have a LDAP setup allowing me to rewrite
16876 LDAP with my test user yet. It is
16877 <a href="http://packages.qa.debian.org/j/jxplorer.html">available in
16878 Debian</a> testing and unstable at the moment. The only problem I
16879 have with it is how it handle errors. If something go wrong, its
16880 non-intuitive behaviour require me to go through some query work list
16881 and remove the failing query. Nothing big, but very annoying.</p>
16882
16883 </div>
16884 <div class="tags">
16885
16886
16887 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>.
16888
16889
16890 </div>
16891 </div>
16892 <div class="padding"></div>
16893
16894 <div class="entry">
16895 <div class="title">
16896 <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>
16897 </div>
16898 <div class="date">
16899 3rd July 2010
16900 </div>
16901 <div class="body">
16902 <p>Here is a short update on my <a
16903 href="http://people.skolelinux.org/~pere/debian-upgrade-testing/">my
16904 Debian Lenny->Squeeze upgrade testing</a>. Here is a summary of the
16905 difference for Gnome when it is upgraded by apt-get and aptitude. I'm
16906 not reporting the status for KDE, because the upgrade crashes when
16907 aptitude try because of missing conflicts
16908 (<a href="http://bugs.debian.org/584861">#584861</a> and
16909 <a href="http://bugs.debian.org/585716">#585716</a>).</p>
16910
16911 <p>At the end of the upgrade test script, dpkg -l is executed to get a
16912 complete list of the installed packages. Based on this I see these
16913 differences when I did a test run today. As usual, I do not really
16914 know what the correct set of packages would be, but thought it best to
16915 publish the difference.</p>
16916
16917 <p>Installed using apt-get, missing with aptitude</p>
16918
16919 <blockquote><p>
16920 at-spi cpp-4.3 finger gnome-spell gstreamer0.10-gnomevfs
16921 libatspi1.0-0 libcupsys2 libeel2-data libgail-common libgdl-1-common
16922 libgnomeprint2.2-data libgnomeprintui2.2-common libgnomevfs2-bin
16923 libgtksourceview-common libpt-1.10.10-plugins-alsa
16924 libpt-1.10.10-plugins-v4l libservlet2.4-java libxalan2-java
16925 libxerces2-java openoffice.org-writer2latex openssl-blacklist p7zip
16926 python-4suite-xml python-eggtrayicon python-gtkhtml2
16927 python-gtkmozembed svgalibg1 xserver-xephyr zip
16928 </p></blockquote>
16929
16930 <p>Installed using apt-get, removed with aptitude</p>
16931
16932 <blockquote><p>
16933 bluez-utils dhcdbd djvulibre-desktop epiphany-gecko
16934 gnome-app-install gnome-mount gnome-vfs-obexftp gnome-volume-manager
16935 libao2 libavahi-compat-libdnssd1 libavahi-core5 libbind9-50
16936 libbluetooth2 libcamel1.2-11 libcdio7 libcucul0 libcurl3
16937 libdirectfb-1.0-0 libdvdread3 libedata-cal1.2-6 libedataserver1.2-9
16938 libeel2-2.20 libepc-1.0-1 libepc-ui-1.0-1 libexchange-storage1.2-3
16939 libfaad0 libgd2-noxpm libgda3-3 libgda3-common libggz2 libggzcore9
16940 libggzmod4 libgksu1.2-0 libgksuui1.0-1 libgmyth0 libgnome-desktop-2
16941 libgnome-pilot2 libgnomecups1.0-1 libgnomeprint2.2-0
16942 libgnomeprintui2.2-0 libgpod3 libgraphviz4 libgtkhtml2-0
16943 libgtksourceview1.0-0 libgucharmap6 libhesiod0 libicu38 libisccc50
16944 libisccfg50 libiw29 libkpathsea4 libltdl3 liblwres50 libmagick++10
16945 libmagick10 libmalaga7 libmtp7 libmysqlclient15off libnautilus-burn4
16946 libneon27 libnm-glib0 libnm-util0 libopal-2.2 libosp5
16947 libparted1.8-10 libpisock9 libpisync1 libpoppler-glib3 libpoppler3
16948 libpt-1.10.10 libraw1394-8 libsensors3 libsmbios2 libsoup2.2-8
16949 libssh2-1 libsuitesparse-3.1.0 libswfdec-0.6-90 libtalloc1
16950 libtotem-plparser10 libtrackerclient0 libvoikko1 libxalan2-java-gcj
16951 libxerces2-java-gcj libxklavier12 libxtrap6 libxxf86misc1 libzephyr3
16952 mysql-common swfdec-gnome totem-gstreamer wodim
16953 </p></blockquote>
16954
16955 <p>Installed using aptitude, missing with apt-get</p>
16956
16957 <blockquote><p>
16958 gnome gnome-desktop-environment hamster-applet python-gnomeapplet
16959 python-gnomekeyring python-wnck rhythmbox-plugins xorg
16960 xserver-xorg-input-all xserver-xorg-input-evdev
16961 xserver-xorg-input-kbd xserver-xorg-input-mouse
16962 xserver-xorg-input-synaptics xserver-xorg-video-all
16963 xserver-xorg-video-apm xserver-xorg-video-ark xserver-xorg-video-ati
16964 xserver-xorg-video-chips xserver-xorg-video-cirrus
16965 xserver-xorg-video-dummy xserver-xorg-video-fbdev
16966 xserver-xorg-video-glint xserver-xorg-video-i128
16967 xserver-xorg-video-i740 xserver-xorg-video-mach64
16968 xserver-xorg-video-mga xserver-xorg-video-neomagic
16969 xserver-xorg-video-nouveau xserver-xorg-video-nv
16970 xserver-xorg-video-r128 xserver-xorg-video-radeon
16971 xserver-xorg-video-radeonhd xserver-xorg-video-rendition
16972 xserver-xorg-video-s3 xserver-xorg-video-s3virge
16973 xserver-xorg-video-savage xserver-xorg-video-siliconmotion
16974 xserver-xorg-video-sis xserver-xorg-video-sisusb
16975 xserver-xorg-video-tdfx xserver-xorg-video-tga
16976 xserver-xorg-video-trident xserver-xorg-video-tseng
16977 xserver-xorg-video-vesa xserver-xorg-video-vmware
16978 xserver-xorg-video-voodoo
16979 </p></blockquote>
16980
16981 <p>Installed using aptitude, removed with apt-get</p>
16982
16983 <blockquote><p>
16984 deskbar-applet xserver-xorg xserver-xorg-core
16985 xserver-xorg-input-wacom xserver-xorg-video-intel
16986 xserver-xorg-video-openchrome
16987 </p></blockquote>
16988
16989 <p>I was told on IRC that the xorg-xserver package was
16990 <a href="http://git.debian.org/?p=pkg-xorg/xserver/xorg-server.git;a=commit;h=9c8080d06c457932d3bfec021c69ac000aa60120">changed
16991 in git</a> today to try to get apt-get to not remove xorg completely.
16992 No idea when it hits Squeeze, but when it does I hope it will reduce
16993 the difference somewhat.
16994
16995 </div>
16996 <div class="tags">
16997
16998
16999 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>.
17000
17001
17002 </div>
17003 </div>
17004 <div class="padding"></div>
17005
17006 <div class="entry">
17007 <div class="title">
17008 <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>
17009 </div>
17010 <div class="date">
17011 1st July 2010
17012 </div>
17013 <div class="body">
17014 <p>For a laptop, centralized user directories and password checking is
17015 a bit troubling. Laptops are typically used also when not connected
17016 to the network, and it is vital for a user to be able to log in or
17017 unlock the screen saver also when a central server is unavailable.
17018 This is possible by caching passwords and directory information (user
17019 and group attributes) locally, and the packages to do so are available
17020 in Debian. Here follow two recipes to set this up in Debian/Squeeze.
17021 It is also possible to set up in Debian/Lenny, but require more manual
17022 setup there because pam-auth-update is missing in Lenny.</p>
17023
17024 <h2>LDAP/Kerberos + nscd + libpam-ccreds + libpam-mklocaluser/pam_mkhomedir</h2>
17025
17026 This is the traditional method with a twist. The password caching is
17027 provided by libpam-ccreds (version 10-4 or later is needed on
17028 Squeeze), and the directory caching is done by nscd. The directory
17029 lookup and password checking is done using LDAP. If one want to use
17030 Kerberos for password checking the libpam-ldapd package can be
17031 replaced with libpam-krb5 or libpam-heimdal. If one is happy having a
17032 local home directory with the path listed in LDAP, one can use the
17033 pam_mkhomedir module from pam-modules to make this happen instead of
17034 using libpam-mklocaluser. A setup for pam-auth-update to enable
17035 pam_mkhomedir will have to be written until a fix for
17036 <a href="http://bugs.debian.org/568577">bug #568577</a> is in the
17037 archive. Because I believe it is a bad idea to have local home
17038 directories using misleading paths like /site/server/partition/, I
17039 prefer to create a local user with the home directory in /home/. This
17040 is done using the libpam-mklocaluser package.</p>
17041
17042 <p>These packages need to be installed and configured</p>
17043
17044 <blockquote><pre>
17045 libnss-ldapd libpam-ldapd nscd libpam-ccreds libpam-mklocaluser
17046 </pre></blockquote>
17047
17048 <p>The ldapd packages will ask for LDAP connection information, and
17049 one have to fill in the values that fits ones own site. Make sure the
17050 PAM part uses encrypted connections, to make sure the password is not
17051 sent in clear text to the LDAP server. I've been unable to get TLS
17052 certificate checking for a self signed certificate working, which make
17053 LDAP authentication unsafe for Debian Edu (nslcd is not checking if it
17054 is talking to the correct LDAP server), and very much welcome feedback
17055 on how to get this working.</p>
17056
17057 <p>Because nscd do not have a default configuration fit for offline
17058 caching until <a href="http://bugs.debian.org/485282">bug #485282</a>
17059 is fixed, this configuration should be used instead of the one
17060 currently in /etc/nscd.conf. The changes are in the fields
17061 reload-count and positive-time-to-live, and is based on the
17062 instructions I found in the
17063 <a href="http://www.flyn.org/laptopldap/">LDAP for Mobile Laptops</a>
17064 instructions by Flyn Computing.</p>
17065
17066 <blockquote><pre>
17067 debug-level 0
17068 reload-count unlimited
17069 paranoia no
17070
17071 enable-cache passwd yes
17072 positive-time-to-live passwd 2592000
17073 negative-time-to-live passwd 20
17074 suggested-size passwd 211
17075 check-files passwd yes
17076 persistent passwd yes
17077 shared passwd yes
17078 max-db-size passwd 33554432
17079 auto-propagate passwd yes
17080
17081 enable-cache group yes
17082 positive-time-to-live group 2592000
17083 negative-time-to-live group 20
17084 suggested-size group 211
17085 check-files group yes
17086 persistent group yes
17087 shared group yes
17088 max-db-size group 33554432
17089 auto-propagate group yes
17090
17091 enable-cache hosts no
17092 positive-time-to-live hosts 2592000
17093 negative-time-to-live hosts 20
17094 suggested-size hosts 211
17095 check-files hosts yes
17096 persistent hosts yes
17097 shared hosts yes
17098 max-db-size hosts 33554432
17099
17100 enable-cache services yes
17101 positive-time-to-live services 2592000
17102 negative-time-to-live services 20
17103 suggested-size services 211
17104 check-files services yes
17105 persistent services yes
17106 shared services yes
17107 max-db-size services 33554432
17108 </pre></blockquote>
17109
17110 <p>While we wait for a mechanism to update /etc/nsswitch.conf
17111 automatically like the one provided in
17112 <a href="http://bugs.debian.org/496915">bug #496915</a>, the file
17113 content need to be manually replaced to ensure LDAP is used as the
17114 directory service on the machine. /etc/nsswitch.conf should normally
17115 look like this:</p>
17116
17117 <blockquote><pre>
17118 passwd: files ldap
17119 group: files ldap
17120 shadow: files ldap
17121 hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
17122 networks: files
17123 protocols: files
17124 services: files
17125 ethers: files
17126 rpc: files
17127 netgroup: files ldap
17128 </pre></blockquote>
17129
17130 <p>The important parts are that ldap is listed last for passwd, group,
17131 shadow and netgroup.</p>
17132
17133 <p>With these changes in place, any user in LDAP will be able to log
17134 in locally on the machine using for example kdm, get a local home
17135 directory created and have the password as well as user and group
17136 attributes cached.
17137
17138 <h2>LDAP/Kerberos + nss-updatedb + libpam-ccreds +
17139 libpam-mklocaluser/pam_mkhomedir</h2>
17140
17141 <p>Because nscd have had its share of problems, and seem to have
17142 problems doing proper caching, I've seen suggestions and recipes to
17143 use nss-updatedb to copy parts of the LDAP database locally when the
17144 LDAP database is available. I have not tested such setup, because I
17145 discovered sssd.</p>
17146
17147 <h2>LDAP/Kerberos + sssd + libpam-mklocaluser</h2>
17148
17149 <p>A more flexible and robust setup than the nscd combination
17150 mentioned earlier that has shown up recently, is the
17151 <a href="https://fedorahosted.org/sssd/">sssd</a> package from Redhat.
17152 It is part of the <a href="http://www.freeipa.org/">FreeIPA</A> project
17153 to provide a Active Directory like directory service for Linux
17154 machines. The sssd system combines the caching of passwords and user
17155 information into one package, and remove the need for nscd and
17156 libpam-ccreds. It support LDAP and Kerberos, but not NIS. Version
17157 1.2 do not support netgroups, but it is said that it will support this
17158 in version 1.5 expected to show up later in 2010. Because the
17159 <a href="http://packages.qa.debian.org/s/sssd.html">sssd package</a>
17160 was missing in Debian, I ended up co-maintaining it with Werner, and
17161 version 1.2 is now in testing.
17162
17163 <p>These packages need to be installed and configured to get the
17164 roaming setup I want</p>
17165
17166 <blockquote><pre>
17167 libpam-sss libnss-sss libpam-mklocaluser
17168 </pre></blockquote>
17169
17170 The complete setup of sssd is done by editing/creating
17171 <tt>/etc/sssd/sssd.conf</tt>.
17172
17173 <blockquote><pre>
17174 [sssd]
17175 config_file_version = 2
17176 reconnection_retries = 3
17177 sbus_timeout = 30
17178 services = nss, pam
17179 domains = INTERN
17180
17181 [nss]
17182 filter_groups = root
17183 filter_users = root
17184 reconnection_retries = 3
17185
17186 [pam]
17187 reconnection_retries = 3
17188
17189 [domain/INTERN]
17190 enumerate = false
17191 cache_credentials = true
17192
17193 id_provider = ldap
17194 auth_provider = ldap
17195 chpass_provider = ldap
17196
17197 ldap_uri = ldap://ldap
17198 ldap_search_base = dc=skole,dc=skolelinux,dc=no
17199 ldap_tls_reqcert = never
17200 ldap_tls_cacert = /etc/ssl/certs/ca-certificates.crt
17201 </pre></blockquote>
17202
17203 <p>I got the same problem here with certificate checking. Had to set
17204 "ldap_tls_reqcert = never" to get it working.</p>
17205
17206 <p>With the libnss-sss package in testing at the moment, the
17207 nsswitch.conf file is update automatically, so there is no need to
17208 modify it manually.</p>
17209
17210 <p>If you want to help out with implementing this for Debian Edu,
17211 please contact us on debian-edu@lists.debian.org.</p>
17212
17213 </div>
17214 <div class="tags">
17215
17216
17217 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>.
17218
17219
17220 </div>
17221 </div>
17222 <div class="padding"></div>
17223
17224 <div class="entry">
17225 <div class="title">
17226 <a href="http://people.skolelinux.org/pere/blog/LUMA__a_very_nice_LDAP_GUI.html">LUMA, a very nice LDAP GUI</a>
17227 </div>
17228 <div class="date">
17229 28th June 2010
17230 </div>
17231 <div class="body">
17232 <p>The last few days I have been looking into the status of the LDAP
17233 directory in Debian Edu, and in the process I started to miss a GUI
17234 tool to browse the LDAP tree. The only one I was able to find in
17235 Debian/Squeeze and Lenny is
17236 <a href="http://luma.sourceforge.net/">LUMA</a>, which has proved to
17237 be a great tool to get a overview of the current LDAP directory
17238 populated by default in Skolelinux. Thanks to it, I have been able to
17239 find empty and obsolete subtrees, misplaced objects and duplicate
17240 objects. It will be installed by default in Debian/Squeeze. If you
17241 are working with LDAP, give it a go. :)</p>
17242
17243 <p>I did notice one problem with it I have not had time to report to
17244 the BTS yet. There is no .desktop file in the package, so the tool do
17245 not show up in the Gnome and KDE menus, but only deep down in in the
17246 Debian submenu in KDE. I hope that can be fixed before Squeeze is
17247 released.</p>
17248
17249 <p>I have not yet been able to get it to modify the tree yet. I would
17250 like to move objects and remove subtrees directly in the GUI, but have
17251 not found a way to do that with LUMA yet. So in the mean time, I use
17252 <a href="http://www.lichteblau.com/ldapvi/">ldapvi</a> for that.</p>
17253
17254 <p>If you have tips on other GUI tools for LDAP that might be useful
17255 in Debian Edu, please contact us on debian-edu@lists.debian.org.</p>
17256
17257 <p>Update 2010-06-29: Ross Reedstrom tipped us about the
17258 <a href="http://packages.qa.debian.org/g/gq.html">gq</a> package as a
17259 useful GUI alternative. It seem like a good tool, but is unmaintained
17260 in Debian and got a RC bug keeping it out of Squeeze. Unless that
17261 changes, it will not be an option for Debian Edu based on Squeeze.</p>
17262
17263 </div>
17264 <div class="tags">
17265
17266
17267 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>.
17268
17269
17270 </div>
17271 </div>
17272 <div class="padding"></div>
17273
17274 <div class="entry">
17275 <div class="title">
17276 <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>
17277 </div>
17278 <div class="date">
17279 24th June 2010
17280 </div>
17281 <div class="body">
17282 <p>A while back, I
17283 <a href="http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html">complained
17284 about the fact</a> that it is not possible with the provided schemas
17285 for storing DNS and DHCP information in LDAP to combine the two sets
17286 of information into one LDAP object representing a computer.</p>
17287
17288 <p>In the mean time, I discovered that a simple fix would be to make
17289 the dhcpHost object class auxiliary, to allow it to be combined with
17290 the dNSDomain object class, and thus forming one object for one
17291 computer when storing both DHCP and DNS information in LDAP.</p>
17292
17293 <p>If I understand this correctly, it is not safe to do this change
17294 without also changing the assigned number for the object class, and I
17295 do not know enough about LDAP schema design to do that properly for
17296 Debian Edu.</p>
17297
17298 <p>Anyway, for future reference, this is how I believe we could change
17299 the
17300 <a href="http://tools.ietf.org/html/draft-ietf-dhc-ldap-schema-00">DHCP
17301 schema</a> to solve at least part of the problem with the LDAP schemas
17302 available today from IETF.</p>
17303
17304 <pre>
17305 --- dhcp.schema (revision 65192)
17306 +++ dhcp.schema (working copy)
17307 @@ -376,7 +376,7 @@
17308 objectclass ( 2.16.840.1.113719.1.203.6.6
17309 NAME 'dhcpHost'
17310 DESC 'This represents information about a particular client'
17311 - SUP top
17312 + SUP top AUXILIARY
17313 MUST cn
17314 MAY (dhcpLeaseDN $ dhcpHWAddress $ dhcpOptionsDN $ dhcpStatements $ dhcpComments $ dhcpOption)
17315 X-NDS_CONTAINMENT ('dhcpService' 'dhcpSubnet' 'dhcpGroup') )
17316 </pre>
17317
17318 <p>I very much welcome clues on how to do this properly for Debian
17319 Edu/Squeeze. We provide the DHCP schema in our debian-edu-config
17320 package, and should thus be free to rewrite it as we see fit.</p>
17321
17322 <p>If you want to help out with implementing this for Debian Edu,
17323 please contact us on debian-edu@lists.debian.org.</p>
17324
17325 </div>
17326 <div class="tags">
17327
17328
17329 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>.
17330
17331
17332 </div>
17333 </div>
17334 <div class="padding"></div>
17335
17336 <div class="entry">
17337 <div class="title">
17338 <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>
17339 </div>
17340 <div class="date">
17341 16th June 2010
17342 </div>
17343 <div class="body">
17344 <p>A few times I have had the need to simulate the way tasksel
17345 installs packages during the normal debian-installer run. Until now,
17346 I have ended up letting tasksel do the work, with the annoying problem
17347 of not getting any feedback at all when something fails (like a
17348 conffile question from dpkg or a download that fails), using code like
17349 this:
17350
17351 <blockquote><pre>
17352 export DEBIAN_FRONTEND=noninteractive
17353 tasksel --new-install
17354 </pre></blockquote>
17355
17356 This would invoke tasksel, let its automatic task selection pick the
17357 tasks to install, and continue to install the requested tasks without
17358 any output what so ever.
17359
17360 Recently I revisited this problem while working on the automatic
17361 package upgrade testing, because tasksel would some times hang without
17362 any useful feedback, and I want to see what is going on when it
17363 happen. Then it occured to me, I can parse the output from tasksel
17364 when asked to run in test mode, and use that aptitude command line
17365 printed by tasksel then to simulate the tasksel run. I ended up using
17366 code like this:
17367
17368 <blockquote><pre>
17369 export DEBIAN_FRONTEND=noninteractive
17370 cmd="$(in_target tasksel -t --new-install | sed 's/debconf-apt-progress -- //')"
17371 $cmd
17372 </pre></blockquote>
17373
17374 <p>The content of $cmd is typically something like "<tt>aptitude -q
17375 --without-recommends -o APT::Install-Recommends=no -y install
17376 ~t^desktop$ ~t^gnome-desktop$ ~t^laptop$ ~pstandard ~prequired
17377 ~pimportant</tt>", which will install the gnome desktop task, the
17378 laptop task and all packages with priority standard , required and
17379 important, just like tasksel would have done it during
17380 installation.</p>
17381
17382 <p>A better approach is probably to extend tasksel to be able to
17383 install packages without using debconf-apt-progress, for use cases
17384 like this.</p>
17385
17386 </div>
17387 <div class="tags">
17388
17389
17390 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>.
17391
17392
17393 </div>
17394 </div>
17395 <div class="padding"></div>
17396
17397 <div class="entry">
17398 <div class="title">
17399 <a href="http://people.skolelinux.org/pere/blog/Officeshots_taking_shape.html">Officeshots taking shape</a>
17400 </div>
17401 <div class="date">
17402 13th June 2010
17403 </div>
17404 <div class="body">
17405 <p>For those of us caring about document exchange and
17406 interoperability, <a href="http://www.officeshots.org/">OfficeShots</a>
17407 is a great service. It is to ODF documents what
17408 <a href="http://browsershots.org/">BrowserShots</a> is for web
17409 pages.</p>
17410
17411 <p>A while back, I was contacted by Knut Yrvin at the part of Nokia
17412 that used to be Trolltech, who wanted to help the OfficeShots project
17413 and wondered if the University of Oslo where I work would be
17414 interested in supporting the project. I helped him to navigate his
17415 request to the right people at work, and his request was answered with
17416 a spot in the machine room with power and network connected, and Knut
17417 arranged funding for a machine to fill the spot. The machine is
17418 administrated by the OfficeShots people, so I do not have daily
17419 contact with its progress, and thus from time to time check back to
17420 see how the project is doing.</p>
17421
17422 <p>Today I had a look, and was happy to see that the Dell box in our
17423 machine room now is the host for several virtual machines running as
17424 OfficeShots factories, and the project is able to render ODF documents
17425 in 17 different document processing implementation on Linux and
17426 Windows. This is great.</p>
17427
17428 </div>
17429 <div class="tags">
17430
17431
17432 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>.
17433
17434
17435 </div>
17436 </div>
17437 <div class="padding"></div>
17438
17439 <div class="entry">
17440 <div class="title">
17441 <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>
17442 </div>
17443 <div class="date">
17444 13th June 2010
17445 </div>
17446 <div class="body">
17447 <p>My
17448 <a href="http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html">testing
17449 of Debian upgrades</a> from Lenny to Squeeze continues, and I've
17450 finally made the upgrade logs available from
17451 <a href="http://people.skolelinux.org/pere/debian-upgrade-testing/">http://people.skolelinux.org/pere/debian-upgrade-testing/</a>.
17452 I am now testing dist-upgrade of Gnome and KDE in a chroot using both
17453 apt and aptitude, and found their differences interesting. This time
17454 I will only focus on their removal plans.</p>
17455
17456 <p>After installing a Gnome desktop and the laptop task, apt-get wants
17457 to remove 72 packages when dist-upgrading from Lenny to Squeeze. The
17458 surprising part is that it want to remove xorg and all
17459 xserver-xorg-video* drivers. Clearly not a good choice, but I am not
17460 sure why. When asking aptitude to do the same, it want to remove 129
17461 packages, but most of them are library packages I suspect are no
17462 longer needed. Both of them want to remove bluetooth packages, which
17463 I do not know. Perhaps these bluetooth packages are obsolete?</p>
17464
17465 <p>For KDE, apt-get want to remove 82 packages, among them kdebase
17466 which seem like a bad idea and xorg the same way as with Gnome. Asking
17467 aptitude for the same, it wants to remove 192 packages, none which are
17468 too surprising.</p>
17469
17470 <p>I guess the removal of xorg during upgrades should be investigated
17471 and avoided, and perhaps others as well. Here are the complete list
17472 of planned removals. The complete logs is available from the URL
17473 above. Note if you want to repeat these tests, that the upgrade test
17474 for kde+apt-get hung in the tasksel setup because of dpkg asking
17475 conffile questions. No idea why. I worked around it by using
17476 '<tt>echo >> /proc/<em>pidofdpkg</em>/fd/0</tt>' to tell dpkg to
17477 continue.</p>
17478
17479 <p><b>apt-get gnome 72</b>
17480 <br>bluez-gnome cupsddk-drivers deskbar-applet gnome
17481 gnome-desktop-environment gnome-network-admin gtkhtml3.14
17482 iceweasel-gnome-support libavcodec51 libdatrie0 libgdl-1-0
17483 libgnomekbd2 libgnomekbdui2 libmetacity0 libslab0 libxcb-xlib0
17484 nautilus-cd-burner python-gnome2-desktop python-gnome2-extras
17485 serpentine swfdec-mozilla update-manager xorg xserver-xorg
17486 xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-evdev
17487 xserver-xorg-input-kbd xserver-xorg-input-mouse
17488 xserver-xorg-input-synaptics xserver-xorg-input-wacom
17489 xserver-xorg-video-all xserver-xorg-video-apm xserver-xorg-video-ark
17490 xserver-xorg-video-ati xserver-xorg-video-chips
17491 xserver-xorg-video-cirrus xserver-xorg-video-cyrix
17492 xserver-xorg-video-dummy xserver-xorg-video-fbdev
17493 xserver-xorg-video-glint xserver-xorg-video-i128
17494 xserver-xorg-video-i740 xserver-xorg-video-imstt
17495 xserver-xorg-video-intel xserver-xorg-video-mach64
17496 xserver-xorg-video-mga xserver-xorg-video-neomagic
17497 xserver-xorg-video-nsc xserver-xorg-video-nv
17498 xserver-xorg-video-openchrome xserver-xorg-video-r128
17499 xserver-xorg-video-radeon xserver-xorg-video-radeonhd
17500 xserver-xorg-video-rendition xserver-xorg-video-s3
17501 xserver-xorg-video-s3virge xserver-xorg-video-savage
17502 xserver-xorg-video-siliconmotion xserver-xorg-video-sis
17503 xserver-xorg-video-sisusb xserver-xorg-video-tdfx
17504 xserver-xorg-video-tga xserver-xorg-video-trident
17505 xserver-xorg-video-tseng xserver-xorg-video-v4l
17506 xserver-xorg-video-vesa xserver-xorg-video-vga
17507 xserver-xorg-video-vmware xserver-xorg-video-voodoo xulrunner-1.9
17508 xulrunner-1.9-gnome-support</p>
17509
17510 <p><b>aptitude gnome 129</b>
17511
17512 <br>bluez-gnome bluez-utils cpp-4.3 cupsddk-drivers dhcdbd
17513 djvulibre-desktop finger gnome-app-install gnome-mount
17514 gnome-network-admin gnome-spell gnome-vfs-obexftp
17515 gnome-volume-manager gstreamer0.10-gnomevfs gtkhtml3.14 libao2
17516 libavahi-compat-libdnssd1 libavahi-core5 libavcodec51 libbluetooth2
17517 libcamel1.2-11 libcdio7 libcucul0 libcupsys2 libcurl3 libdatrie0
17518 libdirectfb-1.0-0 libdvdread3 libedataserver1.2-9 libeel2-2.20
17519 libeel2-data libepc-1.0-1 libepc-ui-1.0-1 libfaad0 libgail-common
17520 libgd2-noxpm libgda3-3 libgda3-common libgdl-1-0 libgdl-1-common
17521 libggz2 libggzcore9 libggzmod4 libgksu1.2-0 libgksuui1.0-1 libgmyth0
17522 libgnomecups1.0-1 libgnomekbd2 libgnomekbdui2 libgnomeprint2.2-0
17523 libgnomeprint2.2-data libgnomeprintui2.2-0 libgnomeprintui2.2-common
17524 libgnomevfs2-bin libgpod3 libgraphviz4 libgtkhtml2-0
17525 libgtksourceview-common libgtksourceview1.0-0 libgucharmap6
17526 libhesiod0 libicu38 libiw29 libkpathsea4 libltdl3 libmagick++10
17527 libmagick10 libmalaga7 libmetacity0 libmtp7 libmysqlclient15off
17528 libnautilus-burn4 libneon27 libnm-glib0 libnm-util0 libopal-2.2
17529 libosp5 libparted1.8-10 libpoppler-glib3 libpoppler3 libpt-1.10.10
17530 libpt-1.10.10-plugins-alsa libpt-1.10.10-plugins-v4l libraw1394-8
17531 libsensors3 libslab0 libsmbios2 libsoup2.2-8 libssh2-1
17532 libsuitesparse-3.1.0 libswfdec-0.6-90 libtalloc1 libtotem-plparser10
17533 libtrackerclient0 libxalan2-java libxalan2-java-gcj libxcb-xlib0
17534 libxerces2-java libxerces2-java-gcj libxklavier12 libxtrap6
17535 libxxf86misc1 libzephyr3 mysql-common nautilus-cd-burner
17536 openoffice.org-writer2latex openssl-blacklist p7zip
17537 python-4suite-xml python-eggtrayicon python-gnome2-desktop
17538 python-gnome2-extras python-gtkhtml2 python-gtkmozembed
17539 python-numeric python-sexy serpentine svgalibg1 swfdec-gnome
17540 swfdec-mozilla totem-gstreamer update-manager wodim
17541 xserver-xorg-video-cyrix xserver-xorg-video-imstt
17542 xserver-xorg-video-nsc xserver-xorg-video-v4l xserver-xorg-video-vga
17543 zip</p>
17544
17545 <p><b>apt-get kde 82</b>
17546
17547 <br>cupsddk-drivers karm kaudiocreator kcoloredit kcontrol kde kde-core
17548 kdeaddons kdeartwork kdebase kdebase-bin kdebase-bin-kde3
17549 kdebase-kio-plugins kdesktop kdeutils khelpcenter kicker
17550 kicker-applets knewsticker kolourpaint konq-plugins konqueror korn
17551 kpersonalizer kscreensaver ksplash libavcodec51 libdatrie0 libkiten1
17552 libxcb-xlib0 quanta superkaramba texlive-base-bin xorg xserver-xorg
17553 xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-evdev
17554 xserver-xorg-input-kbd xserver-xorg-input-mouse
17555 xserver-xorg-input-synaptics xserver-xorg-input-wacom
17556 xserver-xorg-video-all xserver-xorg-video-apm xserver-xorg-video-ark
17557 xserver-xorg-video-ati xserver-xorg-video-chips
17558 xserver-xorg-video-cirrus xserver-xorg-video-cyrix
17559 xserver-xorg-video-dummy xserver-xorg-video-fbdev
17560 xserver-xorg-video-glint xserver-xorg-video-i128
17561 xserver-xorg-video-i740 xserver-xorg-video-imstt
17562 xserver-xorg-video-intel xserver-xorg-video-mach64
17563 xserver-xorg-video-mga xserver-xorg-video-neomagic
17564 xserver-xorg-video-nsc xserver-xorg-video-nv
17565 xserver-xorg-video-openchrome xserver-xorg-video-r128
17566 xserver-xorg-video-radeon xserver-xorg-video-radeonhd
17567 xserver-xorg-video-rendition xserver-xorg-video-s3
17568 xserver-xorg-video-s3virge xserver-xorg-video-savage
17569 xserver-xorg-video-siliconmotion xserver-xorg-video-sis
17570 xserver-xorg-video-sisusb xserver-xorg-video-tdfx
17571 xserver-xorg-video-tga xserver-xorg-video-trident
17572 xserver-xorg-video-tseng xserver-xorg-video-v4l
17573 xserver-xorg-video-vesa xserver-xorg-video-vga
17574 xserver-xorg-video-vmware xserver-xorg-video-voodoo xulrunner-1.9</p>
17575
17576 <p><b>aptitude kde 192</b>
17577 <br>bluez-utils cpp-4.3 cupsddk-drivers cvs dcoprss dhcdbd
17578 djvulibre-desktop dosfstools eyesapplet fifteenapplet finger gettext
17579 ghostscript-x imlib-base imlib11 indi kandy karm kasteroids
17580 kaudiocreator kbackgammon kbstate kcoloredit kcontrol kcron kdat
17581 kdeadmin-kfile-plugins kdeartwork-misc kdeartwork-theme-window
17582 kdebase-bin-kde3 kdebase-kio-plugins kdeedu-data
17583 kdegraphics-kfile-plugins kdelirc kdemultimedia-kappfinder-data
17584 kdemultimedia-kfile-plugins kdenetwork-kfile-plugins
17585 kdepim-kfile-plugins kdepim-kio-plugins kdeprint kdesktop kdessh
17586 kdict kdnssd kdvi kedit keduca kenolaba kfax kfaxview kfouleggs
17587 kghostview khelpcenter khexedit kiconedit kitchensync klatin
17588 klickety kmailcvt kmenuedit kmid kmilo kmoon kmrml kodo kolourpaint
17589 kooka korn kpager kpdf kpercentage kpf kpilot kpoker kpovmodeler
17590 krec kregexpeditor ksayit ksim ksirc ksirtet ksmiletris ksmserver
17591 ksnake ksokoban ksplash ksvg ksysv ktip ktnef kuickshow kverbos
17592 kview kviewshell kvoctrain kwifimanager kwin kwin4 kworldclock
17593 kxsldbg libakode2 libao2 libarts1-akode libarts1-audiofile
17594 libarts1-mpeglib libarts1-xine libavahi-compat-libdnssd1
17595 libavahi-core5 libavc1394-0 libavcodec51 libbluetooth2
17596 libboost-python1.34.1 libcucul0 libcurl3 libcvsservice0 libdatrie0
17597 libdirectfb-1.0-0 libdjvulibre21 libdvdread3 libfaad0 libfreebob0
17598 libgail-common libgd2-noxpm libgraphviz4 libgsmme1c2a libgtkhtml2-0
17599 libicu38 libiec61883-0 libindex0 libiw29 libk3b3 libkcal2b libkcddb1
17600 libkdeedu3 libkdepim1a libkgantt0 libkiten1 libkleopatra1 libkmime2
17601 libkpathsea4 libkpimexchange1 libkpimidentities1 libkscan1
17602 libksieve0 libktnef1 liblockdev1 libltdl3 libmagick10 libmimelib1c2a
17603 libmozjs1d libmpcdec3 libneon27 libnm-util0 libopensync0 libpisock9
17604 libpoppler-glib3 libpoppler-qt2 libpoppler3 libraw1394-8 libsmbios2
17605 libssh2-1 libsuitesparse-3.1.0 libtalloc1 libtiff-tools
17606 libxalan2-java libxalan2-java-gcj libxcb-xlib0 libxerces2-java
17607 libxerces2-java-gcj libxtrap6 mpeglib networkstatus
17608 openoffice.org-writer2latex pmount poster psutils quanta quanta-data
17609 superkaramba svgalibg1 tex-common texlive-base texlive-base-bin
17610 texlive-common texlive-doc-base texlive-fonts-recommended
17611 xserver-xorg-video-cyrix xserver-xorg-video-imstt
17612 xserver-xorg-video-nsc xserver-xorg-video-v4l xserver-xorg-video-vga
17613 xulrunner-1.9</p>
17614
17615
17616 </div>
17617 <div class="tags">
17618
17619
17620 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>.
17621
17622
17623 </div>
17624 </div>
17625 <div class="padding"></div>
17626
17627 <div class="entry">
17628 <div class="title">
17629 <a href="http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html">Automatic upgrade testing from Lenny to Squeeze</a>
17630 </div>
17631 <div class="date">
17632 11th June 2010
17633 </div>
17634 <div class="body">
17635 <p>The last few days I have done some upgrade testing in Debian, to
17636 see if the upgrade from Lenny to Squeeze will go smoothly. A few bugs
17637 have been discovered and reported in the process
17638 (<a href="http://bugs.debian.org/585410">#585410</a> in nagios3-cgi,
17639 <a href="http://bugs.debian.org/584879">#584879</a> already fixed in
17640 enscript and <a href="http://bugs.debian.org/584861">#584861</a> in
17641 kdebase-workspace-data), and to get a more regular testing going on, I
17642 am working on a script to automate the test.</p>
17643
17644 <p>The idea is to create a Lenny chroot and use tasksel to install a
17645 Gnome or KDE desktop installation inside the chroot before upgrading
17646 it. To ensure no services are started in the chroot, a policy-rc.d
17647 script is inserted. To make sure tasksel believe it is to install a
17648 desktop on a laptop, the tasksel tests are replaced in the chroot
17649 (only acceptable because this is a throw-away chroot).</p>
17650
17651 <p>A naive upgrade from Lenny to Squeeze using aptitude dist-upgrade
17652 currently always fail because udev refuses to upgrade with the kernel
17653 in Lenny, so to avoid that problem the file /etc/udev/kernel-upgrade
17654 is created. The bug report
17655 <a href="http://bugs.debian.org/566000">#566000</a> make me suspect
17656 this problem do not trigger in a chroot, but I touch the file anyway
17657 to make sure the upgrade go well. Testing on virtual and real
17658 hardware have failed me because of udev so far, and creating this file
17659 do the trick in such settings anyway. This is a
17660 <a href="http://www.linuxquestions.org/questions/debian-26/failed-dist-upgrade-due-to-udev-config_sysfs_deprecated-nonsense-804130/">known
17661 issue</a> and the current udev behaviour is intended by the udev
17662 maintainer because he lack the resources to rewrite udev to keep
17663 working with old kernels or something like that. I really wish the
17664 udev upstream would keep udev backwards compatible, to avoid such
17665 upgrade problem, but given that they fail to do so, I guess
17666 documenting the way out of this mess is the best option we got for
17667 Debian Squeeze.</p>
17668
17669 <p>Anyway, back to the task at hand, testing upgrades. This test
17670 script, which I call <tt>upgrade-test</tt> for now, is doing the
17671 trick:</p>
17672
17673 <blockquote><pre>
17674 #!/bin/sh
17675 set -ex
17676
17677 if [ "$1" ] ; then
17678 desktop=$1
17679 else
17680 desktop=gnome
17681 fi
17682
17683 from=lenny
17684 to=squeeze
17685
17686 exec &lt; /dev/null
17687 unset LANG
17688 mirror=http://ftp.skolelinux.org/debian
17689 tmpdir=chroot-$from-upgrade-$to-$desktop
17690 fuser -mv .
17691 debootstrap $from $tmpdir $mirror
17692 chroot $tmpdir aptitude update
17693 cat > $tmpdir/usr/sbin/policy-rc.d &lt;&lt;EOF
17694 #!/bin/sh
17695 exit 101
17696 EOF
17697 chmod a+rx $tmpdir/usr/sbin/policy-rc.d
17698 exit_cleanup() {
17699 umount $tmpdir/proc
17700 }
17701 mount -t proc proc $tmpdir/proc
17702 # Make sure proc is unmounted also on failure
17703 trap exit_cleanup EXIT INT
17704
17705 chroot $tmpdir aptitude -y install debconf-utils
17706
17707 # Make sure tasksel autoselection trigger. It need the test scripts
17708 # to return the correct answers.
17709 echo tasksel tasksel/desktop multiselect $desktop | \
17710 chroot $tmpdir debconf-set-selections
17711
17712 # Include the desktop and laptop task
17713 for test in desktop laptop ; do
17714 echo > $tmpdir/usr/lib/tasksel/tests/$test &lt;&lt;EOF
17715 #!/bin/sh
17716 exit 2
17717 EOF
17718 chmod a+rx $tmpdir/usr/lib/tasksel/tests/$test
17719 done
17720
17721 DEBIAN_FRONTEND=noninteractive
17722 DEBIAN_PRIORITY=critical
17723 export DEBIAN_FRONTEND DEBIAN_PRIORITY
17724 chroot $tmpdir tasksel --new-install
17725
17726 echo deb $mirror $to main > $tmpdir/etc/apt/sources.list
17727 chroot $tmpdir aptitude update
17728 touch $tmpdir/etc/udev/kernel-upgrade
17729 chroot $tmpdir aptitude -y dist-upgrade
17730 fuser -mv
17731 </pre></blockquote>
17732
17733 <p>I suspect it would be useful to test upgrades with both apt-get and
17734 with aptitude, but I have not had time to look at how they behave
17735 differently so far. I hope to get a cron job running to do the test
17736 regularly and post the result on the web. The Gnome upgrade currently
17737 work, while the KDE upgrade fail because of the bug in
17738 kdebase-workspace-data</p>
17739
17740 <p>I am not quite sure what kind of extract from the huge upgrade logs
17741 (KDE 167 KiB, Gnome 516 KiB) it make sense to include in this blog
17742 post, so I will refrain from trying. I can report that for Gnome,
17743 aptitude report 760 packages upgraded, 448 newly installed, 129 to
17744 remove and 1 not upgraded and 1024MB need to be downloaded while for
17745 KDE the same numbers are 702 packages upgraded, 507 newly installed,
17746 193 to remove and 0 not upgraded and 1117MB need to be downloaded</p>
17747
17748 <p>I am very happy to notice that the Gnome desktop + laptop upgrade
17749 is able to migrate to dependency based boot sequencing and parallel
17750 booting without a hitch. Was unsure if there were still bugs with
17751 packages failing to clean up their obsolete init.d script during
17752 upgrades, and no such problem seem to affect the Gnome desktop+laptop
17753 packages.</p>
17754
17755 </div>
17756 <div class="tags">
17757
17758
17759 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>.
17760
17761
17762 </div>
17763 </div>
17764 <div class="padding"></div>
17765
17766 <div class="entry">
17767 <div class="title">
17768 <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>
17769 </div>
17770 <div class="date">
17771 6th June 2010
17772 </div>
17773 <div class="body">
17774 <p>If Debian is to migrate to upstart on Linux, I expect some init.d
17775 scripts to migrate (some of) their operations to upstart job while
17776 keeping the init.d for hurd and kfreebsd. The packages with such
17777 needs will need a way to get their init.d scripts to behave
17778 differently when used with sysvinit and with upstart. Because of
17779 this, I had a look at the environment variables set when a init.d
17780 script is running under upstart, and when it is not.</p>
17781
17782 <p>With upstart, I notice these environment variables are set when a
17783 script is started from rcS.d/ (ignoring some irrelevant ones like
17784 COLUMNS):</p>
17785
17786 <blockquote><pre>
17787 DEFAULT_RUNLEVEL=2
17788 previous=N
17789 PREVLEVEL=
17790 RUNLEVEL=
17791 runlevel=S
17792 UPSTART_EVENTS=startup
17793 UPSTART_INSTANCE=
17794 UPSTART_JOB=rc-sysinit
17795 </pre></blockquote>
17796
17797 <p>With sysvinit, these environment variables are set for the same
17798 script.</p>
17799
17800 <blockquote><pre>
17801 INIT_VERSION=sysvinit-2.88
17802 previous=N
17803 PREVLEVEL=N
17804 RUNLEVEL=S
17805 runlevel=S
17806 </pre></blockquote>
17807
17808 <p>The RUNLEVEL and PREVLEVEL environment variables passed on from
17809 sysvinit are not set by upstart. Not sure if it is intentional or not
17810 to not be compatible with sysvinit in this regard.</p>
17811
17812 <p>For scripts needing to behave differently when upstart is used,
17813 looking for the UPSTART_JOB environment variable seem to be a good
17814 choice.</p>
17815
17816 </div>
17817 <div class="tags">
17818
17819
17820 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>.
17821
17822
17823 </div>
17824 </div>
17825 <div class="padding"></div>
17826
17827 <div class="entry">
17828 <div class="title">
17829 <a href="http://people.skolelinux.org/pere/blog/A_manual_for_standards_wars___.html">A manual for standards wars...</a>
17830 </div>
17831 <div class="date">
17832 6th June 2010
17833 </div>
17834 <div class="body">
17835 <p>Via the
17836 <a href="http://feedproxy.google.com/~r/robweir/antic-atom/~3/QzU4RgoAGMg/weekly-links-10.html">blog
17837 of Rob Weir</a> I came across the very interesting essay named
17838 <a href="http://faculty.haas.berkeley.edu/shapiro/wars.pdf">The Art of
17839 Standards Wars</a> (PDF 25 pages). I recommend it for everyone
17840 following the standards wars of today.</p>
17841
17842 </div>
17843 <div class="tags">
17844
17845
17846 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>.
17847
17848
17849 </div>
17850 </div>
17851 <div class="padding"></div>
17852
17853 <div class="entry">
17854 <div class="title">
17855 <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>
17856 </div>
17857 <div class="date">
17858 3rd June 2010
17859 </div>
17860 <div class="body">
17861 <p>When using sitesummary at a site to track machines, it is possible
17862 to get a list of the machine types in use thanks to the DMI
17863 information extracted from each machine. The script to do so is
17864 included in the sitesummary package, and here is example output from
17865 the Skolelinux build servers:</p>
17866
17867 <blockquote><pre>
17868 maintainer:~# /usr/lib/sitesummary/hardware-model-summary
17869 vendor count
17870 Dell Computer Corporation 1
17871 PowerEdge 1750 1
17872 IBM 1
17873 eserver xSeries 345 -[8670M1X]- 1
17874 Intel 2
17875 [no-dmi-info] 3
17876 maintainer:~#
17877 </pre></blockquote>
17878
17879 <p>The quality of the report depend on the quality of the DMI tables
17880 provided in each machine. Here there are Intel machines without model
17881 information listed with Intel as vendor and no model, and virtual Xen
17882 machines listed as [no-dmi-info]. One can add -l as a command line
17883 option to list the individual machines.</p>
17884
17885 <p>A larger list is
17886 <a href="http://narvikskolen.no/sitesummary/">available from the the
17887 city of Narvik</a>, which uses Skolelinux on all their shools and also
17888 provide the basic sitesummary report publicly. In their report there
17889 are ~1400 machines. I know they use both Ubuntu and Skolelinux on
17890 their machines, and as sitesummary is available in both distributions,
17891 it is trivial to get all of them to report to the same central
17892 collector.</p>
17893
17894 </div>
17895 <div class="tags">
17896
17897
17898 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>.
17899
17900
17901 </div>
17902 </div>
17903 <div class="padding"></div>
17904
17905 <div class="entry">
17906 <div class="title">
17907 <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>
17908 </div>
17909 <div class="date">
17910 1st June 2010
17911 </div>
17912 <div class="body">
17913 <p>It is strange to watch how a bug in Debian causing KDM to fail to
17914 start at boot when an NVidia video card is used is handled. The
17915 problem seem to be that the nvidia X.org driver uses a long time to
17916 initialize, and this duration is longer than kdm is configured to
17917 wait.</p>
17918
17919 <p>I came across two bugs related to this issue,
17920 <a href="http://bugs.debian.org/583312">#583312</a> initially filed
17921 against initscripts and passed on to nvidia-glx when it became obvious
17922 that the nvidia drivers were involved, and
17923 <a href="http://bugs.debian.org/524751">#524751</a> initially filed against
17924 kdm and passed on to src:nvidia-graphics-drivers for unknown reasons.</p>
17925
17926 <p>To me, it seem that no-one is interested in actually solving the
17927 problem nvidia video card owners experience and make sure the Debian
17928 distribution work out of the box for these users. The nvidia driver
17929 maintainers expect kdm to be set up to wait longer, while kdm expect
17930 the nvidia driver maintainers to fix the driver to start faster, and
17931 while they wait for each other I guess the users end up switching to a
17932 distribution that work for them. I have no idea what the solution is,
17933 but I am pretty sure that waiting for each other is not it.</p>
17934
17935 <p>I wonder why we end up handling bugs this way.</p>
17936
17937 </div>
17938 <div class="tags">
17939
17940
17941 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>.
17942
17943
17944 </div>
17945 </div>
17946 <div class="padding"></div>
17947
17948 <div class="entry">
17949 <div class="title">
17950 <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>
17951 </div>
17952 <div class="date">
17953 27th May 2010
17954 </div>
17955 <div class="body">
17956 <p>A few days ago, parallel booting was enabled in Debian/testing.
17957 The feature seem to hold up pretty well, but three fairly serious
17958 issues are known and should be solved:
17959
17960 <p><ul>
17961
17962 <li>The wicd package seen to
17963 <a href="http://bugs.debian.org/508289">break NFS mounting</a> and
17964 <a href="http://bugs.debian.org/581586">network setup</a> when
17965 parallel booting is enabled. No idea why, but the wicd maintainer
17966 seem to be on the case.</li>
17967
17968 <li>The nvidia X driver seem to
17969 <a href="http://bugs.debian.org/583312">have a race condition</a>
17970 triggered more easily when parallel booting is in effect. The
17971 maintainer is on the case.</li>
17972
17973 <li>The sysv-rc package fail to properly enable dependency based boot
17974 sequencing (the shutdown is broken) when old file-rc users
17975 <a href="http://bugs.debian.org/575080">try to switch back</a> to
17976 sysv-rc. One way to solve it would be for file-rc to create
17977 /etc/init.d/.legacy-bootordering, and another is to try to make
17978 sysv-rc more robust. Will investigate some more and probably upload a
17979 workaround in sysv-rc to help those trying to move from file-rc to
17980 sysv-rc get a working shutdown.</li>
17981
17982 </ul></p>
17983
17984 <p>All in all not many surprising issues, and all of them seem
17985 solvable before Squeeze is released. In addition to these there are
17986 some packages with bugs in their dependencies and run level settings,
17987 which I expect will be fixed in a reasonable time span.</p>
17988
17989 <p>If you report any problems with dependencies in init.d scripts to
17990 the BTS, please usertag the report to get it to show up at
17991 <a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org">the
17992 list of usertagged bugs related to this</a>.</p>
17993
17994 <p>Update: Correct bug number to file-rc issue.</p>
17995
17996 </div>
17997 <div class="tags">
17998
17999
18000 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>.
18001
18002
18003 </div>
18004 </div>
18005 <div class="padding"></div>
18006
18007 <div class="entry">
18008 <div class="title">
18009 <a href="http://people.skolelinux.org/pere/blog/More_flexible_firmware_handling_in_debian_installer.html">More flexible firmware handling in debian-installer</a>
18010 </div>
18011 <div class="date">
18012 22nd May 2010
18013 </div>
18014 <div class="body">
18015 <p>After a long break from debian-installer development, I finally
18016 found time today to return to the project. Having to spend less time
18017 working dependency based boot in debian, as it is almost complete now,
18018 definitely helped freeing some time.</p>
18019
18020 <p>A while back, I ran into a problem while working on Debian Edu. We
18021 include some firmware packages on the Debian Edu CDs, those needed to
18022 get disk and network controllers working. Without having these
18023 firmware packages available during installation, it is impossible to
18024 install Debian Edu on the given machine, and because our target group
18025 are non-technical people, asking them to provide firmware packages on
18026 an external medium is a support pain. Initially, I expected it to be
18027 enough to include the firmware packages on the CD to get
18028 debian-installer to find and use them. This proved to be wrong.
18029 Next, I hoped it was enough to symlink the relevant firmware packages
18030 to some useful location on the CD (tried /cdrom/ and
18031 /cdrom/firmware/). This also proved to not work, and at this point I
18032 found time to look at the debian-installer code to figure out what was
18033 going to work.</p>
18034
18035 <p>The firmware loading code is in the hw-detect package, and a closer
18036 look revealed that it would only look for firmware packages outside
18037 the installation media, so the CD was never checked for firmware
18038 packages. It would only check USB sticks, floppies and other
18039 "external" media devices. Today I changed it to also look in the
18040 /cdrom/firmware/ directory on the mounted CD or DVD, which should
18041 solve the problem I ran into with Debian edu. I also changed it to
18042 look in /firmware/, to make sure the installer also find firmware
18043 provided in the initrd when booting the installer via PXE, to allow us
18044 to provide the same feature in the PXE setup included in Debian
18045 Edu.</p>
18046
18047 <p>To make sure firmware deb packages with a license questions are not
18048 activated without asking if the license is accepted, I extended
18049 hw-detect to look for preinst scripts in the firmware packages, and
18050 run these before activating the firmware during installation. The
18051 license question is asked using debconf in the preinst, so this should
18052 solve the issue for the firmware packages I have looked at so far.</p>
18053
18054 <p>If you want to discuss the details of these features, please
18055 contact us on debian-boot@lists.debian.org.</p>
18056
18057 </div>
18058 <div class="tags">
18059
18060
18061 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>.
18062
18063
18064 </div>
18065 </div>
18066 <div class="padding"></div>
18067
18068 <div class="entry">
18069 <div class="title">
18070 <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>
18071 </div>
18072 <div class="date">
18073 19th May 2010
18074 </div>
18075 <div class="body">
18076 <p>Today, the last piece of the puzzle for roaming laptops in Debian
18077 Edu finally entered the Debian archive. Today, the new
18078 <a href="http://packages.qa.debian.org/libp/libpam-mklocaluser.html">libpam-mklocaluser</a>
18079 package was accepted. Two days ago, two other pieces was accepted
18080 into unstable. The
18081 <a href="http://packages.qa.debian.org/p/pam-python.html">pam-python</a>
18082 package needed by libpam-mklocaluser, and the
18083 <a href="http://packages.qa.debian.org/s/sssd.html">sssd</a> package
18084 passed NEW on Monday. In addition, the
18085 <a href="http://packages.qa.debian.org/libp/libpam-ccreds.html">libpam-ccreds</a>
18086 package we need is in experimental (version 10-4) since Saturday, and
18087 hopefully will be moved to unstable soon.</p>
18088
18089 <p>This collection of packages allow for two different setups for
18090 roaming laptops. The traditional setup would be using libpam-ccreds,
18091 nscd and libpam-mklocaluser with LDAP or Kerberos authentication,
18092 which should work out of the box if the configuration changes proposed
18093 for nscd in <a href="http://bugs.debian.org/485282">BTS report
18094 #485282</a> is implemented. The alternative setup is to use sssd with
18095 libpam-mklocaluser to connect to LDAP or Kerberos and let sssd take
18096 care of the caching of passwords and group information.</p>
18097
18098 <p>I have so far been unable to get sssd to work with the LDAP server
18099 at the University, but suspect the issue is some SSL/GnuTLS related
18100 problem with the server certificate. I plan to update the Debian
18101 package to version 1.2, which is scheduled for next week, and hope to
18102 find time to make sure the next release will include both the
18103 Debian/Ubuntu specific patches. Upstream is friendly and responsive,
18104 and I am sure we will find a good solution.</p>
18105
18106 <p>The idea is to set up the roaming laptops to authenticate using
18107 LDAP or Kerberos and create a local user with home directory in /home/
18108 when a usre in LDAP logs in via KDM or GDM for the first time, and
18109 cache the password for offline checking, as well as caching group
18110 memberhips and other relevant LDAP information. The
18111 libpam-mklocaluser package was created to make sure the local home
18112 directory is in /home/, instead of /site/server/directory/ which would
18113 be the home directory if pam_mkhomedir was used. To avoid confusion
18114 with support requests and configuration, we do not want local laptops
18115 to have users in a path that is used for the same users home directory
18116 on the home directory servers.</p>
18117
18118 <p>One annoying problem with gdm is that it do not show the PAM
18119 message passed to the user from libpam-mklocaluser when the local user
18120 is created. Instead gdm simply reject the login with some generic
18121 message. The message is shown in kdm, ssh and login, so I guess it is
18122 a bug in gdm. Have not investigated if there is some other message
18123 type that can be used instead to get gdm to also show the message.</p>
18124
18125 <p>If you want to help out with implementing this for Debian Edu,
18126 please contact us on debian-edu@lists.debian.org.</p>
18127
18128 </div>
18129 <div class="tags">
18130
18131
18132 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>.
18133
18134
18135 </div>
18136 </div>
18137 <div class="padding"></div>
18138
18139 <div class="entry">
18140 <div class="title">
18141 <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>
18142 </div>
18143 <div class="date">
18144 14th May 2010
18145 </div>
18146 <div class="body">
18147 <p>Since this evening, parallel booting is the default in
18148 Debian/unstable for machines using dependency based boot sequencing.
18149 Apparently the testing of concurrent booting has been wider than
18150 expected, if I am to believe the
18151 <a href="http://lists.debian.org/debian-devel/2010/05/msg00122.html">input
18152 on debian-devel@</a>, and I concluded a few days ago to move forward
18153 with the feature this weekend, to give us some time to detect any
18154 remaining problems before Squeeze is frozen. If serious problems are
18155 detected, it is simple to change the default back to sequential boot.
18156 The upload of the new sysvinit package also activate a new upstream
18157 version.</p>
18158
18159 More information about
18160 <a href="http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot">dependency
18161 based boot sequencing</a> is available from the Debian wiki. It is
18162 currently possible to disable parallel booting when one run into
18163 problems caused by it, by adding this line to /etc/default/rcS:</p>
18164
18165 <blockquote><pre>
18166 CONCURRENCY=none
18167 </pre></blockquote>
18168
18169 <p>If you report any problems with dependencies in init.d scripts to
18170 the BTS, please usertag the report to get it to show up at
18171 <a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org">the
18172 list of usertagged bugs related to this</a>.</p>
18173
18174 </div>
18175 <div class="tags">
18176
18177
18178 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>.
18179
18180
18181 </div>
18182 </div>
18183 <div class="padding"></div>
18184
18185 <div class="entry">
18186 <div class="title">
18187 <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>
18188 </div>
18189 <div class="date">
18190 14th May 2010
18191 </div>
18192 <div class="body">
18193 <p>In the recent Debian Edu versions, the
18194 <a href="http://wiki.debian.org/DebianEdu/HowTo/SiteSummary">sitesummary
18195 system</a> is used to keep track of the machines in the school
18196 network. Each machine will automatically report its status to the
18197 central server after boot and once per night. The network setup is
18198 also reported, and using this information it is possible to get the
18199 MAC address of all network interfaces in the machines. This is useful
18200 to update the DHCP configuration.</p>
18201
18202 <p>To give some idea how to use sitesummary, here is a one-liner to
18203 ist all MAC addresses of all machines reporting to sitesummary. Run
18204 this on the collector host:</p>
18205
18206 <blockquote><pre>
18207 perl -MSiteSummary -e 'for_all_hosts(sub { print join(" ", get_macaddresses(shift)), "\n"; });'
18208 </pre></blockquote>
18209
18210 <p>This will list all MAC addresses assosiated with all machine, one
18211 line per machine and with space between the MAC addresses.</p>
18212
18213 <p>To allow system administrators easier job at adding static DHCP
18214 addresses for hosts, it would be possible to extend this to fetch
18215 machine information from sitesummary and update the DHCP and DNS
18216 tables in LDAP using this information. Such tool is unfortunately not
18217 written yet.</p>
18218
18219 </div>
18220 <div class="tags">
18221
18222
18223 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>.
18224
18225
18226 </div>
18227 </div>
18228 <div class="padding"></div>
18229
18230 <div class="entry">
18231 <div class="title">
18232 <a href="http://people.skolelinux.org/pere/blog/systemd__an_interesting_alternative_to_upstart.html">systemd, an interesting alternative to upstart</a>
18233 </div>
18234 <div class="date">
18235 13th May 2010
18236 </div>
18237 <div class="body">
18238 <p>The last few days a new boot system called
18239 <a href="http://www.freedesktop.org/wiki/Software/systemd">systemd</a>
18240 has been
18241 <a href="http://0pointer.de/blog/projects/systemd.html">introduced</a>
18242
18243 to the free software world. I have not yet had time to play around
18244 with it, but it seem to be a very interesting alternative to
18245 <a href="http://upstart.ubuntu.com/">upstart</a>, and might prove to be
18246 a good alternative for Debian when we are able to switch to an event
18247 based boot system. Tollef is
18248 <a href="http://bugs.debian.org/580814">in the process</a> of getting
18249 systemd into Debian, and I look forward to seeing how well it work. I
18250 like the fact that systemd handles init.d scripts with dependency
18251 information natively, allowing them to run in parallel where upstart
18252 at the moment do not.</p>
18253
18254 <p>Unfortunately do systemd have the same problem as upstart regarding
18255 platform support. It only work on recent Linux kernels, and also need
18256 some new kernel features enabled to function properly. This means
18257 kFreeBSD and Hurd ports of Debian will need a port or a different boot
18258 system. Not sure how that will be handled if systemd proves to be the
18259 way forward.</p>
18260
18261 <p>In the mean time, based on the
18262 <a href="http://lists.debian.org/debian-devel/2010/05/msg00122.html">input
18263 on debian-devel@</a> regarding parallel booting in Debian, I have
18264 decided to enable full parallel booting as the default in Debian as
18265 soon as possible (probably this weekend or early next week), to see if
18266 there are any remaining serious bugs in the init.d dependencies. A
18267 new version of the sysvinit package implementing this change is
18268 already in experimental. If all go well, Squeeze will be released
18269 with parallel booting enabled by default.</p>
18270
18271 </div>
18272 <div class="tags">
18273
18274
18275 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>.
18276
18277
18278 </div>
18279 </div>
18280 <div class="padding"></div>
18281
18282 <div class="entry">
18283 <div class="title">
18284 <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>
18285 </div>
18286 <div class="date">
18287 6th May 2010
18288 </div>
18289 <div class="body">
18290 <p>These days, the init.d script dependencies in Squeeze are quite
18291 complete, so complete that it is actually possible to run all the
18292 init.d scripts in parallell based on these dependencies. If you want
18293 to test your Squeeze system, make sure
18294 <a href="http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot">dependency
18295 based boot sequencing</a> is enabled, and add this line to
18296 /etc/default/rcS:</p>
18297
18298 <blockquote><pre>
18299 CONCURRENCY=makefile
18300 </pre></blockquote>
18301
18302 <p>That is it. It will cause sysv-rc to use the startpar tool to run
18303 scripts in parallel using the dependency information stored in
18304 /etc/init.d/.depend.boot, /etc/init.d/.depend.start and
18305 /etc/init.d/.depend.stop to order the scripts. Startpar is configured
18306 to try to start the kdm and gdm scripts as early as possible, and will
18307 start the facilities required by kdm or gdm as early as possible to
18308 make this happen.</p>
18309
18310 <p>Give it a try, and see if you like the result. If some services
18311 fail to start properly, it is most likely because they have incomplete
18312 init.d script dependencies in their startup script (or some of their
18313 dependent scripts have incomplete dependencies). Report bugs and get
18314 the package maintainers to fix it. :)</p>
18315
18316 <p>Running scripts in parallel could be the default in Debian when we
18317 manage to get the init.d script dependencies complete and correct. I
18318 expect we will get there in Squeeze+1, if we get manage to test and
18319 fix the remaining issues.</p>
18320
18321 <p>If you report any problems with dependencies in init.d scripts to
18322 the BTS, please usertag the report to get it to show up at
18323 <a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org">the
18324 list of usertagged bugs related to this</a>.</p>
18325
18326 </div>
18327 <div class="tags">
18328
18329
18330 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>.
18331
18332
18333 </div>
18334 </div>
18335 <div class="padding"></div>
18336
18337 <div class="entry">
18338 <div class="title">
18339 <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>
18340 </div>
18341 <div class="date">
18342 2nd May 2010
18343 </div>
18344 <div class="body">
18345 <p>One interesting feature in Active Directory, is the ability to
18346 create a new user with an expired password, and thus force the user to
18347 change the password on the first login attempt.</p>
18348
18349 <p>I'm not quite sure how to do that with the LDAP setup in Debian
18350 Edu, but did some initial testing with a local account. The account
18351 and password aging information is available in /etc/shadow, but
18352 unfortunately, it is not possible to specify an expiration time for
18353 passwords, only a maximum age for passwords.</p>
18354
18355 <p>A freshly created account (using adduser test) will have these
18356 settings in /etc/shadow:</p>
18357
18358 <blockquote><pre>
18359 root@tjener:~# chage -l test
18360 Last password change : May 02, 2010
18361 Password expires : never
18362 Password inactive : never
18363 Account expires : never
18364 Minimum number of days between password change : 0
18365 Maximum number of days between password change : 99999
18366 Number of days of warning before password expires : 7
18367 root@tjener:~#
18368 </pre></blockquote>
18369
18370 <p>The only way I could come up with to create a user with an expired
18371 account, is to change the date of the last password change to the
18372 lowest value possible (January 1th 1970), and the maximum password age
18373 to the difference in days between that date and today. To make it
18374 simple, I went for 30 years (30 * 365 = 10950) and January 2th (to
18375 avoid testing if 0 is a valid value).</p>
18376
18377 <p>After using these commands to set it up, it seem to work as
18378 intended:</p>
18379
18380 <blockquote><pre>
18381 root@tjener:~# chage -d 1 test; chage -M 10950 test
18382 root@tjener:~# chage -l test
18383 Last password change : Jan 02, 1970
18384 Password expires : never
18385 Password inactive : never
18386 Account expires : never
18387 Minimum number of days between password change : 0
18388 Maximum number of days between password change : 10950
18389 Number of days of warning before password expires : 7
18390 root@tjener:~#
18391 </pre></blockquote>
18392
18393 <p>So far I have tested this with ssh and console, and kdm (in
18394 Squeeze) login, and all ask for a new password before login in the
18395 user (with ssh, I was thrown out and had to log in again).</p>
18396
18397 <p>Perhaps we should set up something similar for Debian Edu, to make
18398 sure only the user itself have the account password?</p>
18399
18400 <p>If you want to comment on or help out with implementing this for
18401 Debian Edu, please contact us on debian-edu@lists.debian.org.</p>
18402
18403 <p>Update 2010-05-02 17:20: Paul Tötterman tells me on IRC that the
18404 shadow(8) page in Debian/testing now state that setting the date of
18405 last password change to zero (0) will force the password to be changed
18406 on the first login. This was not mentioned in the manual in Lenny, so
18407 I did not notice this in my initial testing. I have tested it on
18408 Squeeze, and '<tt>chage -d 0 username</tt>' do work there. I have not
18409 tested it on Lenny yet.</p>
18410
18411 <p>Update 2010-05-02-19:05: Jim Paris tells me via email that an
18412 equivalent command to expire a password is '<tt>passwd -e
18413 username</tt>', which insert zero into the date of the last password
18414 change.</p>
18415
18416 </div>
18417 <div class="tags">
18418
18419
18420 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>.
18421
18422
18423 </div>
18424 </div>
18425 <div class="padding"></div>
18426
18427 <div class="entry">
18428 <div class="title">
18429 <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>
18430 </div>
18431 <div class="date">
18432 28th April 2010
18433 </div>
18434 <div class="body">
18435 <p>For some years now, I have wondered how we should handle laptops in
18436 Debian Edu. The Debian Edu infrastructure is mostly designed to
18437 handle stationary computers, and less suited for computers that come
18438 and go.</p>
18439
18440 <p>Now I finally believe I have an sensible idea on how to adjust
18441 Debian Edu for laptops, by introducing a new profile for them, for
18442 example called Roaming Workstations. Here are my thought on this.
18443 The setup would consist of the following:</p>
18444
18445 <ul>
18446
18447 <li>During installation, the user name of the owner / primary user of
18448 the laptop is requested and a local home directory is set up for
18449 the user, with uid and gid information fetched from the LDAP
18450 server. This allow the user to work also when offline. The
18451 central home directory can be available in a subdirectory on
18452 request, for example mounted via CIFS. It could be mounted
18453 automatically when a user log in while on the Debian Edu network,
18454 and unmounted when the machine is taken away (network down,
18455 hibernate, etc), it can be set up to do automatic mounting on
18456 request (using autofs), or perhaps some GUI button on the desktop
18457 can be used to access it when needed. Perhaps it is enough to use
18458 the fish protocol in KDE?</li>
18459
18460 <li>Password checking is set up to use LDAP or Kerberos
18461 authentication when the machine is on the Debian Edu network, and
18462 to cache the password for offline checking when the machine unable
18463 to reach the LDAP or Kerberos server. This can be done using
18464 <a href="http://www.padl.com/OSS/pam_ccreds.html">libpam-ccreds</a>
18465 or the Fedora developed
18466 <a href="https://fedoraproject.org/wiki/Features/SSSD">System
18467 Security Services Daemon</a> packages.</li>
18468
18469 <li>File synchronisation with the central home directory is set up
18470 using a shared directory in both the local and the central home
18471 directory, using unison.</li>
18472
18473 <li>Printing should be set up to print to all printers broadcasting
18474 their existence on the local network, and should then work out of
18475 the box with CUPS. For sites needing accurate printer quotas, some
18476 system with Kerberos authentication or printing via ssh could be
18477 implemented.</li>
18478
18479 <li>For users that should have local root access to their laptop,
18480 sudo should be used to allow this to the local user.</li>
18481
18482 <li>It would be nice if user and group information from LDAP is
18483 cached on the client, but given that there are entries for the
18484 local user and primary group in /etc/, it should not be needed.</li>
18485
18486 </ul>
18487
18488 <p>I believe all the pieces to implement this are in Debian/testing at
18489 the moment. If we work quickly, we should be able to get this ready
18490 in time for the Squeeze release to freeze. Some of the pieces need
18491 tweaking, like libpam-ccreds should get support for pam-auth-update
18492 (<a href="http://bugs.debian.org/566718">#566718</a>) and nslcd (or
18493 perhaps debian-edu-config) should get some integration code to stop
18494 its daemon when the LDAP server is unavailable to avoid long timeouts
18495 when disconnected from the net. If we get Kerberos enabled, we need
18496 to make sure we avoid long timeouts there too.</p>
18497
18498 <p>If you want to help out with implementing this for Debian Edu,
18499 please contact us on debian-edu@lists.debian.org.</p>
18500
18501 </div>
18502 <div class="tags">
18503
18504
18505 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>.
18506
18507
18508 </div>
18509 </div>
18510 <div class="padding"></div>
18511
18512 <div class="entry">
18513 <div class="title">
18514 <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>
18515 </div>
18516 <div class="date">
18517 19th April 2010
18518 </div>
18519 <div class="body">
18520 <p>The last few weeks i have had the pleasure of reading a
18521 thought-provoking collection of essays by Cory Doctorow, on topics
18522 touching copyright, virtual worlds, the future of man when the
18523 conscience mind can be duplicated into a computer and many more. The
18524 book titled "Content: Selected Essays on Technology, Creativity,
18525 Copyright, and the Future of the Future" is available with few
18526 restrictions on the web, for example from
18527 <a href="http://craphound.com/content/">his own site</a>. I read the
18528 epub-version from
18529 <a href="http://www.feedbooks.com/book/2883">feedbooks</a> using
18530 <a href="http://www.fbreader.org/">fbreader</a> and my N810. I
18531 strongly recommend this book.</p>
18532
18533 </div>
18534 <div class="tags">
18535
18536
18537 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>.
18538
18539
18540 </div>
18541 </div>
18542 <div class="padding"></div>
18543
18544 <div class="entry">
18545 <div class="title">
18546 <a href="http://people.skolelinux.org/pere/blog/Kerberos_for_Debian_Edu_Squeeze_.html">Kerberos for Debian Edu/Squeeze?</a>
18547 </div>
18548 <div class="date">
18549 14th April 2010
18550 </div>
18551 <div class="body">
18552 <p><a href="http://www.nuug.no/aktiviteter/20100413-kerberos/">Yesterdays
18553 NUUG presentation</a> about Kerberos was inspiring, and reminded me
18554 about the need to start using Kerberos in Skolelinux. Setting up a
18555 Kerberos server seem to be straight forward, and if we get this in
18556 place a long time before the Squeeze version of Debian freezes, we
18557 have a chance to migrate Skolelinux away from NFSv3 for the home
18558 directories, and over to an architecture where the infrastructure do
18559 not have to trust IP addresses and machines, and instead can trust
18560 users and cryptographic keys instead.</p>
18561
18562 <p>A challenge will be integration and administration. Is there a
18563 Kerberos implementation for Debian where one can control the
18564 administration access in Kerberos using LDAP groups? With it, the
18565 school administration will have to maintain access control using flat
18566 files on the main server, which give a huge potential for errors.</p>
18567
18568 <p>A related question I would like to know is how well Kerberos and
18569 pam-ccreds (offline password check) work together. Anyone know?</p>
18570
18571 <p>Next step will be to use Kerberos for access control in Lwat and
18572 Nagios. I have no idea how much work that will be to implement. We
18573 would also need to document how to integrate with Windows AD, as such
18574 shared network will require two Kerberos realms that need to cooperate
18575 to work properly.</p>
18576
18577 <p>I believe a good start would be to start using Kerberos on the
18578 skolelinux.no machines, and this way get ourselves experience with
18579 configuration and integration. A natural starting point would be
18580 setting up ldap.skolelinux.no as the Kerberos server, and migrate the
18581 rest of the machines from PAM via LDAP to PAM via Kerberos one at the
18582 time.</p>
18583
18584 <p>If you would like to contribute to get this working in Skolelinux,
18585 I recommend you to see the video recording from yesterdays NUUG
18586 presentation, and start using Kerberos at home. The video show show
18587 up in a few days.</p>
18588
18589 </div>
18590 <div class="tags">
18591
18592
18593 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>.
18594
18595
18596 </div>
18597 </div>
18598 <div class="padding"></div>
18599
18600 <div class="entry">
18601 <div class="title">
18602 <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>
18603 </div>
18604 <div class="date">
18605 6th March 2010
18606 </div>
18607 <div class="body">
18608 <p>6 years ago, as part of the Debian Edu development I am involved
18609 in, I asked for a hook in the kdm and gdm setup to run scripts as root
18610 when the user log out. A bug was submitted against the xfree86-common
18611 package in 2004 (<a href="http://bugs.debian.org/230422">#230422</a>),
18612 and revisited every time Debian Edu was working on a new release.
18613 Today, this finally paid off.</p>
18614
18615 <p>The framework for this feature was today commited to the git
18616 repositry for the xorg package, and the git repository for xdm has
18617 been updated to use this framework. Next on my agenda is to make sure
18618 kdm and gdm also add code to use this framework.</p>
18619
18620 <p>In Debian Edu, we want to ability to run commands as root when the
18621 user log out, to get rid of runaway processes and do general cleanup
18622 after a user. With this framework in place, we finally can do that in
18623 a generic way that work with all display managers using this
18624 framework. My goal is to get all display managers in Debian use it,
18625 similar to how they use the Xsession.d framework today.<p>
18626
18627 </div>
18628 <div class="tags">
18629
18630
18631 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>.
18632
18633
18634 </div>
18635 </div>
18636 <div class="padding"></div>
18637
18638 <div class="entry">
18639 <div class="title">
18640 <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>
18641 </div>
18642 <div class="date">
18643 11th February 2010
18644 </div>
18645 <div class="body">
18646 <p>On Tuesday, the Debian/Lenny based version of
18647 <a href="http://www.skolelinux.org/">Skolelinux</a> was finally
18648 shipped. This was a major leap forward for the project, and I am very
18649 pleased that we finally got the release wrapped up. Work on the first
18650 point release starts imediately, as we plan to get that one out a
18651 month after the major release, to include all fixes for bugs we found
18652 and fixed too late in the release process to include last Tuesday.</p>
18653
18654 <p>Perhaps it even is time for some partying?</p>
18655
18656 <p>After this first point release, my plan is to focus again on the
18657 next major release, based on Squeeze. We will try to get as many of
18658 the fixes we need into the official Debian packages before the freeze,
18659 and have just a few weeks or months to make it happen.</p>
18660
18661 </div>
18662 <div class="tags">
18663
18664
18665 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>.
18666
18667
18668 </div>
18669 </div>
18670 <div class="padding"></div>
18671
18672 <div class="entry">
18673 <div class="title">
18674 <a href="http://people.skolelinux.org/pere/blog/Automatic_Munin_and_Nagios_configuration.html">Automatic Munin and Nagios configuration</a>
18675 </div>
18676 <div class="date">
18677 27th January 2010
18678 </div>
18679 <div class="body">
18680 <p>One of the new features in the next Debian/Lenny based release of
18681 Debian Edu/Skolelinux, which is scheduled for release in the next few
18682 days, is automatic configuration of the service monitoring system
18683 Nagios. The previous release had automatic configuration of trend
18684 analysis using Munin, and this Lenny based release take that a step
18685 further.</p>
18686
18687 <p>When installing a Debian Edu Main-server, it is automatically
18688 configured as a Munin and Nagios server. In addition, it is
18689 configured to be a server for the
18690 <a href="http://wiki.debian.org/DebianEdu/HowTo/SiteSummary">SiteSummary
18691 system</a> I have written for use in Debian Edu. The SiteSummary
18692 system is inspired by a system used by the University of Oslo where I
18693 work. In short, the system provide a centralised collector of
18694 information about the computers on the network, and a client on each
18695 computer submitting information to this collector. This allow for
18696 automatic information on which packages are installed on each machine,
18697 which kernel the machines are using, what kind of configuration the
18698 packages got etc. This also allow us to automatically generate Munin
18699 and Nagios configuration.</p>
18700
18701 <p>All computers reporting to the sitesummary collector with the
18702 munin-node package installed is automatically enabled as a Munin
18703 client and graphs from the statistics collected from that machine show
18704 up automatically on http://www/munin/ on the Main-server.</p>
18705
18706 <p>All non-laptop computers reporting to the sitesummary collector are
18707 automatically monitored for network presence (ping and any network
18708 services detected). In addition, all computers (also laptops) with
18709 the nagios-nrpe-server package installed and configured the way
18710 sitesummary would configure it, are monitored for full disks, software
18711 raid status, swap free and other checks that need to run locally on
18712 the machine.</p>
18713
18714 <p>The result is that the administrator on a school using Debian Edu
18715 based on Lenny will be able to check the health of his installation
18716 with one look at the Nagios settings, without having to spend any time
18717 keeping the Nagios configuration up-to-date.</p>
18718
18719 <p>The only configuration one need to do to get Nagios up and running
18720 is to set the password used to get access via HTTP. The system
18721 administrator need to run "<tt>htpasswd /etc/nagios3/htpasswd.users
18722 nagiosadmin</tt>" to create a nagiosadmin user and set a password for
18723 it to be able to log into the Nagios web pages. After that,
18724 everything is taken care of.</p>
18725
18726 </div>
18727 <div class="tags">
18728
18729
18730 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>.
18731
18732
18733 </div>
18734 </div>
18735 <div class="padding"></div>
18736
18737 <div class="entry">
18738 <div class="title">
18739 <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>
18740 </div>
18741 <div class="date">
18742 12th August 2009
18743 </div>
18744 <div class="body">
18745 <p>Just for fun, I did a search right now on Google for a few file ODF
18746 and MS Office based formats (not to be mistaken for ISO or ECMA
18747 OOXML), to get an idea of their relative usage. I searched using
18748 'filetype:odt' and equvalent terms, and got these results:</P>
18749
18750 <table>
18751 <tr><th>Type</th><th>ODF</th><th>MS Office</th></tr>
18752 <tr><td>Tekst</td> <td>odt:282000</td> <td>docx:308000</td></tr>
18753 <tr><td>Presentasjon</td> <td>odp:75600</td> <td>pptx:183000</td></tr>
18754 <tr><td>Regneark</td> <td>ods:26500 </td> <td>xlsx:145000</td></tr>
18755 </table>
18756
18757 <p>Next, I added a 'site:no' limit to get the numbers for Norway, and
18758 got these numbers:</p>
18759
18760 <table>
18761 <tr><th>Type</th><th>ODF</th><th>MS Office</th></tr>
18762 <tr><td>Tekst</td> <td>odt:2480 </td> <td>docx:4460</td></tr>
18763 <tr><td>Presentasjon</td> <td>odp:299 </td> <td>pptx:741</td></tr>
18764 <tr><td>Regneark</td> <td>ods:187 </td> <td>xlsx:372</td></tr>
18765 </table>
18766
18767 <p>I wonder how these numbers change over time.</p>
18768
18769 <p>I am aware of Google returning different results and numbers based
18770 on where the search is done, so I guess these numbers will differ if
18771 they are conduced in another country. Because of this, I did the same
18772 search from a machine in California, USA, a few minutes after the
18773 search done from a machine here in Norway.</p>
18774
18775
18776 <table>
18777 <tr><th>Type</th><th>ODF</th><th>MS Office</th></tr>
18778 <tr><td>Tekst</td> <td>odt:129000</td> <td>docx:308000</td></tr>
18779 <tr><td>Presentasjon</td> <td>odp:44200</td> <td>pptx:93900</td></tr>
18780 <tr><td>Regneark</td> <td>ods:26500 </td> <td>xlsx:82400</td></tr>
18781 </table>
18782
18783 <p>And with 'site:no':
18784
18785 <table>
18786 <tr><th>Type</th><th>ODF</th><th>MS Office</th></tr>
18787 <tr><td>Tekst</td> <td>odt:2480</td> <td>docx:3410</td></tr>
18788 <tr><td>Presentasjon</td> <td>odp:175</td> <td>pptx:604</td></tr>
18789 <tr><td>Regneark</td> <td>ods:186 </td> <td>xlsx:296</td></tr>
18790 </table>
18791
18792 <p>Interesting difference, not sure what to conclude from these
18793 numbers.</p>
18794
18795 </div>
18796 <div class="tags">
18797
18798
18799 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>.
18800
18801
18802 </div>
18803 </div>
18804 <div class="padding"></div>
18805
18806 <div class="entry">
18807 <div class="title">
18808 <a href="http://people.skolelinux.org/pere/blog/ISO_still_hope_to_fix_OOXML.html">ISO still hope to fix OOXML</a>
18809 </div>
18810 <div class="date">
18811 8th August 2009
18812 </div>
18813 <div class="body">
18814 <p>According to <a
18815 href="http://twerner.blogspot.com/2009/08/defects-of-office-open-xml.html">a
18816 blog post from Torsten Werner</a>, the current defect report for ISO
18817 29500 (ISO OOXML) is 809 pages. His interesting point is that the
18818 defect report is 71 pages more than the full ODF 1.1 specification.
18819 Personally I find it more interesting that ISO still believe ISO OOXML
18820 can be fixed in ISO. Personally, I believe it is broken beyon repair,
18821 and I completely lack any trust in ISO for being able to get anywhere
18822 close to solving the problems. I was part of the Norwegian committee
18823 involved in the OOXML fast track process, and was not impressed with
18824 Standard Norway and ISO in how they handled it.</p>
18825
18826 <p>These days I focus on ODF instead, which seem like a specification
18827 with the future ahead of it. We are working in NUUG to organise a ODF
18828 seminar this autumn.</p>
18829
18830 </div>
18831 <div class="tags">
18832
18833
18834 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>.
18835
18836
18837 </div>
18838 </div>
18839 <div class="padding"></div>
18840
18841 <div class="entry">
18842 <div class="title">
18843 <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>
18844 </div>
18845 <div class="date">
18846 27th July 2009
18847 </div>
18848 <div class="body">
18849 <p>Since this evening, with the upload of sysvinit version 2.87dsf-2,
18850 and the upload of insserv version 1.12.0-10 yesterday, Debian unstable
18851 have been migrated to using dependency based boot sequencing. This
18852 conclude work me and others have been doing for the last three days.
18853 It feels great to see this finally part of the default Debian
18854 installation. Now we just need to weed out the last few problems that
18855 are bound to show up, to get everything ready for Squeeze.</p>
18856
18857 <p>The next step is migrating /sbin/init from sysvinit to upstart, and
18858 fixing the more fundamental problem of handing the event based
18859 non-predictable kernel in the early boot.</p>
18860
18861 </div>
18862 <div class="tags">
18863
18864
18865 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>.
18866
18867
18868 </div>
18869 </div>
18870 <div class="padding"></div>
18871
18872 <div class="entry">
18873 <div class="title">
18874 <a href="http://people.skolelinux.org/pere/blog/Taking_over_sysvinit_development.html">Taking over sysvinit development</a>
18875 </div>
18876 <div class="date">
18877 22nd July 2009
18878 </div>
18879 <div class="body">
18880 <p>After several years of frustration with the lack of activity from
18881 the existing sysvinit upstream developer, I decided a few weeks ago to
18882 take over the package and become the new upstream. The number of
18883 patches to track for the Debian package was becoming a burden, and the
18884 lack of synchronization between the distribution made it hard to keep
18885 the package up to date.</p>
18886
18887 <p>On the new sysvinit team is the SuSe maintainer Dr. Werner Fink,
18888 and my Debian co-maintainer Kel Modderman. About 10 days ago, I made
18889 a new upstream tarball with version number 2.87dsf (for Debian, SuSe
18890 and Fedora), based on the patches currently in use in these
18891 distributions. We Debian maintainers plan to move to this tarball as
18892 the new upstream as soon as we find time to do the merge. Since the
18893 new tarball was created, we agreed with Werner at SuSe to make a new
18894 upstream project at <a href="http://savannah.nongnu.org/">Savannah</a>, and continue
18895 development there. The project is registered and currently waiting
18896 for approval by the Savannah administrators, and as soon as it is
18897 approved, we will import the old versions from svn and continue
18898 working on the future release.</p>
18899
18900 <p>It is a bit ironic that this is done now, when some of the involved
18901 distributions are moving to upstart as a syvinit replacement.</p>
18902
18903 </div>
18904 <div class="tags">
18905
18906
18907 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>.
18908
18909
18910 </div>
18911 </div>
18912 <div class="padding"></div>
18913
18914 <div class="entry">
18915 <div class="title">
18916 <a href="http://people.skolelinux.org/pere/blog/Debian_boots_quicker_and_quicker.html">Debian boots quicker and quicker</a>
18917 </div>
18918 <div class="date">
18919 24th June 2009
18920 </div>
18921 <div class="body">
18922 <p>I spent Monday and tuesday this week in London with a lot of the
18923 people involved in the boot system on Debian and Ubuntu, to see if we
18924 could find more ways to speed up the boot system. This was an Ubuntu
18925 funded
18926 <a href="https://wiki.ubuntu.com/FoundationsTeam/BootPerformance/DebianUbuntuSprint">developer
18927 gathering</a>. It was quite productive. We also discussed the future
18928 of boot systems, and ways to handle the increasing number of boot
18929 issues introduced by the Linux kernel becoming more and more
18930 asynchronous and event base. The Ubuntu approach using udev and
18931 upstart might be a good way forward. Time will show.</p>
18932
18933 <p>Anyway, there are a few ways at the moment to speed up the boot
18934 process in Debian. All of these should be applied to get a quick
18935 boot:</p>
18936
18937 <ul>
18938
18939 <li>Use dash as /bin/sh.</li>
18940
18941 <li>Disable the init.d/hwclock*.sh scripts and make sure the hardware
18942 clock is in UTC.</li>
18943
18944 <li>Install and activate the insserv package to enable
18945 <a href="http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot">dependency
18946 based boot sequencing</a>, and enable concurrent booting.</li>
18947
18948 </ul>
18949
18950 These points are based on the Google summer of code work done by
18951 <a href="http://initscripts-ng.alioth.debian.org/soc2006-bootsystem/">Carlos
18952 Villegas</a>.
18953
18954 <p>Support for makefile-style concurrency during boot was uploaded to
18955 unstable yesterday. When we tested it, we were able to cut 6 seconds
18956 from the boot sequence. It depend on very correct dependency
18957 declaration in all init.d scripts, so I expect us to find edge cases
18958 where the dependences in some scripts are slightly wrong when we start
18959 using this.</p>
18960
18961 <p>On our IRC channel for this effort, #pkg-sysvinit, a new idea was
18962 introduced by Raphael Geissert today, one that could affect the
18963 startup speed as well. Instead of starting some scripts concurrently
18964 from rcS.d/ and another set of scripts from rc2.d/, it would be
18965 possible to run a of them in the same process. A quick way to test
18966 this would be to enable insserv and run 'mv /etc/rc2.d/S* /etc/rcS.d/;
18967 insserv'. Will need to test if that work. :)</p>
18968
18969 </div>
18970 <div class="tags">
18971
18972
18973 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>.
18974
18975
18976 </div>
18977 </div>
18978 <div class="padding"></div>
18979
18980 <div class="entry">
18981 <div class="title">
18982 <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>
18983 </div>
18984 <div class="date">
18985 2nd May 2009
18986 </div>
18987 <div class="body">
18988 <p>There are two software projects that have had huge influence on the
18989 quality of free software, and I wanted to mention both in case someone
18990 do not yet know them.</p>
18991
18992 <p>The first one is <a href="http://valgrind.org/">valgrind</a>, a
18993 tool to detect and expose errors in the memory handling of programs.
18994 It is easy to use, all one need to do is to run 'valgrind program',
18995 and it will report any problems on stdout. It is even better if the
18996 program include debug information. With debug information, it is able
18997 to report the source file name and line number where the problem
18998 occurs. It can report things like 'reading past memory block in file
18999 X line N, the memory block was allocated in file Y, line M', and
19000 'using uninitialised value in control logic'. This tool has made it
19001 trivial to investigate reproducible crash bugs in programs, and have
19002 reduced the number of this kind of bugs in free software a lot.
19003
19004 <p>The second one is
19005 <a href="http://en.wikipedia.org/wiki/Coverity">Coverity</a> which is
19006 a source code checker. It is able to process the source of a program
19007 and find problems in the logic without running the program. It
19008 started out as the Stanford Checker and became well known when it was
19009 used to find bugs in the Linux kernel. It is now a commercial tool
19010 and the company behind it is running
19011 <a href="http://www.scan.coverity.com/">a community service</a> for the
19012 free software community, where a lot of free software projects get
19013 their source checked for free. Several thousand defects have been
19014 found and fixed so far. It can find errors like 'lock L taken in file
19015 X line N is never released if exiting in line M', or 'the code in file
19016 Y lines O to P can never be executed'. The projects included in the
19017 community service project have managed to get rid of a lot of
19018 reliability problems thanks to Coverity.</p>
19019
19020 <p>I believe tools like this, that are able to automatically find
19021 errors in the source, are vital to improve the quality of software and
19022 make sure we can get rid of the crashing and failing software we are
19023 surrounded by today.</p>
19024
19025 </div>
19026 <div class="tags">
19027
19028
19029 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>.
19030
19031
19032 </div>
19033 </div>
19034 <div class="padding"></div>
19035
19036 <div class="entry">
19037 <div class="title">
19038 <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>
19039 </div>
19040 <div class="date">
19041 28th April 2009
19042 </div>
19043 <div class="body">
19044 <p>Julien Blache
19045 <a href="http://blog.technologeek.org/2009/04/12/214">claim that no
19046 patch is better than a useless patch</a>. I completely disagree, as a
19047 patch allow one to discuss a concrete and proposed solution, and also
19048 prove that the issue at hand is important enough for someone to spent
19049 time on fixing it. No patch do not provide any of these positive
19050 properties.</p>
19051
19052 </div>
19053 <div class="tags">
19054
19055
19056 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>.
19057
19058
19059 </div>
19060 </div>
19061 <div class="padding"></div>
19062
19063 <div class="entry">
19064 <div class="title">
19065 <a href="http://people.skolelinux.org/pere/blog/Recording_video_from_cron_using_VLC.html">Recording video from cron using VLC</a>
19066 </div>
19067 <div class="date">
19068 5th April 2009
19069 </div>
19070 <div class="body">
19071 <p>One think I have wanted to figure out for a along time is how to
19072 run vlc from cron to do recording of video streams on the net. The
19073 task is trivial with mplayer, but I do not really trust the security
19074 of mplayer (it crashes too often on strange input), and thus prefer
19075 vlc. I finally found a way to do it today. I spent an hour or so
19076 searching the web for recipes and reading the documentation. The
19077 hardest part was to get rid of the GUI window, but after finding the
19078 dummy interface, the command line finally presented itself:</p>
19079
19080 <blockquote><pre>URL=http://www.ping.uio.no/video/rms-oslo_2009.ogg
19081 SAVEFILE=rms.ogg
19082 DISPLAY= vlc -q $URL \
19083 --sout="#duplicate{dst=std{access=file,url='$SAVEFILE'},dst=nodisplay}" \
19084 --intf=dummy</pre></blockquote>
19085
19086 <p>The command stream the URL and store it in the SAVEFILE by
19087 duplicating the output stream to "nodisplay" and the file, using the
19088 dummy interface. The dummy interface and the nodisplay output make
19089 sure no X interface is needed.</p>
19090
19091 <p>The cron job then need to start this job with the appropriate URL
19092 and file name to save, sleep for the duration wanted, and then kill
19093 the vlc process with SIGTERM. Here is a complete script
19094 <tt>vlc-record</tt> to use from <tt>at</tt> or <tt>cron</tt>:</p>
19095
19096 <blockquote><pre>#!/bin/sh
19097 set -e
19098 URL="$1"
19099 SAVEFILE="$2"
19100 DURATION="$3"
19101 DISPLAY= vlc -q "$URL" \
19102 --sout="#duplicate{dst=std{access=file,url='$SAVEFILE'},dst=nodisplay}" \
19103 --intf=dummy < /dev/null > /dev/null 2>&1 &
19104 pid=$!
19105 sleep $DURATION
19106 kill $pid
19107 wait $pid</pre></blockquote>
19108
19109 </div>
19110 <div class="tags">
19111
19112
19113 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>.
19114
19115
19116 </div>
19117 </div>
19118 <div class="padding"></div>
19119
19120 <div class="entry">
19121 <div class="title">
19122 <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>
19123 </div>
19124 <div class="date">
19125 30th March 2009
19126 </div>
19127 <div class="body">
19128 <p>Where I work at the University of Oslo, one decision stand out as a
19129 very good one to form a long lived computer infrastructure. It is the
19130 simple one, lost by many in todays computer industry: Standardize on
19131 open network protocols and open exchange/storage formats, not applications.
19132 Applications come and go, while protocols and files tend to stay, and
19133 thus one want to make it easy to change application and vendor, while
19134 avoiding conversion costs and locking users to a specific platform or
19135 application.</p>
19136
19137 <p>This approach make it possible to replace the client applications
19138 independently of the server applications. One can even allow users to
19139 use several different applications as long as they handle the selected
19140 protocol and format. In the normal case, only one client application
19141 is recommended and users only get help if they choose to use this
19142 application, but those that want to deviate from the easy path are not
19143 blocked from doing so.</p>
19144
19145 <p>It also allow us to replace the server side without forcing the
19146 users to replace their applications, and thus allow us to select the
19147 best server implementation at any moment, when scale and resouce
19148 requirements change.</p>
19149
19150 <p>I strongly recommend standardizing - on open network protocols and
19151 open formats, but I would never recommend standardizing on a single
19152 application that do not use open network protocol or open formats.</p>
19153
19154 </div>
19155 <div class="tags">
19156
19157
19158 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>.
19159
19160
19161 </div>
19162 </div>
19163 <div class="padding"></div>
19164
19165 <div class="entry">
19166 <div class="title">
19167 <a href="http://people.skolelinux.org/pere/blog/Returning_from_Skolelinux_developer_gathering.html">Returning from Skolelinux developer gathering</a>
19168 </div>
19169 <div class="date">
19170 29th March 2009
19171 </div>
19172 <div class="body">
19173 <p>I'm sitting on the train going home from this weekends Debian
19174 Edu/Skolelinux development gathering. I got a bit done tuning the
19175 desktop, and looked into the dynamic service location protocol
19176 implementation avahi. It look like it could be useful for us. Almost
19177 30 people participated, and I believe it was a great environment to
19178 get to know the Skolelinux system. Walter Bender, involved in the
19179 development of the Sugar educational platform, presented his stuff and
19180 also helped me improve my OLPC installation. He also showed me that
19181 his Turtle Art application can be used in standalone mode, and we
19182 agreed that I would help getting it packaged for Debian. As a
19183 standalone application it would be great for Debian Edu. We also
19184 tried to get the video conferencing working with two OLPCs, but that
19185 proved to be too hard for us. The application seem to need more work
19186 before it is ready for me. I look forward to getting home and relax
19187 now. :)</p>
19188
19189 </div>
19190 <div class="tags">
19191
19192
19193 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>.
19194
19195
19196 </div>
19197 </div>
19198 <div class="padding"></div>
19199
19200 <div class="entry">
19201 <div class="title">
19202 <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>
19203 </div>
19204 <div class="date">
19205 29th March 2009
19206 </div>
19207 <div class="body">
19208 <p>The state of standardized LDAP schemas on Linux is far from
19209 optimal. There is RFC 2307 documenting one way to store NIS maps in
19210 LDAP, and a modified version of this normally called RFC 2307bis, with
19211 some modifications to be compatible with Active Directory. The RFC
19212 specification handle the content of a lot of system databases, but do
19213 not handle DNS zones and DHCP configuration.</p>
19214
19215 <p>In <a href="http://www.skolelinux.org/">Debian Edu/Skolelinux</a>,
19216 we would like to store information about users, SMB clients/hosts,
19217 filegroups, netgroups (users and hosts), DHCP and DNS configuration,
19218 and LTSP configuration in LDAP. These objects have a lot in common,
19219 but with the current LDAP schemas it is not possible to have one
19220 object per entity. For example, one need to have at least three LDAP
19221 objects for a given computer, one with the SMB related stuff, one with
19222 DNS information and another with DHCP information. The schemas
19223 provided for DNS and DHCP are impossible to combine into one LDAP
19224 object. In addition, it is impossible to implement quick queries for
19225 netgroup membership, because of the way NIS triples are implemented.
19226 It just do not scale. I believe it is time for a few RFC
19227 specifications to cleam up this mess.</p>
19228
19229 <p>I would like to have one LDAP object representing each computer in
19230 the network, and this object can then keep the SMB (ie host key), DHCP
19231 (mac address/name) and DNS (name/IP address) settings in one place.
19232 It need to be efficently stored to make sure it scale well.</p>
19233
19234 <p>I would also like to have a quick way to map from a user or
19235 computer and to the net group this user or computer is a member.</p>
19236
19237 <p>Active Directory have done a better job than unix heads like myself
19238 in this regard, and the unix side need to catch up. Time to start a
19239 new IETF work group?</p>
19240
19241 </div>
19242 <div class="tags">
19243
19244
19245 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/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>.
19246
19247
19248 </div>
19249 </div>
19250 <div class="padding"></div>
19251
19252 <div class="entry">
19253 <div class="title">
19254 <a href="http://people.skolelinux.org/pere/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html">Checking server hardware support status for Dell, HP and IBM servers</a>
19255 </div>
19256 <div class="date">
19257 28th February 2009
19258 </div>
19259 <div class="body">
19260 <p>At work, we have a few hundred Linux servers, and with that amount
19261 of hardware it is important to keep track of when the hardware support
19262 contract expire for each server. We have a machine (and service)
19263 register, which until recently did not contain much useful besides the
19264 machine room location and contact information for the system owner for
19265 each machine. To make it easier for us to track support contract
19266 status, I've recently spent time on extending the machine register to
19267 include information about when the support contract expire, and to tag
19268 machines with expired contracts to make it easy to get a list of such
19269 machines. I extended a perl script already being used to import
19270 information about machines into the register, to also do some screen
19271 scraping off the sites of Dell, HP and IBM (our majority of machines
19272 are from these vendors), and automatically check the support status
19273 for the relevant machines. This make the support status information
19274 easily available and I hope it will make it easier for the computer
19275 owner to know when to get new hardware or renew the support contract.
19276 The result of this work documented that 27% of the machines in the
19277 registry is without a support contract, and made it very easy to find
19278 them. 27% might seem like a lot, but I see it more as the case of us
19279 using machines a bit longer than the 3 years a normal support contract
19280 last, to have test machines and a platform for less important
19281 services. After all, the machines without a contract are working fine
19282 at the moment and the lack of contract is only a problem if any of
19283 them break down. When that happen, we can either fix it using spare
19284 parts from other machines or move the service to another old
19285 machine.</p>
19286
19287 <p>I believe the code for screen scraping the Dell site was originally
19288 written by Trond Hasle Amundsen, and later adjusted by me and Morten
19289 Werner Forsbring. The HP scraping was written by me after reading a
19290 nice article in ;login: about how to use WWW::Mechanize, and the IBM
19291 scraping was written by me based on the Dell code. I know the HTML
19292 parsing could be done using nice libraries, but did not want to
19293 introduce more dependencies. This is the current incarnation:</p>
19294
19295 <pre>
19296 use LWP::Simple;
19297 use POSIX;
19298 use WWW::Mechanize;
19299 use Date::Parse;
19300 [...]
19301 sub get_support_info {
19302 my ($machine, $model, $serial, $productnumber) = @_;
19303 my $str;
19304
19305 if ( $model =~ m/^Dell / ) {
19306 # fetch website from Dell support
19307 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";
19308 my $webpage = get($url);
19309 return undef unless ($webpage);
19310
19311 my $daysleft = -1;
19312 my @lines = split(/\n/, $webpage);
19313 foreach my $line (@lines) {
19314 next unless ($line =~ m/Beskrivelse/);
19315 $line =~ s/&lt;[^>]+?>/;/gm;
19316 $line =~ s/^.+?;(Beskrivelse;)/$1/;
19317
19318 my @f = split(/\;/, $line);
19319 @f = @f[13 .. $#f];
19320 my $lastend = "";
19321 while ($f[3] eq "DELL") {
19322 my ($type, $startstr, $endstr, $days) = @f[0, 5, 7, 10];
19323
19324 my $start = POSIX::strftime("%Y-%m-%d",
19325 localtime(str2time($startstr)));
19326 my $end = POSIX::strftime("%Y-%m-%d",
19327 localtime(str2time($endstr)));
19328 $str .= "$type $start -> $end ";
19329 @f = @f[14 .. $#f];
19330 $lastend = $end if ($end gt $lastend);
19331 }
19332 my $today = POSIX::strftime("%Y-%m-%d", localtime(time));
19333 tag_machine_unsupported($machine)
19334 if ($lastend lt $today);
19335 }
19336 } elsif ( $model =~ m/^HP / ) {
19337 my $mech = WWW::Mechanize->new();
19338 my $url =
19339 'http://www1.itrc.hp.com/service/ewarranty/warrantyInput.do';
19340 $mech->get($url);
19341 my $fields = {
19342 'BODServiceID' => 'NA',
19343 'RegisteredPurchaseDate' => '',
19344 'country' => 'NO',
19345 'productNumber' => $productnumber,
19346 'serialNumber1' => $serial,
19347 };
19348 $mech->submit_form( form_number => 2,
19349 fields => $fields );
19350 # Next step is screen scraping
19351 my $content = $mech->content();
19352
19353 $content =~ s/&lt;[^>]+?>/;/gm;
19354 $content =~ s/\s+/ /gm;
19355 $content =~ s/;\s*;/;;/gm;
19356 $content =~ s/;[\s;]+/;/gm;
19357
19358 my $today = POSIX::strftime("%Y-%m-%d", localtime(time));
19359
19360 while ($content =~ m/;Warranty Type;/) {
19361 my ($type, $status, $startstr, $stopstr) = $content =~
19362 m/;Warranty Type;([^;]+);.+?;Status;(\w+);Start Date;([^;]+);End Date;([^;]+);/;
19363 $content =~ s/^.+?;Warranty Type;//;
19364 my $start = POSIX::strftime("%Y-%m-%d",
19365 localtime(str2time($startstr)));
19366 my $end = POSIX::strftime("%Y-%m-%d",
19367 localtime(str2time($stopstr)));
19368
19369 $str .= "$type ($status) $start -> $end ";
19370
19371 tag_machine_unsupported($machine)
19372 if ($end lt $today);
19373 }
19374 } elsif ( $model =~ m/^IBM / ) {
19375 # This code ignore extended support contracts.
19376 my ($producttype) = $model =~ m/.*-\[(.{4}).+\]-/;
19377 if ($producttype &amp;&amp; $serial) {
19378 my $content =
19379 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");
19380 if ($content) {
19381 $content =~ s/&lt;[^>]+?>/;/gm;
19382 $content =~ s/\s+/ /gm;
19383 $content =~ s/;\s*;/;;/gm;
19384 $content =~ s/;[\s;]+/;/gm;
19385
19386 $content =~ s/^.+?;Warranty status;//;
19387 my ($status, $end) = $content =~ m/;Warranty status;([^;]+)\s*;Expiration date;(\S+) ;/;
19388
19389 $str .= "($status) -> $end ";
19390
19391 my $today = POSIX::strftime("%Y-%m-%d", localtime(time));
19392 tag_machine_unsupported($machine)
19393 if ($end lt $today);
19394 }
19395 }
19396 }
19397 return $str;
19398 }
19399 </pre>
19400
19401 <p>Here are some examples on how to use the function, using fake
19402 serial numbers. The information passed in as arguments are fetched
19403 from dmidecode.</p>
19404
19405 <pre>
19406 print get_support_info("hp.host", "HP ProLiant BL460c G1", "1234567890"
19407 "447707-B21");
19408 print get_support_info("dell.host", "Dell Inc. PowerEdge 2950", "1234567");
19409 print get_support_info("ibm.host", "IBM eserver xSeries 345 -[867061X]-",
19410 "1234567");
19411 </pre>
19412
19413 <p>I would recommend this approach for tracking support contracts for
19414 everyone with more than a few computers to administer. :)</p>
19415
19416 <p>Update 2009-03-06: The IBM page do not include extended support
19417 contracts, so it is useless in that case. The original Dell code do
19418 not handle extended support contracts either, but has been updated to
19419 do so.</p>
19420
19421 </div>
19422 <div class="tags">
19423
19424
19425 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>.
19426
19427
19428 </div>
19429 </div>
19430 <div class="padding"></div>
19431
19432 <div class="entry">
19433 <div class="title">
19434 <a href="http://people.skolelinux.org/pere/blog/Using_bar_codes_at_a_computing_center.html">Using bar codes at a computing center</a>
19435 </div>
19436 <div class="date">
19437 20th February 2009
19438 </div>
19439 <div class="body">
19440 <p>At work with the University of Oslo, we have several hundred computers
19441 in our computing center. This give us a challenge in tracking the
19442 location and cabling of the computers, when they are added, moved and
19443 removed. Some times the location register is not updated when a
19444 computer is inserted or moved and we then have to search the room for
19445 the "missing" computer.</p>
19446
19447 <p>In the last issue of Linux Journal, I came across a project
19448 <a href="http://www.libdmtx.org/">libdmtx</a> to write and read bar
19449 code blocks as defined in the
19450 <a href="http://en.wikipedia.org/wiki/Data_Matrix">The Data Matrix
19451 Standard</a>. This is bar codes that can be read with a normal
19452 digital camera, for example that on a cell phone, and several such bar
19453 codes can be read by libdmtx from one picture. The bar code standard
19454 allow up to 2 KiB to be written in the tag. There is another project
19455 with <a href="http://www.terryburton.co.uk/barcodewriter/">a bar code
19456 writer written in postscript</a> capable of creating such bar codes,
19457 but this was the first time I found a tool to read these bar
19458 codes.</p>
19459
19460 <p>It occurred to me that this could be used to tag and track the
19461 machines in our computing center. If both racks and computers are
19462 tagged this way, we can use a picture of the rack and all its
19463 computers to detect the rack location of any computer in that rack.
19464 If we do this regularly for the entire room, we will find all
19465 locations, and can detect movements and removals.</p>
19466
19467 <p>I decided to test if this would work in practice, and picked a
19468 random rack and tagged all the machines with their names. Next, I
19469 took pictures with my digital camera, and gave the dmtxread program
19470 these JPEG pictures to see how many tags it could read. This worked
19471 fairly well. If the pictures was well focused and not taken from the
19472 side, all tags in the image could be read. Because of limited space
19473 between the racks, I was unable to get a good picture of the entire
19474 rack, but could without problem read all tags from a picture covering
19475 about half the rack. I had to limit the search time used by dmtxread
19476 to 60000 ms to make sure it terminated in a reasonable time frame.</p>
19477
19478 <p>My conclusion is that this could work, and we should probably look
19479 at adjusting our computer tagging procedures to use bar codes for
19480 easier automatic tracking of computers.</p>
19481
19482 </div>
19483 <div class="tags">
19484
19485
19486 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>.
19487
19488
19489 </div>
19490 </div>
19491 <div class="padding"></div>
19492
19493 <div class="entry">
19494 <div class="title">
19495 <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>
19496 </div>
19497 <div class="date">
19498 17th January 2009
19499 </div>
19500 <div class="body">
19501 <p>As part of the work we do in <a href="http://www.nuug.no">NUUG</a>
19502 to publish video recordings of our monthly presentations, we provide a
19503 page with embedded video for easy access to the recording. Putting a
19504 good set of HTML tags together to get working embedded video in all
19505 browsers and across all operating systems is not easy. I hope this
19506 will become easier when the &lt;video&gt; tag is implemented in all
19507 browsers, but I am not sure. We provide the recordings in several
19508 formats, MPEG1, Ogg Theora, H.264 and Quicktime, and want the
19509 browser/media plugin to pick one it support and use it to play the
19510 recording, using whatever embed mechanism the browser understand.
19511 There is at least four different tags to use for this, the new HTML5
19512 &lt;video&gt; tag, the &lt;object&gt; tag, the &lt;embed&gt; tag and
19513 the &lt;applet&gt; tag. All of these take a lot of options, and
19514 finding the best options is a major challenge.</p>
19515
19516 <p>I just tested the experimental Opera browser available from <a
19517 href="http://labs.opera.com">labs.opera.com</a>, to see how it handled
19518 a &lt;video&gt; tag with a few video sources and no extra attributes.
19519 I was not very impressed. The browser start by fetching a picture
19520 from the video stream. Not sure if it is the first frame, but it is
19521 definitely very early in the recording. So far, so good. Next,
19522 instead of streaming the 76 MiB video file, it start to download all
19523 of it, but do not start to play the video. This mean I have to wait
19524 for several minutes for the downloading to finish. When the download
19525 is done, the playing of the video do not start! Waiting for the
19526 download, but I do not get to see the video? Some testing later, I
19527 discover that I have to add the controls="true" attribute to be able
19528 to get a play button to pres to start the video. Adding
19529 autoplay="true" did not help. I sure hope this is a misfeature of the
19530 test version of Opera, and that future implementations of the
19531 &lt;video&gt; tag will stream recordings by default, or at least start
19532 playing when the download is done.</p>
19533
19534 <p>The test page I used (since changed to add more attributes) is
19535 <a href="http://www.nuug.no/aktiviteter/20090113-foredrag-om-foredrag/">available
19536 from the nuug site</a>. Will have to test it with the new Firefox
19537 too.</p>
19538
19539 <p>In the test process, I discovered a missing feature. I was unable
19540 to find a way to get the URL of the playing video out of Opera, so I
19541 am not quite sure it picked the Ogg Theora version of the video. I
19542 sure hope it was using the announced Ogg Theora support. :)</p>
19543
19544 </div>
19545 <div class="tags">
19546
19547
19548 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>.
19549
19550
19551 </div>
19552 </div>
19553 <div class="padding"></div>
19554
19555 <div class="entry">
19556 <div class="title">
19557 <a href="http://people.skolelinux.org/pere/blog/Software_video_mixer_on_a_USB_stick.html">Software video mixer on a USB stick</a>
19558 </div>
19559 <div class="date">
19560 28th December 2008
19561 </div>
19562 <div class="body">
19563 <p>The <a href="http://www.nuug.no/">Norwegian Unix User Group</a> is
19564 recording our montly presentation on video, and recently we have
19565 worked on improving the quality of the recordings by mixing the slides
19566 directly with the video stream. For this, we use the
19567 <a href="http://dvswitch.alioth.debian.org/">dvswitch</a> package from
19568 the Debian video team. As this require quite one computer per video
19569 source, and NUUG do not have enough laptops available, we need to
19570 borrow laptops. And to avoid having to install extra software on
19571 these borrwed laptops, I have wrapped up all the programs needed on a
19572 bootable USB stick. The software required is dvswitch with assosiated
19573 source, sink and mixer applications and
19574 <a href="http://www.kinodv.org/">dvgrab</a>. To allow this setup to
19575 work without any configuration, I've patched dvswitch to use
19576 <a href="http://www.avahi.org/">avahi</a> to connect the various parts
19577 together. And to allow us to use laptops without firewire plugs, I
19578 upgraded dvgrab to the one from Debian/unstable to get one that work
19579 with USB sources. We have not yet tested this setup in a production
19580 setup, but I hope it will work properly, and allow us to set up a
19581 video mixer in a very short time frame. We will need it for
19582 <a href="http://www.goopen.no/">Go Open 2009</a>.</p>
19583
19584 <p><a href="http://www.nuug.no/pub/video/bin/usbstick-dvswitch.img.gz">The
19585 USB image</a> is for a 1 GB memory stick, but can be used on any
19586 larger stick as well.</p>
19587
19588 </div>
19589 <div class="tags">
19590
19591
19592 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>.
19593
19594
19595 </div>
19596 </div>
19597 <div class="padding"></div>
19598
19599 <div class="entry">
19600 <div class="title">
19601 <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>
19602 </div>
19603 <div class="date">
19604 7th December 2008
19605 </div>
19606 <div class="body">
19607 <p>This weekend we had a small developer gathering for Debian Edu in
19608 Oslo. Most of Saturday was used for the general assemly for the
19609 member organization, but the rest of the weekend I used to tune the
19610 LTSP installation. LTSP now work out of the box on the 10-network.
19611 Acer Aspire One proved to be a very nice thin client, with both
19612 screen, mouse and keybard in a small box. Was working on getting the
19613 diskless workstation setup configured out of the box, but did not
19614 finish it before the weekend was up.</p>
19615
19616 <p>Did not find time to look at the 4 VGA cards in one box we got from
19617 the Brazilian group, so that will have to wait for the next
19618 development gathering. Would love to have the Debian Edu installer
19619 automatically detect and configure a multiseat setup when it find one
19620 of these cards.</p>
19621
19622 </div>
19623 <div class="tags">
19624
19625
19626 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>.
19627
19628
19629 </div>
19630 </div>
19631 <div class="padding"></div>
19632
19633 <div class="entry">
19634 <div class="title">
19635 <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>
19636 </div>
19637 <div class="date">
19638 25th November 2008
19639 </div>
19640 <div class="body">
19641 <p>Recently I have spent some time evaluating the multimedia browser
19642 plugins available in Debian Lenny, to see which one we should use by
19643 default in Debian Edu. We need an embedded video playing plugin with
19644 control buttons to pause or stop the video, and capable of streaming
19645 all the multimedia content available on the web. The test results and
19646 notes are available on
19647 <a href="http://wiki.debian.org/DebianEdu/BrowserMultimedia">the
19648 Debian wiki</a>. I was surprised how few of the plugins are able to
19649 fill this need. My personal video player favorite, VLC, has a really
19650 bad plugin which fail on a lot of the test pages. A lot of the MIME
19651 types I would expect to work with any free software player (like
19652 video/ogg), just do not work. And simple formats like the
19653 audio/x-mplegurl format (m3u playlists), just isn't supported by the
19654 totem and vlc plugins. I hope the situation will improve soon. No
19655 wonder sites use the proprietary Adobe flash to play video.</p>
19656
19657 <p>For Lenny, we seem to end up with the mplayer plugin. It seem to
19658 be the only one fitting our needs. :/</p>
19659
19660 </div>
19661 <div class="tags">
19662
19663
19664 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>.
19665
19666
19667 </div>
19668 </div>
19669 <div class="padding"></div>
19670
19671 <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>
19672 <div id="sidebar">
19673
19674
19675
19676 <h2>Archive</h2>
19677 <ul>
19678
19679 <li>2014
19680 <ul>
19681
19682 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/01/">January (2)</a></li>
19683
19684 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/02/">February (3)</a></li>
19685
19686 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/03/">March (8)</a></li>
19687
19688 <li><a href="http://people.skolelinux.org/pere/blog/archive/2014/04/">April (3)</a></li>
19689
19690 </ul></li>
19691
19692 <li>2013
19693 <ul>
19694
19695 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/01/">January (11)</a></li>
19696
19697 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/02/">February (9)</a></li>
19698
19699 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/03/">March (9)</a></li>
19700
19701 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/04/">April (6)</a></li>
19702
19703 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/05/">May (9)</a></li>
19704
19705 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/06/">June (10)</a></li>
19706
19707 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/07/">July (7)</a></li>
19708
19709 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/08/">August (3)</a></li>
19710
19711 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/09/">September (5)</a></li>
19712
19713 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/10/">October (7)</a></li>
19714
19715 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/11/">November (9)</a></li>
19716
19717 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/12/">December (3)</a></li>
19718
19719 </ul></li>
19720
19721 <li>2012
19722 <ul>
19723
19724 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
19725
19726 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
19727
19728 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
19729
19730 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
19731
19732 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
19733
19734 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
19735
19736 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
19737
19738 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
19739
19740 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
19741
19742 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
19743
19744 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
19745
19746 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/12/">December (7)</a></li>
19747
19748 </ul></li>
19749
19750 <li>2011
19751 <ul>
19752
19753 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
19754
19755 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
19756
19757 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
19758
19759 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
19760
19761 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
19762
19763 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
19764
19765 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
19766
19767 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
19768
19769 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
19770
19771 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
19772
19773 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
19774
19775 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
19776
19777 </ul></li>
19778
19779 <li>2010
19780 <ul>
19781
19782 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
19783
19784 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
19785
19786 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
19787
19788 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
19789
19790 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
19791
19792 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
19793
19794 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
19795
19796 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
19797
19798 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
19799
19800 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
19801
19802 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
19803
19804 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
19805
19806 </ul></li>
19807
19808 <li>2009
19809 <ul>
19810
19811 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
19812
19813 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
19814
19815 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
19816
19817 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
19818
19819 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
19820
19821 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
19822
19823 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
19824
19825 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
19826
19827 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
19828
19829 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
19830
19831 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
19832
19833 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
19834
19835 </ul></li>
19836
19837 <li>2008
19838 <ul>
19839
19840 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
19841
19842 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
19843
19844 </ul></li>
19845
19846 </ul>
19847
19848
19849
19850 <h2>Tags</h2>
19851 <ul>
19852
19853 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (13)</a></li>
19854
19855 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
19856
19857 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
19858
19859 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (4)</a></li>
19860
19861 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (8)</a></li>
19862
19863 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (14)</a></li>
19864
19865 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
19866
19867 <li><a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
19868
19869 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (96)</a></li>
19870
19871 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (146)</a></li>
19872
19873 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (10)</a></li>
19874
19875 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (10)</a></li>
19876
19877 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
19878
19879 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (243)</a></li>
19880
19881 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (21)</a></li>
19882
19883 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (12)</a></li>
19884
19885 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (12)</a></li>
19886
19887 <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (7)</a></li>
19888
19889 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (11)</a></li>
19890
19891 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (40)</a></li>
19892
19893 <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (7)</a></li>
19894
19895 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (18)</a></li>
19896
19897 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (9)</a></li>
19898
19899 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (7)</a></li>
19900
19901 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
19902
19903 <li><a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (8)</a></li>
19904
19905 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (26)</a></li>
19906
19907 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (244)</a></li>
19908
19909 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (162)</a></li>
19910
19911 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (11)</a></li>
19912
19913 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
19914
19915 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (46)</a></li>
19916
19917 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (72)</a></li>
19918
19919 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (1)</a></li>
19920
19921 <li><a href="http://people.skolelinux.org/pere/blog/tags/reactos">reactos (1)</a></li>
19922
19923 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
19924
19925 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (2)</a></li>
19926
19927 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (9)</a></li>
19928
19929 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
19930
19931 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter (4)</a></li>
19932
19933 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
19934
19935 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (39)</a></li>
19936
19937 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
19938
19939 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (4)</a></li>
19940
19941 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (44)</a></li>
19942
19943 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (3)</a></li>
19944
19945 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (9)</a></li>
19946
19947 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (24)</a></li>
19948
19949 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (1)</a></li>
19950
19951 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (8)</a></li>
19952
19953 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (40)</a></li>
19954
19955 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
19956
19957 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (29)</a></li>
19958
19959 </ul>
19960
19961
19962 </div>
19963 <p style="text-align: right">
19964 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.6</a>
19965 </p>
19966
19967 </body>
19968 </html>