]> pere.pagekite.me Git - homepage.git/blob - blog/tags/english/english.rss
2869042db4f7ab6573e76587d786449f3776c1d4
[homepage.git] / blog / tags / english / english.rss
1 <?xml version="1.0" encoding="utf-8"?>
2 <rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/'>
3 <channel>
4 <title>Petter Reinholdtsen - Entries tagged english</title>
5 <description>Entries tagged english</description>
6 <link>http://people.skolelinux.org/pere/blog/</link>
7
8
9 <item>
10 <title>The fight for freedom and privacy</title>
11 <link>http://people.skolelinux.org/pere/blog/The_fight_for_freedom_and_privacy.html</link>
12 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_fight_for_freedom_and_privacy.html</guid>
13 <pubDate>Thu, 18 Oct 2012 10:50:00 +0200</pubDate>
14 <description>&lt;p&gt;Civil liberties and privacy in the western world is going down the
15 drain, and it is hard to fight against it. I try to do my best, but
16 lime is limited. I hope you do your best too. A few years ago I came
17 across a marvellous drawing by
18 &lt;a href=&quot;http://www.claybennett.com/about.html&quot;&gt;Clay Bennett&lt;/a&gt;
19 visualising some of what is going on.
20
21 &lt;p&gt;&lt;a href=&quot;http://www.claybennett.com/pages/security_fence.html&quot;&gt;
22 &lt;img src=&quot;http://www.claybennett.com/images/archivetoons/security_fence.jpg&quot;&gt;&lt;/a&gt;&lt;/p&gt;
23
24 &lt;blockquote&gt;
25 «They who can give up essential liberty to obtain a little temporary
26 safety, deserve neither liberty nor safety.» - Benjamin Franklin
27 &lt;/blockquote&gt;
28
29 &lt;p&gt;Do you feel safe at the airport? I do not. Do you feel safe when
30 you see a surveillance camera? I do not. Do you feel safe when you
31 leave electronic traces of your behaviour and opinions? I do not. I
32 just remember &lt;a href=&quot;http://en.wikipedia.org/wiki/Panopticon&quot;&gt;the
33 Panopticom&lt;/a&gt;, and can not help help to think that we are slowly
34 transforming our society to a huge Panopticom on our own.&lt;/p&gt;
35 </description>
36 </item>
37
38 <item>
39 <title>ColonHelp produser sue WordPress to silence critic</title>
40 <link>http://people.skolelinux.org/pere/blog/ColonHelp_produser_sue_WordPress_to_silence_critic.html</link>
41 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/ColonHelp_produser_sue_WordPress_to_silence_critic.html</guid>
42 <pubDate>Fri, 12 Oct 2012 23:50:00 +0200</pubDate>
43 <description>&lt;p&gt;Thanks to a blog post by
44 &lt;a href=&quot;http://ramblingfoo.blogspot.no/2012/10/a-shitstorm-is-comming.html&quot;&gt;Eddy
45 Petrișor&lt;/a&gt;, I became aware of yet another &quot;alternative medicine&quot;
46 company using legal intimidation tactics to scare off critics.
47 According to the originating blog post about the detox &quot;cure&quot;
48 &lt;a href=&quot;http://insulaindoielii.wordpress.com/2012/10/11/colon-help-sues-wordpress/&quot;&gt;ColonHelp
49 and its producers Zenyth Pharmaceuticals actions&lt;/a&gt;, the producer
50 sues Wordpress to get rid of the critical information. To check if
51 the story was for real, I contacted Automattic, the company behind
52 wordpress.com, and they reply was &quot;We can confirm that Zenyth is
53 seeking a court order against WordPress / Automattic. However, we
54 don&#39;t believe the Terms of Service have been violated in this
55 matter&quot;.&lt;/p&gt;
56
57 &lt;p&gt;The story seem to be simply that a blogger checked the scientific
58 foundation for a popular health product in Rumania, ColonHelp, and
59 reported that there was no reason at all to believe it improved the
60 health of its users. This caused the company behind the product,
61 Zenyth Pharmaceuticals, to use legal intimidation to try to silence
62 the critic, instead of presenting its views and scientific foundation
63 to argue its side.&lt;/p&gt;
64
65 &lt;p&gt;This is the usual story, and the Zenyth Pharmaceuticals company
66 deserve everyone to know how it failed to act properly. Lets hope the
67 &lt;a href=&quot;http://en.wikipedia.org/wiki/Streisand_effect&quot;&gt;Streisand
68 effect&lt;/a&gt; can make it rethink its strategy.&lt;/p&gt;
69
70 &lt;p&gt;What is the harm, you might think. I suggest you take a look at
71 &lt;a href=&quot;http://www.whatstheharm.net/detoxification.html&quot;&gt;a list of
72 victims of detoxification&lt;/a&gt;.&lt;/p&gt;
73 </description>
74 </item>
75
76 <item>
77 <title>Why is your local library collecting the &quot;wrong&quot; computer books?</title>
78 <link>http://people.skolelinux.org/pere/blog/Why_is_your_local_library_collecting_the__wrong__computer_books_.html</link>
79 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Why_is_your_local_library_collecting_the__wrong__computer_books_.html</guid>
80 <pubDate>Wed, 3 Oct 2012 10:00:00 +0200</pubDate>
81 <description>&lt;p&gt;I just read the blog post from Tim Retout
82 &lt;a href=&quot;http://retout.co.uk/blog/2012/10/02/the-library-challenge&quot;&gt;about
83 the computer science book collection available in his local
84 library&lt;/a&gt;, and just wanted to share my comment on his theory about
85 computer books becoming obsolete so soon. That is part of the reason
86 why the selection is so sad in almost any local library (it is in mine
87 too), but I believe the major contributing factor is that the people
88 buying books to the library have no way to know a good and future
89 computer classic from trash. And they need to know which one will
90 become a classic in the future, as they would normally buy one of the
91 recently published books.&lt;/p&gt;
92
93 &lt;p&gt;During my university years, I worked for a while at the university
94 library, and even there the person in charge of buying computer
95 related books (and in fact any natural science related book), did not
96 know enough about computers to make a good educated guess. Once, just
97 before Christmas, they had some leftover money on the book budget and
98 I was asked if I could pick out a lot of computer books in the
99 university book store, for the library to buy for their collection. I
100 had a great time picking all the books I dreamt of buying and reading,
101 and the books I knew were classics (like most of the
102 &lt;a href=&quot;http://en.wikipedia.org/wiki/W._Richard_Stevens&quot;&gt;Stevens
103 collection&lt;/a&gt;). I picked several of the generic O&#39;Reilly books (ie
104 documenting protocols, formats and systems, not specific versions of
105 products) and stayed away from the &#39;teach yourself X in N days&#39; class.
106 I had a great time, and probably picked out more than a hundred books
107 for the library that evening.&lt;/p&gt;
108
109 &lt;p&gt;The sad fact is that there is no way a overworked librarian is
110 going to know that for example
111 &lt;a href=&quot;http://en.wikipedia.org/wiki/The_Practice_of_Programming&quot;&gt;The
112 Practice of Programming&lt;/a&gt; is a must-have in any computer library,
113 and they will most of the time end up picking the wrong books to buy.
114 Perhaps you can help your local library make better choices by giving
115 the suggestions for books to get? I know they would love to hear from
116 you, even if their budget might block them from getting your favourite
117 book right away.&lt;/p&gt;
118 </description>
119 </item>
120
121 <item>
122 <title>Seventy percent done with Norwegian docbook version of Free Culture</title>
123 <link>http://people.skolelinux.org/pere/blog/Seventy_percent_done_with_Norwegian_docbook_version_of_Free_Culture.html</link>
124 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Seventy_percent_done_with_Norwegian_docbook_version_of_Free_Culture.html</guid>
125 <pubDate>Sun, 23 Sep 2012 09:30:00 +0200</pubDate>
126 <description>&lt;p&gt;Since this summer, I have worked in my spare time on a Norwegian &lt;a
127 href=&quot;http://www.docbook.org/&quot;&gt;docbook&lt;/a&gt; version of the 2004 book &lt;a
128 href=&quot;http://free-culture.cc/&quot;&gt;Free Culture&lt;/a&gt; by Lawrence Lessig.
129 The reason is that this book is a great primer on what problems exist
130 in the current copyright laws, and I want it to be available also for
131 those that are reluctant do read an English book.
132
133 When I started, I
134 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Dugnad_for___sende_norsk_versjon_av_Free_Culture_til_stortingets_representanter_.html&quot;&gt;called
135 for volunteers&lt;/a&gt; to help me, but too few have volunteered so far,
136 and progress is a bit slow. Anyway, today I broken the 70 percent
137 mark for the first rough translation. At the moment, less than 700
138 strings (paragraphs, index terms, titles) are left to translate. With
139 my current progress of 10-20 strings per day, it will take a while to
140 complete the translation. This graph show the updated progress:&lt;/p&gt;
141
142 &lt;img width=&quot;80%&quot; align=&quot;center&quot; src=&quot;https://github.com/petterreinholdtsen/free-culture-lessig/raw/master/progress.png&quot;&gt;
143
144 &lt;p&gt;Progress have slowed down lately due to family and work
145 commitments. If you want to help, please get in touch, and check out
146 the project files currently available from
147 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;github&lt;/a&gt;.&lt;/p&gt;
148
149 &lt;p&gt;If you are curious what the translated book currently look like,
150 the updated
151 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.pdf?raw=true&quot;&gt;PDF&lt;/a&gt;
152 and
153 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.epub?raw=true&quot;&gt;EPUB&lt;/a&gt;
154 are published on github. The HTML version is published as well, but
155 github hand it out with MIME type text/plain, confusing browsers, so I
156 saw no point in linking to that version.&lt;/p&gt;
157 </description>
158 </item>
159
160 <item>
161 <title>Debian Edu interview: Giorgio Pioda</title>
162 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Giorgio_Pioda.html</link>
163 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Giorgio_Pioda.html</guid>
164 <pubDate>Mon, 17 Sep 2012 14:10:00 +0200</pubDate>
165 <description>&lt;p&gt;After a long break in my row of interviews with people in the
166 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and Skolelinux&lt;/a&gt;
167 community, I finally found time to wrap up another. This time it is
168 Giorgio Pioda, which showed up on the mailing list at the start of
169 this year, asking questions and inspiring us to improve the first time
170 administrators experience with Skolelinux. :) The interview was
171 conduced in May, but I only found time to publish it now.&lt;/p&gt;
172
173 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
174
175 &lt;p&gt;I have a PhD in chemistry but since several years I work as teacher
176 in secondary (15-18 year old students) and tertiary (a kind of &quot;light&quot;
177 university) schools. Five years ago I started to manage a Learning
178 Management Service server and slowly I got more and more involved with
179 IT. 3 years ago the graduating schools moved completely to Linux and I
180 got the head of the IT for this. The experience collected in chemistry
181 labs computers (for example NMR analysis of protein folding) and in
182 the IT-courses during university where sufficient to start. Self
183 training is anyway very important&lt;/p&gt;
184
185 &lt;p&gt;I live in the Italian speaking part of Switzerland, and the
186 &lt;a href=&quot;http://www.spse.ch/&quot;&gt;SPSE school&lt;/a&gt; (secondary) is a very
187 special sport school for young people who try to became sport pro (for
188 all sports, we have dozens of disciplines represented) and we are
189 recognised by the Olympic Swiss Organisation.
190
191 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
192 project?&lt;/strong&gt;&lt;/p&gt;
193
194 &lt;p&gt;Looking for Linux / Primary Domain Controller (PDC) I found it
195 already several years ago. But since the system was still not
196 Kerberized and since our schools relies strongly on laptops I didn&#39;t
197 use it. I plan to introduce it in the next future, probably for the
198 next school year, since the squeeze release solved this security
199 hole.&lt;/p&gt;
200
201 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
202 Edu?&lt;/strong&gt;&lt;/p&gt;
203
204 &lt;p&gt;Many. First of all there is a strong and living community that is
205 very generous for help and hints. Chat help is crucial, together with
206 the mailing list. Second. With Skolelinux you get an already well
207 engineered platform and you don&#39;t have to start to build up your PDC
208 and your clients from GNU/scratch; I&#39;ve already done this once and I
209 can tell it, it is hard. Third, since Skolelinux is a standard
210 platform, it is way easier to educate other IT people and even if the
211 head IT is sick another one could pick up the task without too much
212 hassle.&lt;/p&gt;
213
214 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
215 Edu?&lt;/strong&gt;&lt;/p&gt;
216
217 &lt;p&gt;The only real problem I see is that it is a little too less
218 flexible at client level. Debian stable is rocky and desirable, but
219 there are many reasons that force for another choice. For example the
220 need of new drivers for new PC, or the need for a specific OS for some
221 devices that have specific software packages for another specific
222 distribution (I have such a case for whiteboards that have only
223 Ubuntu packages). Thus, I prepared compatibility packages educlient
224 and eduroaming, hoping not to use them ;-)&lt;/p&gt;
225
226 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
227
228 &lt;p&gt;I have a Debian Stable PDC at school (Kerberos, NIS, NFS) with
229 mixed Debian and Ubuntu clients. If you think that this triad
230 combination is exotic... well I discovered right yesterday that
231 &lt;a href=&quot;http://moo.nac.uci.edu/~hjm/Perceus-Report.html&quot;&gt;Perceus&lt;/a&gt;
232 has the same...&lt;/p&gt;
233
234 &lt;p&gt;For myself I run Debian wheezy/sid, but this combination is good
235 only I you have enough competence to fix stuff for yourself, if
236 something breaks. Daily I use texmacs, gnumeric, a little bit of R
237 statistics, kmplot, and less frequently OpenOffice.org.&lt;/p&gt;
238
239 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
240 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
241
242 &lt;P&gt;I think that the only real argument that school managers &quot;hear&quot; is
243 cost reduction. They don&#39;t give too much weight on quality, stability,
244 just because they are normally not open to change.&lt;/p&gt;
245
246 &lt;p&gt;Students adapts very quickly to GNU/Linux (and for them being able
247 to switch between different OS is a plus value); teachers and managers
248 don&#39;t.&lt;/p&gt;
249
250 &lt;p&gt;We decided to move to Linux because students at our school have own
251 laptop and we have the responsibility to keep the laptop ready to use;
252 we were really unsatisfied with Microsoft since every Monday we had 20
253 machine to fix for viral infections... With Linux this has been
254 reduced to zero, since people installs almost only from official
255 repositories. I think that our special needs brought us to Linux.
256 Those who don&#39;t have such needs will hardly move to Linux.&lt;/p&gt;
257 </description>
258 </item>
259
260 <item>
261 <title>IETF activity to standardise video codec</title>
262 <link>http://people.skolelinux.org/pere/blog/IETF_activity_to_standardise_video_codec.html</link>
263 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/IETF_activity_to_standardise_video_codec.html</guid>
264 <pubDate>Sat, 15 Sep 2012 20:00:00 +0200</pubDate>
265 <description>&lt;p&gt;After the
266 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/IETF_standardize_its_first_multimedia_codec__Opus.html&quot;&gt;Opus
267 codec made&lt;/a&gt; it into &lt;a href=&quot;http://www.ietf.org/&quot;&gt;IETF&lt;/a&gt; as
268 &lt;a href=&quot;http://tools.ietf.org/html/rfc6716&quot;&gt;RFC 6716&lt;/a&gt;, I had a look
269 to see if there is any activity in IETF to standardise a video codec
270 too, and I was happy to discover that there is some activity in this
271 area. A non-&quot;working group&quot; mailing list
272 &lt;a href=&quot;https://www.ietf.org/mailman/listinfo/video-codec&quot;&gt;video-codec&lt;/a&gt;
273 was
274 &lt;a href=&quot;http://ietf.10.n7.nabble.com/New-Non-WG-Mailing-List-video-codec-Video-codec-BoF-discussion-list-td119548.html&quot;&gt;created 2012-08-20&lt;/a&gt;. It is intended to discuss the topic and if a
275 formal working group should be formed.&lt;/p&gt;
276
277 &lt;p&gt;I look forward to see how this plays out. There is already
278 &lt;a href=&quot;http://www.ietf.org/mail-archive/web/video-codec/current/msg00003.html&quot;&gt;an
279 email from someone&lt;/a&gt; in the MPEG group at ISO asking people to
280 participate in the ISO group. Given how ISO failed with OOXML and given
281 that it so far (as far as I can remember) only have produced
282 multimedia formats requiring royalty payments, I suspect
283 joining the ISO group would be a complete waste of time, but I am not
284 involved in any codec work and my opinion will not matter much.&lt;/p&gt;
285
286 &lt;p&gt;If one of my readers is involved with codec work, I hope she will
287 join this work to standardise a royalty free video codec within
288 IETF.&lt;/p&gt;
289 </description>
290 </item>
291
292 <item>
293 <title>IETF standardize its first multimedia codec: Opus</title>
294 <link>http://people.skolelinux.org/pere/blog/IETF_standardize_its_first_multimedia_codec__Opus.html</link>
295 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/IETF_standardize_its_first_multimedia_codec__Opus.html</guid>
296 <pubDate>Wed, 12 Sep 2012 13:50:00 +0200</pubDate>
297 <description>&lt;p&gt;Yesterday, &lt;a href=&quot;http://www.ietf.org/&quot;&gt;IETF&lt;/a&gt; announced the
298 publication of of
299 &lt;a href=&quot;http://tools.ietf.org/html/rfc6716&quot;&gt;RFC 6716, the Definition
300 of the Opus Audio Codec&lt;/a&gt;, a low latency, variable bandwidth, codec
301 intended for both VoIP, film and music. This is the first time, as
302 far as I know, that IETF have standardized a multimedia codec. In
303 &lt;a href=&quot;http://tools.ietf.org/html/rfc3533&quot;&gt;RFC 3533&lt;/a&gt;, IETF
304 standardized the OGG container format, and it has proven to be a great
305 royalty free container for audio, video and movies. I hope IETF will
306 continue to standardize more royalty free codeces, after ISO and MPEG
307 have proven incapable of securing everyone equal rights to publish
308 multimedia content on the Internet.&lt;/p&gt;
309
310 &lt;p&gt;IETF require two interoperating independent implementations to
311 ratify a standard, and have so far ensured to only standardize royalty
312 free specifications. Both are key factors to allow everyone (rich and
313 poor), to compete on equal terms on the Internet.&lt;/p&gt;
314
315 &lt;p&gt;Visit the &lt;a href=&quot;http://opus-codec.org/&quot;&gt;Opus project page&lt;/a&gt; if
316 you want to learn more about the solution.&lt;/p&gt;
317 </description>
318 </item>
319
320 <item>
321 <title>Git repository for song book for Computer Scientists</title>
322 <link>http://people.skolelinux.org/pere/blog/Git_repository_for_song_book_for_Computer_Scientists.html</link>
323 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Git_repository_for_song_book_for_Computer_Scientists.html</guid>
324 <pubDate>Fri, 7 Sep 2012 13:50:00 +0200</pubDate>
325 <description>&lt;p&gt;As I
326 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Song_book_for_Computer_Scientists.html&quot;&gt;mentioned
327 this summer&lt;/a&gt;, I have created a Computer Science song book a few
328 years ago, and today I finally found time to create a public
329 &lt;a href=&quot;https://gitorious.org/pere-cs-songbook/pere-cs-songbook&quot;&gt;Gitorious
330 repository for the project&lt;/a&gt;.&lt;/p&gt;
331
332 &lt;p&gt;If you want to help out, please clone the source and submit patches
333 to the HTML version. To generate the PDF and PostScript version,
334 please use prince XML, or let me know about a useful free software
335 processor capable of creating a good looking PDF from the HTML.&lt;/p&gt;
336
337 &lt;p&gt;Want to sing? You can still find the song book in HTML, PDF and
338 PostScript formats at
339 &lt;a href=&quot;http://www.hungry.com/~pere/cs-songbook/&quot;&gt;Petter&#39;s Computer
340 Science Songbook&lt;/a&gt;.&lt;/p&gt;
341 </description>
342 </item>
343
344 <item>
345 <title>Free software forced Microsoft to open Office (and don&#39;t forget Officeshots)</title>
346 <link>http://people.skolelinux.org/pere/blog/Free_software_forced_Microsoft_to_open_Office__and_don_t_forget_Officeshots_.html</link>
347 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Free_software_forced_Microsoft_to_open_Office__and_don_t_forget_Officeshots_.html</guid>
348 <pubDate>Thu, 23 Aug 2012 14:20:00 +0200</pubDate>
349 <description>&lt;p&gt;I came across a great comment from Simon Phipps today, about how
350 &lt;a href=&quot;http://www.infoworld.com/d/open-source-software/how-microsoft-was-forced-open-office-200233&quot;&gt;Microsoft
351 have been forced to open Office&lt;/a&gt;, and it made me remember and
352 revisit the great site
353 &lt;a href=&quot;http://www.officeshots.org/&quot;&gt;officeshots&lt;/a&gt; which allow you
354 to check out how different programs present the ODF file format. I
355 recommend both to those of my readers interested in ODF. :)&lt;/p&gt;
356 </description>
357 </item>
358
359 <item>
360 <title>Half way there with translated docbook version of Free Culture</title>
361 <link>http://people.skolelinux.org/pere/blog/Half_way_there_with_translated_docbook_version_of_Free_Culture.html</link>
362 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Half_way_there_with_translated_docbook_version_of_Free_Culture.html</guid>
363 <pubDate>Fri, 17 Aug 2012 21:50:00 +0200</pubDate>
364 <description>&lt;p&gt;In my spare time, I currently work on a Norwegian
365 &lt;a href=&quot;http://www.docbook.org/&quot;&gt;docbook&lt;/a&gt; version of the 2004 book
366 &lt;a href=&quot;http://free-culture.cc/&quot;&gt;Free Culture&lt;/a&gt; by Lawrence Lessig,
367 to get a Norwegian text explaining the problems with the copyright law
368 I can give to my parents and others that are reluctant to read an
369 English book. It is a marvellous set of examples on how the ever
370 expanding copyright regulations hurt culture and society. When the
371 translation is done, I hope to find funding to print and ship a copy
372 to all the members of the Norwegian parliament, before they sit down
373 to debate the latest revisions to the Norwegian copyright law. This
374 summer I
375 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Dugnad_for___sende_norsk_versjon_av_Free_Culture_til_stortingets_representanter_.html&quot;&gt;called
376 for volunteers&lt;/a&gt; to help me, and I have been able to secure the
377 valuable contribution from at least one other Norwegian.&lt;/p&gt;
378
379 &lt;p&gt;Two days ago, we finally broke the 50% mark. Then more than 50% of
380 the number of strings to translate (normally paragraphs, but also
381 titles and index entries are also counted). All parts from the
382 beginning up to and including chapter four is translated. So is
383 chapters six, seven and the conclusion. I created a graph to show the
384 progress:&lt;/p&gt;
385
386 &lt;img width=&quot;80%&quot; align=&quot;center&quot; src=&quot;https://github.com/petterreinholdtsen/free-culture-lessig/raw/master/progress.png&quot;&gt;
387
388 &lt;p&gt;The number of strings to translate increase as I insert the index
389 entries into the docbook. They were missing with the docbook version
390 I initially started with. There are still quite a few index entries
391 missing, but everyone starting with A, B, O, Z and Y are done. I
392 currently focus on completing the index entries, to get a complete
393 english version of the docbook source.&lt;/p&gt;
394
395 &lt;p&gt;There is still need for translators and people with docbook
396 knowledge, to be able to get a good looking book (I still struggle
397 with dblatex, xmlto and docbook-xsl) as well as to do the draft
398 translation and proof reading. And I would like the figures to be
399 redrawn as SVGs to make it easy to translate them. Any SVG master
400 around? I am sure there are some legal terms that are unfamiliar to
401 me. If you want to help, please get in touch, and check out the
402 project files currently available from &lt;a
403 href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;github&lt;/a&gt;.&lt;/p&gt;
404
405 &lt;p&gt;If you are curious what the translated book currently look like,
406 the updated
407 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.pdf?raw=true&quot;&gt;PDF&lt;/a&gt;
408 and
409 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.epub?raw=true&quot;&gt;EPUB&lt;/a&gt;
410 are published on github. The HTML version is published as well, but
411 github hand it out with MIME type text/plain, confusing browsers, so I
412 saw no point in linking to that version.&lt;/p&gt;
413 </description>
414 </item>
415
416 <item>
417 <title>Notes on language codes for Norwegian docbook processing...</title>
418 <link>http://people.skolelinux.org/pere/blog/Notes_on_language_codes_for_Norwegian_docbook_processing___.html</link>
419 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Notes_on_language_codes_for_Norwegian_docbook_processing___.html</guid>
420 <pubDate>Fri, 10 Aug 2012 21:00:00 +0200</pubDate>
421 <description>&lt;p&gt;In &lt;a href=&quot;http://www.docbook.org/&quot;&gt;docbook&lt;/a&gt; one can specify
422 the language used at the top, and the processing pipeline will use
423 this information to pick the correct translations for &#39;chapter&#39;, &#39;see
424 also&#39;, &#39;index&#39; etc. And for most languages used with docbook, I guess
425 this work just fine. For example a German user can start the document
426 with &amp;lt;book lang=&quot;de&quot;&amp;gt;, and the document will show up with the
427 correct content with any of the docbook processors. This is not the
428 case for the language
429 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Free_Culture_in_Norwegian___5_chapters_done__74_percent_left_to_do.html&quot;&gt;I
430 am working with at the moment&lt;/a&gt;, Norwegian Bokmål.&lt;/p&gt;
431
432 &lt;p&gt;For a while, I was confused about which language code to use,
433 because I was unable to find any language code that would work across
434 all tools. I am currently testing dblatex, xmlto, docbook-xsl, and
435 dbtoepub, and they do not handle Norwegian Bokmål the same way. Some
436 of them do not handle it at all.&lt;/p&gt;
437
438 &lt;p&gt;A bit of background information is probably needed to understand
439 this mess. Norwegian is not one, but two written variants. The
440 variants are Norwegian Nynorsk and Norwegian Bokmål. There are three
441 two letter language codes associated with these languages, Norwegian
442 is &#39;no&#39;, Norwegian Nynorsk is &#39;nn&#39; and Norwegian Bokmål is &#39;nb&#39;.
443 Historically the &#39;no&#39; language code was used for Norwegian Bokmål, but
444 many years ago this was found to be å bad idea, and the recommendation
445 is to use the most specific language code instead, to avoid confusion.
446 In the transition period it is a good idea to make sure &#39;no&#39; was an
447 alias for &#39;nb&#39;.&lt;/p&gt;
448
449 &lt;p&gt;Back to docbook processing tools in Debian. The dblatex tool only
450 understand &#39;nn&#39;. There are translations for &#39;no&#39;, but not &#39;nb&#39; (BTS
451 &lt;a href=&quot;http://bugs.debian.org/684391&quot;&gt;#684391&lt;/a&gt;), but due to a bug
452 (BTS &lt;a href=&quot;http://bugs.debian.org/682936&quot;&gt;#682936&lt;/a&gt;) the &#39;no&#39;
453 language code is not recognised. The docbook-xsl tool chain only
454 recognise &#39;nn&#39; and &#39;nb&#39;, but not &#39;no&#39;. The xmlto tool only recognise
455 &#39;nn&#39; and &#39;nb&#39;, but not &#39;no&#39;. The end result that there is no language
456 code I can use to get the docbook file working with all of these tools
457 at the same time. :(&lt;/p&gt;
458
459 &lt;p&gt;The correct solution is to use &amp;lt;book lang=&quot;nb&quot;&amp;gt;, but it will
460 take time before that will work with all the free software docbook
461 processors. :(&lt;/p&gt;
462
463 &lt;p&gt;Oh, the joy of well integrated tools. :/&lt;/p&gt;
464 </description>
465 </item>
466
467 <item>
468 <title>Best way to create a docbook book?</title>
469 <link>http://people.skolelinux.org/pere/blog/Best_way_to_create_a_docbook_book_.html</link>
470 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Best_way_to_create_a_docbook_book_.html</guid>
471 <pubDate>Tue, 31 Jul 2012 22:00:00 +0200</pubDate>
472 <description>&lt;p&gt;I tried to send this text to the
473 &lt;a href=&quot;https://lists.oasis-open.org/archives/docbook-apps/&quot;&gt;docbook-apps
474 mailing list at lists.oasis-open.org&lt;/a&gt;, but it only accept messages
475 from subscribers and rejected my post, and I completely lack the
476 bandwidth required to subscribe to another mailing list, so instead I
477 try to post my message here and hope my blog readers can help me
478 out.&lt;/p&gt;
479
480 &lt;p&gt;I am quite new to docbook processing, and am climbing a steep
481 learning curve at the moment.&lt;/p&gt;
482
483 &lt;p&gt;To give you some background, I am working on a Norwegian
484 translation of the book Free Culture by Lawrence Lessig, and I use
485 docbook to handle the process. The files to build the book are
486 available from
487 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;github&lt;/a&gt;.
488 The book got around 400 pages with parts, images, footnotes, tables,
489 index entries etc, which has proven to be a challenge for the free
490 software docbook processors. My build platform is Debian GNU/Linux
491 Squeeze.&lt;/p&gt;
492
493 &lt;p&gt;I want to build PDF, EPUB and HTML version of the book, and have
494 tried different tool chains to do the conversion from docbook to these
495 formats. I am currently focusing on the PDF version, and have a few
496 problems.&lt;/p&gt;
497
498 &lt;ul&gt;
499
500 &lt;li&gt;Using dblatex, the &amp;lt;part&amp;gt; handling is not the way I want to,
501 as &amp;lt;/part&amp;gt; do not really end the &amp;lt;part&amp;gt;. (See
502 &lt;a href=&quot;http://bugs.debian.org/683166&quot;&gt;BTS report #683166&lt;/a&gt;), the
503 xetex backend (needed to process UTF-8) give incorrect hyphens in
504 index references spanning several pages (See
505 &lt;a href=&quot;http://bugs.debian.org/682901&quot;&gt;BTS report #682901&lt;/a&gt;), and
506 I am unable to get the norwegian template texts (See
507 &lt;a href=&quot;http://bugs.debian.org/682936&quot;&gt;BTS report #682936&lt;/a&gt;).&lt;/li&gt;
508
509 &lt;li&gt;Using straight xmlto fail with some latex error (See
510 &lt;a href=&quot;http://bugs.debian.org/683163&quot;&gt;BTS report
511 #683163&lt;/a&gt;).&lt;/li&gt;
512
513 &lt;li&gt;Using xmlto with the fop backend fail to handle images (do not
514 show up in the PDF), fail to handle a long footnote (overlap
515 footnote and text body, see
516 &lt;a href=&quot;http://bugs.debian.org/683197&quot;&gt;BTS report #683197&lt;/a&gt;), and
517 fail to create a correct index (some lack page ref, and the page
518 refs listed are not right).&lt;/li&gt;
519
520 &lt;li&gt;Using xmlto with the dblatex backend behave like dblatex.&lt;/li&gt;
521
522 &lt;li&gt;Using docbook-xls with xsltproc + fop have the same footnote and
523 index problems the xmlto + fop processing.&lt;/li&gt;
524
525 &lt;/ul&gt;
526
527 &lt;p&gt;So I wonder, what would be the best way to create the PDF version
528 of this book? Are some of the bugs found above solved in new or
529 experimental versions of some docbook tool chain?&lt;/p&gt;
530
531 &lt;p&gt;What about HTML and EPUB versions?&lt;/p&gt;
532 </description>
533 </item>
534
535 <item>
536 <title>Free Culture in Norwegian - 5 chapters done, 74 percent left to do</title>
537 <link>http://people.skolelinux.org/pere/blog/Free_Culture_in_Norwegian___5_chapters_done__74_percent_left_to_do.html</link>
538 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Free_Culture_in_Norwegian___5_chapters_done__74_percent_left_to_do.html</guid>
539 <pubDate>Sat, 21 Jul 2012 20:00:00 +0200</pubDate>
540 <description>&lt;p&gt;I reported earlier that I am working on
541 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Dugnad_for___sende_norsk_versjon_av_Free_Culture_til_stortingets_representanter_.html&quot;&gt;a
542 norwegian version&lt;/a&gt; of the book
543 &lt;a href=&quot;http://free-culture.cc/&quot;&gt;Free Culture&lt;/a&gt; by Lawrence Lessig.
544 Progress is good, and yesterday I got a major contribution from Anders
545 Hagen Jarmund completing chapter six. The source files as well as a
546 PDF and EPUB version of this book are available from
547 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;github&lt;/a&gt;.&lt;/p&gt;
548
549 &lt;p&gt;I am happy to report that the draft for the first two chapters
550 (preface, introduction) is complete, and three other chapters are also
551 completely translated. This completes 26 percent of the number of
552 strings (equivalent to paragraphs) in the book, and there is thus 74
553 percent left to translate. A graph of the progress is present at the
554 bottom of the github project page. There is still room for more
555 contributors. Get in touch or send github pull requests with fixes if
556 you got time and are willing to help make this book make it to
557 print. :)&lt;/p&gt;
558
559 &lt;p&gt;The book translation framework could also be a good basis for other
560 translations, if you want the book to be available in your
561 language.&lt;/p&gt;
562 </description>
563 </item>
564
565 <item>
566 <title>Call for help from docbook expert to tag Free Culture by Lawrence Lessig</title>
567 <link>http://people.skolelinux.org/pere/blog/Call_for_help_from_docbook_expert_to_tag_Free_Culture_by_Lawrence_Lessig.html</link>
568 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Call_for_help_from_docbook_expert_to_tag_Free_Culture_by_Lawrence_Lessig.html</guid>
569 <pubDate>Mon, 16 Jul 2012 22:50:00 +0200</pubDate>
570 <description>&lt;p&gt;I am currently working on a
571 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Dugnad_for___sende_norsk_versjon_av_Free_Culture_til_stortingets_representanter_.html&quot;&gt;project
572 to translate&lt;/a&gt; the book
573 &lt;a href=&quot;http://free-culture.cc/&quot;&gt;Free Culture&lt;/a&gt; by Lawrence Lessig
574 to Norwegian. And the source we base our translation on is the
575 &lt;a href=&quot;http://en.wikipedia.org/wiki/DocBook&quot;&gt;docbook&lt;/a&gt; version, to
576 allow us to use po4a and .po files to handle the translation, and for
577 this to work well the docbook source document need to be properly
578 tagged. The source files of this project is available from
579 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;github&lt;/a&gt;.&lt;/p&gt;
580
581 &lt;p&gt;The problem is that the docbook source have flaws, and we have
582 no-one involved in the project that is a docbook expert. Is there a
583 docbook expert somewhere that is interested in helping us create a
584 well tagged docbook version of the book, and adjust our build process
585 for the PDF, EPUB and HTML version of the book? This will provide a
586 well tagged English version (our source document), and make it a lot
587 easier for us to create a good Norwegian version. If you can and want
588 to help, please get in touch with me or fork the github project and
589 send pull requests with fixes. :)&lt;/p&gt;
590 </description>
591 </item>
592
593 <item>
594 <title>Debian Edu interview: George Bredberg</title>
595 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__George_Bredberg.html</link>
596 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__George_Bredberg.html</guid>
597 <pubDate>Mon, 9 Jul 2012 00:30:00 +0200</pubDate>
598 <description>&lt;p&gt;The &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu /
599 Skolelinux&lt;/a&gt; project have users all over the globe, but until
600 recently we have not known about any users in Norway&#39;s neighbour
601 country Sweden. This changed when George Bredberg showed up in March
602 this year on the mailing list, asking interesting questions about how
603 to adjust and scale the just released
604 &lt;a href=&quot;http://www.debian.org/News/2012/20120311.html&quot;&gt;Debian Edu
605 Wheezy&lt;/a&gt; setup to his liking. He granted me an interview, and I am
606 happy to share his answers with you here.&lt;/p&gt;
607
608 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
609
610 &lt;p&gt;I&#39;m a 44 year old country guy that have been working 12 years at
611 the same school as 50% IT-manager and 50% Teacher. My educational
612 background is fil.kand in history and religious beliefs, an exam as a
613 &quot;folkhighschool&quot; teacher, that is, for teaching grownups. In
614 Norwegian I believe it&#39;s called &quot;Vuxenupplaring&quot;. I also have a master
615 in &quot;Technology and social change&quot;. So I&#39;m not really a tech guy, I
616 just like to study how humans and technology interact and that is my
617 perspective when working with IT.&lt;/p&gt;
618
619 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
620 project?&lt;/strong&gt;&lt;/p&gt;
621
622 I have followed the Skolelinux project for quite some time by
623 now. Earlier I tested out the K12-LTSP project, which we used for some
624 time, but I really like the idea of having a distribution aimed to be
625 a complete solution for schools with necessary tools integrated. When
626 K12-LTSP abandoned that idea some years ago, I started to look more
627 seriously into Skolelinux instead.
628
629 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
630 Edu?&lt;/strong&gt;&lt;/p&gt;
631
632 The big point of Skolelinux to me is that it is a complete
633 distribution, ready to install. It has LDAP-support, MS Windows
634 integration tools and so forth already configured, saving an
635 administrator a lot of time and headache. We were using another Linux
636 based thin-client system called Thinlinc, that has served us very
637 well. But that Skolelinux is based on VNC and LTSP, to me, is better
638 when it comes to the kind of multimedia used in schools. That is
639 showing videos from Youtube or educational TV. It is also easier to
640 mix thin clients with workstations, since the user settings will be the
641 same. In our VNC-based solution you had to &quot;beat around the bush&quot; by
642 setting up a second, hidden, home-directory for user settings for the
643 workstations, because they will be different from the ones used on the
644 thin clients. Skolelinux support for diskless workstations are very
645 convenient since a school today often need to use a class room
646 projector showing videos in full screen. That is easily done with a
647 small integrated media computer running as a diskless workstation. You
648 have only two installs to update and configure. One for the thin
649 clients and one for the workstations. Also saving a lot of time. Our
650 old system was also based on Redhat and CentOS. They are both very
651 nice distributions, but they are sometimes painfully slow when it
652 comes to updating multimedia support and multimedia programs (even
653 such as Gimp), leaving us with a bit &quot;oldish&quot; applications. Debian is
654 quicker to update.
655
656 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
657 Edu?&lt;/strong&gt;&lt;/p&gt;
658
659 &lt;p&gt;Debian is a bit too quick when it comes to updating. As an example
660 we use old HP terminals as thinclients, and two times already this
661 year (2012) the updates you get from the repositories has stopped
662 sound from working with them. It&#39;s a kernel/ALSA issue. So you have
663 to be more careful properly testing the updates before you run them in
664 a production environment. This has never happened with CentOS.&lt;/p&gt;
665
666 &lt;p&gt;I also would like to be able to set my own domain-settings at
667 install time. In Skolelinux they are kind of hard coded into the
668 distribution, when it comes to LDAP and at least samba integration.
669 That is more a cosmetic/translation issue, and not a real problem.
670 Running MS Windows applications within the Skolelinux environment needs
671 to be better supported. That is, running them seamlessly via RDP, and
672 support for single-sign on. That will make the transition to free
673 software easier, because you can keep the applications you really
674 need. No support will make it impossible if you work in a school where
675 some applications can&#39;t be open source. As for us we really need to
676 run Adobe InDesign in our journalist classes. We run a journalist
677 education, and is one of the very few non university ones that is ok:d
678 by Svenska journalistförbundet (Swedish journalist association). Our
679 education gives the pupils the right of membership there, once they
680 are done. This is important if you want to get a job.&lt;/p&gt;
681
682 &lt;p&gt;Adobe InDesign is the program most commonly used in newspapers and
683 magazines. We used Quark Express before, but they seem to loose there
684 market to Adobe. The only &quot;equivalent&quot; to InDesign in the opensource
685 world is Scribus, and its not advanced enough. At least not according
686 to the teacher. I think it would be possible to use it, because they
687 are not supposed to learn a program, they are supposed to learn how to
688 edit and compile a newspaper. But politically at our school we are not
689 there yet. And Scribus lacks a lot of things you find i InDesign.&lt;/p&gt;
690
691 &lt;p&gt;We used even a windows program for sound editing when it comes to
692 the radio-journalist part. The year to come we are going to try
693 Audacity. That software has the same kind of limitations compared to
694 Adobe Audition, but that teacher is a bit more open minded. We have
695 tried Ardour also, but that instead is more like a music studio
696 program, not intended for the kind of editing taking place in a radio
697 studio. Its way to complex and the GUI is to scattered when you only
698 want to cut, make pass-overs, add extra channels and normalise. Those
699 things you can do in Audacity, but its not as easy as in Audition. You
700 have to do more things manually with envelopes, and that is a bit old
701 fashion and timewasting. Its also harder to cut and move sound from
702 one channel to another, which is a thing that you do frequently
703 because you often find yourself needing to rearrange parts of the
704 sound file.&lt;/p&gt;
705
706 &lt;p&gt;So, I am not sure we will succeed in replacing even Audition, but we
707 will try. The problem is the students have certain expectations when
708 they start an education towards a profession. So the programs has to
709 look and feel professional. Good thing with radio, there are many
710 programs out there, that radio studios use, so its not as standardised
711 as Newspaper editing. That means, it does not really matter what
712 program they learn, because once they start working they still have to
713 learn the program the studio uses, so instead focus has to be to learn
714 the editing part without to much focus on a specific software.&lt;/p&gt;
715
716 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
717
718 &lt;p&gt;Myself I&#39;m running Linux Mint, or Ubuntu these days. I use almost
719 only open source software, and preferably Linux based. When it comes
720 to most used applications its OpenOffice, and Firefox (of course ;)
721 )&lt;/p&gt;
722
723 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
724 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
725
726 &lt;p&gt;To get schools to use free software there has to be good open
727 source software that are windows based, to ease the transition. But
728 it&#39;s also very important that the multimedia support is working
729 flawlessly. The problems with Youtube, Twitter, Facebook and whatever
730 will create problems when it comes to both teachers and
731 students. Economy are also important for schools, so using thin
732 clients, as long as they have good multimedia support, is a very good
733 idea. It&#39;s also important that the open source software works even for
734 the administration. It&#39;s hard to convince the teachers to stick with
735 open source, if the principal has to run Windows. It also creates a
736 problem if some classes has to use Windows for there tasks, since that
737 will create a difference in &quot;status&quot; between classes, so a good
738 support for running windows applications via the thin client (Linux)
739 desktop is essential. At least at our school, where we have mixed
740 level of educations, from high-school to journalist-school.&lt;/p&gt;
741
742 &lt;p&gt;Update 2012-07-09 08:30: Paul Wise tipped me on IRC about three
743 useful sources related to Free Software for radio stations: the LWN
744 article &lt;a href=&quot;https://lwn.net/Articles/481607/&quot;&gt;Radio station
745 management with Airtime&lt;/a&gt;,
746 &lt;a href=&quot;http://www.sourcefabric.org/en/airtime/&quot;&gt;Airtime&lt;/a&gt; which
747 claim to be a Free open source radio automation software and
748 &lt;a href=&quot;http://www.rivendellaudio.org/&quot;&gt;Rivendell&lt;/a&gt; which claim to
749 be complete radio broadcast automation solution. All of them seem
750 useful to the aspiring radio producer.&lt;/p&gt;
751 </description>
752 </item>
753
754 <item>
755 <title>Why do schools waste money on IT?</title>
756 <link>http://people.skolelinux.org/pere/blog/Why_do_schools_waste_money_on_IT_.html</link>
757 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Why_do_schools_waste_money_on_IT_.html</guid>
758 <pubDate>Sun, 8 Jul 2012 09:40:00 +0200</pubDate>
759 <description>&lt;p&gt;In the Debian Edu / Skolelinux project, we have realised that one
760 of the major blockers for the project success is the purchasing skills
761 in schools and municipalities. We provide what the happy users of
762 Debian Edu / Skolelinux say they need and to a lower cost than the
763 alternatives, and yet so few schools decide to use our solution. I
764 was pleased to discover the same observation done by mySociety and Tom
765 Steinberg in his blog post
766 &quot;&lt;a href=&quot;http://www.mysociety.org/2012/06/19/can-you-recognize-the-million-pound-chair/&quot;&gt;Can
767 you recognize the million pound chair?&lt;/a&gt;&quot;. Read it and weep for the
768 spending of your tax money.&lt;/p&gt;
769
770 &lt;p&gt;Of course there are other factors involved as well, like our
771 projects bad marketing skills and the Linux community fragmentation
772 causing worry with the people on the outside, so we as a project need
773 to keep working hard to gain users, but it is a up-hill battle when
774 public decision makers are unable to understand computer system
775 purchases.&lt;/p&gt;
776 </description>
777 </item>
778
779 <item>
780 <title>Free Timetabling Software - nice free software</title>
781 <link>http://people.skolelinux.org/pere/blog/Free_Timetabling_Software___nice_free_software.html</link>
782 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Free_Timetabling_Software___nice_free_software.html</guid>
783 <pubDate>Sat, 7 Jul 2012 09:50:00 +0200</pubDate>
784 <description>&lt;p&gt;Included in &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu /
785 Skolelinux&lt;/a&gt; is a large collection of end user and school specific
786 software. It is one of the packages not installed by default but
787 provided in the Debian archive for schools to install if they want to,
788 is a system to automatically plan the school time table using
789 information about available teachers, classes and rooms, combined with
790 the list of required courses and how many hours each topic should
791 receive. The software is
792
793 &lt;a href=&quot;http://lalescu.ro/liviu/fet/&quot;&gt;named FET&lt;/a&gt;, and it provide a
794 graphical user interface to input the required information, save the
795 result in a fairly simple XML format, and generate time tables for
796 both teachers and students. It is available both for
797 &lt;a href=&quot;http://lalescu.ro/liviu/fet/download.html&quot;&gt;Linux, MacOSX and
798 Windows&lt;/a&gt;.&lt;/p&gt;
799
800 &lt;p&gt;This is &lt;a href=&quot;http://lalescu.ro/liviu/fet/features.html&quot;&gt;the
801 feature list&lt;/a&gt;, liftet from the project web site:&lt;/p&gt;
802
803 &lt;p&gt;&lt;ul&gt;
804
805 &lt;li&gt;FET is free software, licensed under the GNU GPL v2 or later.
806 You can freely use, copy, modify and redistribute it &lt;/li&gt;
807
808 &lt;li&gt;Localized to en_US (US English, default), ar (Arabic), ca
809 (Catalan), da (Danish), de (German), el (Greek), es (Spanish), fa
810 (Persian), fr (French), gl (Galician), he (Hebrew), hu
811 (Hungarian), id (Indonesian), it (Italian), lt (Lithuanian), mk
812 (Macedonian), ms (Malay), nl (Dutch), pl (Polish), pt_BR
813 (Brazilian Portuguese), ro (Romanian), ru (Russian), si (Sinhala),
814 sk (Slovak), sr (Serbian), tr (Turkish), uk (Ukrainian), uz
815 (Uzbek) and vi (Vietnamese) (incompletely for some languages)
816 &lt;/li&gt;
817
818 &lt;li&gt;Fully automatic generation algorithm, allowing also
819 semi-automatic or manual allocation&lt;/li&gt;
820
821 &lt;li&gt;Platform independent implementation, allowing running on
822 GNU/Linux, Windows, Mac and any system that Qt supports &lt;/li&gt;
823
824 &lt;li&gt;Flexible modular XML format for the input file, allowing editing
825 with an XML editor or by hand (besides FET interface)&lt;/li&gt;
826
827 &lt;li&gt;Import/export from CSV format&lt;/li&gt;
828
829 &lt;li&gt;The resulted timetables are exported into HTML, XML and CSV
830 formats &lt;/li&gt;
831
832 &lt;li&gt;Flexible students structure, organized into sets: years, groups
833 and subgroups. FET allows overlapping years and groups and
834 non-overlapping subgroups. You can even define individual students
835 (as separate sets)&lt;/li&gt;
836
837 &lt;li&gt;Each constraint has a weight percentage, from 0.0% to 100.0%
838 (but some special constraints are allowed to have only 100% weight
839 percentage)&lt;/li&gt;
840
841 &lt;li&gt;Limits for the algorithm (all these limits can be increased on
842 demand, as a custom version, because this would require a bit more
843 memory):
844 &lt;ul&gt;
845 &lt;li&gt;Maximum total number of hours (periods) per day: 60&lt;/li&gt;
846 &lt;li&gt;Maximum number of working days per week: 35&lt;/li&gt;
847 &lt;li&gt;Maximum total number of teachers: 6000&lt;/li&gt;
848 &lt;li&gt;Maximum total number of sets of students: 30000&lt;/li&gt;
849 &lt;li&gt;Maximum total number of subjects: 6000&lt;/li&gt;
850 &lt;li&gt;Virtually unlimited number of activity tags&lt;/li&gt;
851 &lt;li&gt;Maximum number of activities: 30000&lt;/li&gt;
852 &lt;li&gt;Maximum number of rooms: 6000&lt;/li&gt;
853 &lt;li&gt;Maximum number of buildings: 6000&lt;/li&gt;
854 &lt;li&gt;Possibility of adding multiple teachers and
855 students sets for each activity. (it is possible
856 also to have no teachers or no students sets for an
857 activity)&lt;/li&gt;
858 &lt;li&gt;Virtually unlimited number of time constraints&lt;/li&gt;
859 &lt;li&gt;Virtually unlimited number of space constraints&lt;/li&gt;
860 &lt;/ul&gt;&lt;/li&gt;
861
862 &lt;li&gt;A large and flexible palette of time constraints:
863 &lt;ul&gt;
864 &lt;li&gt;Break periods&lt;/li&gt;
865 &lt;li&gt;For teacher(s):
866 &lt;ul&gt;
867 &lt;li&gt;Not available periods&lt;/li&gt;
868 &lt;li&gt;Max/min days per week&lt;/li&gt;
869 &lt;li&gt;Max gaps per day/week&lt;/li&gt;
870 &lt;li&gt;Max hours daily/continuously&lt;/li&gt;
871 &lt;li&gt;Min hours daily&lt;/li&gt;
872 &lt;li&gt;Max hours daily/continuously with an activity tag&lt;/li&gt;
873
874 &lt;li&gt;Respect working in an hourly interval a max number of
875 days per week&lt;/li&gt;
876 &lt;/ul&gt;&lt;/li&gt;
877 &lt;li&gt;For students (sets):
878 &lt;ul&gt;
879 &lt;li&gt;Not available periods&lt;/li&gt;
880 &lt;li&gt;Begins early (specify max allowed beginnings at second hour)&lt;/li&gt;
881 &lt;li&gt;Max gaps per day/week&lt;/li&gt;
882 &lt;li&gt;Max hours daily/continuously&lt;/li&gt;
883 &lt;li&gt;Min hours daily&lt;/li&gt;
884 &lt;li&gt;Max hours daily/continuously with an activity tag&lt;/li&gt;
885
886 &lt;li&gt;Respect working in an hourly interval a max number of
887 days per week&lt;/li&gt;
888 &lt;/ul&gt;&lt;/li&gt;
889 &lt;li&gt;For an activity or a set of activities/subactivities:
890 &lt;ul&gt;
891 &lt;li&gt;A single preferred starting time&lt;/li&gt;
892 &lt;li&gt;A set of preferred starting times&lt;/li&gt;
893 &lt;li&gt;A set of preferred time slots&lt;/li&gt;
894 &lt;li&gt;Min/max days between them&lt;/li&gt;
895 &lt;li&gt;End(s) students day&lt;/li&gt;
896 &lt;li&gt;Same starting time/day/hour&lt;/li&gt;
897 &lt;li&gt;Occupy max time slots from selection (a complex and
898 flexible constraint, useful in many situations)&lt;/li&gt;
899 &lt;li&gt;Consecutive, ordered, grouped (for 2 or 3 (sub)activities)&lt;/li&gt;
900 &lt;li&gt;Not overlapping&lt;/li&gt;
901 &lt;li&gt;Max simultaneous in selected time slots&lt;/li&gt;
902 &lt;li&gt;Min gaps between a set of (sub)activities&lt;/li&gt;
903 &lt;/ul&gt;&lt;/li&gt;
904 &lt;/ul&gt;&lt;/li&gt;
905
906 &lt;li&gt;A large and flexible palette of space constraints:
907 &lt;ul&gt;
908 &lt;li&gt;Room not available periods&lt;/li&gt;
909 &lt;li&gt;For teacher(s):
910 &lt;ul&gt;
911 &lt;li&gt;Home room(s)&lt;/li&gt;
912 &lt;li&gt;Max building changes per day/week&lt;/li&gt;
913 &lt;li&gt;Min gaps between building changes&lt;/li&gt;
914 &lt;/ul&gt;
915 &lt;/li&gt;
916
917 &lt;li&gt;For students (sets):
918 &lt;ul&gt;
919 &lt;li&gt;Home room(s)&lt;/li&gt;
920 &lt;li&gt;Max building changes per day/week&lt;/li&gt;
921 &lt;li&gt;Min gaps between building changes&lt;/li&gt;
922 &lt;/ul&gt;
923 &lt;/li&gt;
924 &lt;li&gt;Preferred room(s):
925 &lt;ul&gt;
926 &lt;li&gt;For a subject&lt;/li&gt;
927 &lt;li&gt;For an activity tag&lt;/li&gt;
928 &lt;li&gt;For a subject and an activity tag&lt;/li&gt;
929 &lt;li&gt;Individually for a (sub)activity&lt;/li&gt;
930 &lt;/ul&gt;
931 &lt;/li&gt;
932
933 &lt;li&gt;For a set of activities:
934 &lt;ul&gt;
935 &lt;li&gt;Occupy a maximum number of different rooms&lt;/li&gt;
936 &lt;/ul&gt;
937 &lt;/li&gt;
938 &lt;/ul&gt;
939 &lt;/li&gt;
940 &lt;/ul&gt;&lt;/p&gt;
941
942 &lt;p&gt;I have not used it myself, as I am not involved in time table
943 planning at a school, but it seem to work fine when I test it. If you
944 need to set up your schools time table, and is tired of doing it
945 manually, check it out.
946
947 A quick summary on how to use it can be found in
948 &lt;a href=&quot;http://marvelsoft.co.in/wp/2012/03/generate-timetable-for-state-cbse-icse-igcse-schools-free/&quot;&gt;a
949 blog post from MarvelSoft&lt;/a&gt;. If you find FET useful, please provide
950 a recipe for the Debian Edu project in the
951 &lt;a href=&quot;http://wiki.debian.org/DebianEdu#Howtos&quot;&gt;Debian Edu HowTo
952 section&lt;/a&gt;.&lt;/p&gt;
953 </description>
954 </item>
955
956 <item>
957 <title>Can Zimbra be told to send autoreplies to the From: address?</title>
958 <link>http://people.skolelinux.org/pere/blog/Can_Zimbra_be_told_to_send_autoreplies_to_the_From__address_.html</link>
959 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Can_Zimbra_be_told_to_send_autoreplies_to_the_From__address_.html</guid>
960 <pubDate>Tue, 3 Jul 2012 23:30:00 +0200</pubDate>
961 <description>&lt;p&gt;In the NUUG &lt;a href=&quot;http://www.fiksgatami.no/&quot;&gt;FiksGataMi&lt;/a&gt;
962 project (Norwegian version of
963 &lt;a href=&quot;http://www.fixmystreet.com/&quot;&gt;FixMyStreet&lt;/a&gt; from
964 &lt;a href=&quot;http://www.mysociety.org/&quot;&gt;mySociety&lt;/a&gt;), we have discovered
965 a problem with the municipalities using
966 &lt;a href=&quot;http://www.zimbra.com/&quot;&gt;Zimbra&lt;/a&gt;. When FiksGataMi send a
967 problem report to the government, the email From: address is set to
968 the address of the person reporting the problem, while envelope sender
969 is set to the FiksGataMi contact address. The intention is to make
970 sure the municipality send any replies to the person reporting the
971 problem, while any email delivery problems are sent to us in NUUG.
972 This work well in most cases, but not for Karmøy municipality using
973 Zimbra. Karmøy is using the vacation message function in Zimbra to
974 send an automatic reply to report that the message has been received,
975 and this message is sent to the envelope sender and not the address in
976 the From: header.&lt;/p&gt;
977
978 &lt;p&gt;This causes the automatic message from Karmøy to go to NUUGs
979 request-tracker instance instead of to the person reporting the
980 problem. We can not really change the envelope sender address, as
981 this would make it impossible for us to discover when there are
982 problems with the MTAs receiving problem reports. We have been in
983 contact with the people at Karmøy municipality, and they are willing
984 to adjust Zimbra if something can be changed there to get a better
985 behaviour.&lt;/p&gt;
986
987 &lt;p&gt;The default behaviour of Zimbra is as far as I can tell according
988 to the specification in RFC 3834, which recommend that vacation
989 messages are sent to the envelope sender and not to the From: address.
990 But I wonder if it is possible to adjust or configure Zimbra to behave
991 differently. Anyone know? Please let us know at
992 &lt;a href=&quot;http://lists.nuug.no/mailman/listinfo/fiksgatami&quot;&gt;fiksgatami
993 (at) nuug.no&lt;/a&gt;.&lt;/p&gt;
994 </description>
995 </item>
996
997 <item>
998 <title>Debian Edu interview: José Luis Redrejo Rodríguez</title>
999 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Jos__Luis_Redrejo_Rodr_guez.html</link>
1000 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Jos__Luis_Redrejo_Rodr_guez.html</guid>
1001 <pubDate>Tue, 26 Jun 2012 08:30:00 +0200</pubDate>
1002 <description>&lt;p&gt;I&#39;ve been too busy at home, but finally I found time to wrap up
1003 another interview with the people behind
1004 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and Skolelinux&lt;/a&gt;.
1005 This time we get to know José Luis Redrejo Rodríguez, one of our great
1006 helpers from Spain. His effort was the reason we added support for
1007 several desktop types (KDE, Gnome and most recently LXDE) in Debian
1008 Edu, and have all of these available in the recently published
1009 &lt;a href=&quot;http://www.debian.org/News/2012/20120311.html&quot;&gt;Debian Edu
1010 Squeeze&lt;/a&gt; version.&lt;/p&gt;
1011
1012 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
1013
1014 &lt;p&gt;I&#39;m a father, teacher and engineer who is working for the Education
1015 ministry of the Region of Extremadura (Spain) in the implementation of
1016 ICT in schools&lt;/p&gt;
1017
1018 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
1019 project?&lt;/strong&gt;&lt;/p&gt;
1020
1021 &lt;p&gt;At 2006, I verified that both, we in Extremadura and Skolelinux
1022 project, had been working in parallel for some years, doing very
1023 similar things, using very similar tools and with similar targets, so
1024 I decided it was time to join forces as much as possible.&lt;/p&gt;
1025
1026 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
1027 Edu?&lt;/strong&gt;&lt;/p&gt;
1028
1029 &lt;p&gt;A community of highly skilled experts working together, with a
1030 really open schema of collaboration and work. I really love the
1031 concepts of Do-ocracy and Merit-ocracy and the way these concepts are
1032 been used everyday inside Debian Edu.&lt;/p&gt;
1033
1034 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
1035 Edu?&lt;/strong&gt;&lt;/p&gt;
1036
1037 &lt;p&gt;Sometimes the differences in the implementations, laws or
1038 economical and technical resources in the different countries don&#39;t
1039 allow us to agree in the same solution for all of us, and several
1040 approaches are needed, what is a waste of effort. Also, there is a
1041 lack of more man power to be able to follow the fast evolution of the
1042 technologies in school.&lt;/p&gt;
1043
1044 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
1045
1046 &lt;p&gt;Debian, of course, and due to my kind of job I am most of my time
1047 between Iceweasel, &lt;a href=&quot;http://www.geany.org/&quot;&gt;Geany&lt;/a&gt; and
1048 &lt;a href=&quot;http://www.ohloh.net/p/gnome-terminator&quot;&gt;Terminator&lt;/a&gt;.&lt;/p&gt;
1049
1050 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
1051 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
1052
1053 &lt;p&gt;I think there is not a single strategy because there are very
1054 different scenarios: schools with mixed proprietary and free
1055 environments, schools using only workstations, other schools using
1056 laptops, netbooks, tablets, interactive white-boards, etc.&lt;/p&gt;
1057
1058 &lt;p&gt;Also the range of ages of the students is very broad and you can
1059 not use the same solutions for primary schools and secondary or even
1060 universities. So different strategies are needed.&lt;/p&gt;
1061
1062 &lt;p&gt;But, looking at these differences, and looking back to the things
1063 we&#39;ve done and implemented, and the places were we have spent most of
1064 our forces, I think we should focus as much as possible in free
1065 multi-platform environments, using only standards tools, and moving
1066 more and more to Internet or network solutions that could be deployed
1067 using wireless. I think we&#39;ll see more and more personal devices in
1068 the schools, devices the students and teachers will take home with
1069 them, so the solutions must be able to be taken at home and continue
1070 working there.&lt;/p&gt;
1071 </description>
1072 </item>
1073
1074 <item>
1075 <title>Song book for Computer Scientists</title>
1076 <link>http://people.skolelinux.org/pere/blog/Song_book_for_Computer_Scientists.html</link>
1077 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Song_book_for_Computer_Scientists.html</guid>
1078 <pubDate>Sun, 24 Jun 2012 13:30:00 +0200</pubDate>
1079 <description>&lt;p&gt;Many years ago, while studying Computer Science at the
1080 &lt;a href=&quot;http://www.uit.no/&quot;&gt;University of Tromsø&lt;/a&gt;, I started
1081 collecting computer related songs for use at parties. The original
1082 version was written in LaTeX, but a few years ago I got help from
1083 Håkon W. Lie, one of the inventors of W3C CSS, to convert it to HTML
1084 while keeping the ability to create a nice book in PDF format. I have
1085 not had time to maintain the book for a while now, and guess I should
1086 put it up on some public version control repository where others can
1087 help me extend and update the book. If anyone is volunteering to help
1088 me with this, send me an email. Also let me know if there are songs
1089 missing in my book.&lt;/p&gt;
1090
1091 &lt;p&gt;I have not mentioned the book on my blog so far, and it occured to
1092 me today that I really should let all my readers share the joys of
1093 singing out load about programming, computers and computer networks.
1094 Especially now that &lt;a href=&quot;http://debconf12.debconf.org/&quot;&gt;Debconf
1095 12&lt;/a&gt; is about to start (and I am not going). Want to sing? Check
1096 out &lt;a href=&quot;http://www.hungry.com/~pere/cs-songbook/&quot;&gt;Petter&#39;s
1097 Computer Science Songbook&lt;/a&gt;.
1098 </description>
1099 </item>
1100
1101 <item>
1102 <title>Debian Edu - some ideas for the future versions</title>
1103 <link>http://people.skolelinux.org/pere/blog/Debian_Edu___some_ideas_for_the_future_versions.html</link>
1104 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu___some_ideas_for_the_future_versions.html</guid>
1105 <pubDate>Mon, 11 Jun 2012 14:30:00 +0200</pubDate>
1106 <description>&lt;p&gt;During my work on
1107 &lt;a href=&quot;http://www.debian.org/News/2012/20120311.nb.html&quot;&gt;Debian Edu
1108 based on Squeeze&lt;/a&gt;, I came across some issues that should be
1109 addressed in the Wheezy release. I finally found time to wrap up my
1110 notes and provide quick summary of what I found, with a bit
1111 explanation.&lt;/p&gt;
1112
1113 &lt;p&gt;&lt;ul&gt;
1114
1115 &lt;li&gt;We need to rewrite our package installation framework, as tasksel
1116 changed from using tasksel tasks to using meta packages (aka packages
1117 with dependencies like our education-* packages), and our installation
1118 system depend on tasksel tasks in
1119 /usr/share/tasksel/debian-edu-tasks.desc for package
1120 installation.&lt;/li&gt;
1121
1122 &lt;li&gt;Enable Kerberos login for more services. Now with the Kerberos
1123 foundation in place, we should use it to get single sign on with more
1124 services, and avoiding unneeded password / login questions. We should
1125 at least try to enable it for these services:
1126 &lt;ul&gt;
1127
1128 &lt;li&gt;CUPS for admins to add/configure printers and users when using
1129 quotas.&lt;/li&gt;
1130 &lt;li&gt;Nagios for admins checking the system status.&lt;/li&gt;
1131 &lt;li&gt;GOsa for admins updating LDAP and users changing their passwords.&lt;/li&gt;
1132 &lt;li&gt;LDAP for admins updating LDAP.&lt;/li&gt;
1133 &lt;li&gt;Squid for users when exam mode / filtering is active.&lt;/li&gt;
1134 &lt;li&gt;ssh for admins and users to save a password prompt.&lt;/li&gt;
1135
1136 &lt;/ul&gt;&lt;/li&gt;
1137
1138 &lt;li&gt;When we move GOsa to use Kerberos instead of LDAP bind to
1139 authenticate users, we should try to block or at least limit access to
1140 use LDAP bind for authentication, to ensure Kerberos is used when it
1141 is intended, and nothing fall back to using the less safe LDAP bind&lt;/li&gt;
1142
1143 &lt;li&gt;Merge debian-edu-config and debian-edu-install. The split made
1144 sense when d-e-install did a lot more, but these days it is just an
1145 inconvenience when we update the debconf preseeding values.&lt;/li&gt;
1146
1147 &lt;li&gt;Fix partman-auto to allow us to abort the installation before
1148 touching the disk if the disk is too small. This is
1149 &lt;a href=&quot;http://bugs.debian.org/653305&quot;&gt;BTS report #653305&lt;/a&gt; and the
1150 d-i developers are fine with the patch and someone just need to apply
1151 it and upload. After this is done we need to adjust
1152 debian-edu-install to use this new hook.&lt;/li&gt;
1153
1154 &lt;li&gt;Adjust to new LTSP framework (boot time config instead of install
1155 time config). LTSP changed its design, and our hooks to install
1156 packages and update the configuration is most likely not going to work
1157 in Wheezy.
1158
1159 &lt;li&gt;Consider switching to NBD instead of NFS for LTSP root, to allow
1160 the Kernel to cache files in its normal file cache, possibly speeding
1161 up KDE login on slow networks.&lt;/li&gt;
1162
1163 &lt;li&gt;Make it possible to create expired user passwords that need to
1164 change on first login. This is useful when handing out password on
1165 paper, to make sure only the user know the password. This require
1166 fixes to the PAM handling of kdm and gdm.&lt;/li&gt;
1167
1168 &lt;li&gt;Make GUI for adding new machines automatically from sitesummary.
1169 The current command line script is not very friendly to people most
1170 familiar with GUIs. This should probably be integrated into GOsa to
1171 have it available where the admin will be looking for it..&lt;/li&gt;
1172
1173 &lt;li&gt;We should find way for Nagios to check that the DHCP service
1174 actually is working (as in handling out IP addresses). None of the
1175 Nagios checks I have found so far have been working for me.&lt;/li&gt;
1176
1177 &lt;li&gt;We should switch from libpam-nss-ldapd to sssd for all profiles
1178 using LDAP, and not only on for roaming workstations, to have less
1179 packages to configure and consistent setup across all profiles.&lt;/li&gt;
1180
1181 &lt;li&gt;We should configure Kerberos to update LDAP and Samba password
1182 when changing password using the Kerberos protocol. The hook was
1183 requested in &lt;a href=&quot;http://bugs.debian.org/588968&quot;&gt;BTS report
1184 #588968&lt;/a&gt; and is now available in Wheezy. We might need to write a
1185 MIT Kerberos plugin in C to get this.&lt;/li&gt;
1186
1187 &lt;li&gt;We should clean up the set of applications installed by default.
1188 &lt;ul&gt;
1189
1190 &lt;li&gt;reduce the number of chemistry visualisers&lt;/li&gt;
1191 &lt;li&gt;consider dropping xpaint&lt;/li&gt;
1192 &lt;li&gt;and probably more?&lt;/li&gt;
1193 &lt;/ul&gt;&lt;/li&gt;
1194
1195 &lt;li&gt;Some hardware need external firmware to work properly. This is
1196 mostly the case for WiFi network cards, but there are some other
1197 examples too. For popular laptops to work out of the box, such
1198 firmware need to be installed from non-free, and we should provide
1199 some GUI to do this. Ubuntu already have this implemented, and we
1200 could consider using their packages. At the moment we have some
1201 command line script to do this (one for the running system, another
1202 for the LTSP chroot).&lt;/li&gt;
1203
1204
1205 &lt;li&gt;In Squeeze, we provide KDE, Gnome and LXDE as desktop options. We
1206 should extend the list to Xfce and Sugar, and preferably find a way to
1207 install several and allow the admin or the user to select which one to
1208 use.&lt;/li&gt;
1209
1210 &lt;li&gt;The golearn tool from the goplay package make it easy to check out
1211 interesting educational packages. We should work on the package
1212 tagging in Debian to ensure it represent all the useful educational
1213 packages, and extend the tool to allow it to use packagekit to install
1214 new applications with a simple mouse click.&lt;/li&gt;
1215
1216 &lt;li&gt;The Squeeze version got half a exam solution already in place,
1217 with the introduction of iptable based network blocking, but for it to
1218 be a complete exam solution the Squid proxy need to enable
1219 filtering/blocking as well when the exam mode is enabled. We should
1220 implement a way to easily enable this for the schools that want it,
1221 instead of the &quot;it is documented&quot; method of today.&lt;/li&gt;
1222
1223 &lt;li&gt;A feature used in several schools is the ability for a teacher to
1224 &quot;take over&quot; the desktop of individual or all computers in the room.
1225 There are at least three implementations,
1226 &lt;a href=&quot;italc.sourceforge.net/&quot;&gt;italc&lt;/a&gt;,
1227 &lt;a href=&quot;http://www.itais.net/help/en/&quot;&gt;controlaula&lt;/a&gt; og
1228 &lt;a href=&quot;http://www.epoptes.org/&quot;&gt;epoptes&lt;/a&gt; and we should pick one of
1229 them and make it trivial to set it up in a school. The challenges is
1230 how to distribute crypto keys and how to group computers in one room
1231 and how to set up which machine/user can control the machines in a
1232 given room.&lt;/li&gt;
1233
1234 &lt;li&gt;Tablets and surf boards are getting more and more popular, and we
1235 should look into providing a good solution for integrating these into
1236 the Debian Edu network. Not quite sure how. Perhaps we should
1237 provide a installation profile with better touch screen support for
1238 them, or add some sync services to allow them to exchange
1239 configuration and data with the central server. This should be
1240 investigated.&lt;/li&gt;
1241
1242 &lt;/ul&gt;&lt;/p&gt;
1243
1244 &lt;p&gt;I guess we will discover more as we continue to work on the Wheezy
1245 version.&lt;/p&gt;
1246 </description>
1247 </item>
1248
1249 <item>
1250 <title>TV with face recognition, for improved viewer experience</title>
1251 <link>http://people.skolelinux.org/pere/blog/TV_with_face_recognition__for_improved_viewer_experience.html</link>
1252 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/TV_with_face_recognition__for_improved_viewer_experience.html</guid>
1253 <pubDate>Sat, 9 Jun 2012 22:00:00 +0200</pubDate>
1254 <description>&lt;p&gt;Slashdot got a story about Intel planning a
1255 &lt;a href=&quot;http://entertainment.slashdot.org/story/12/06/09/0012247/intel-to-launch-tv-service-with-facial-recognition-by-end-of-the-year&quot;&gt;TV
1256 with face recognition&lt;/a&gt; to recognise the viewer, and it occurred to
1257 me that it would be more interesting to turn it around, and do face
1258 recognition on the TV image itself. It could let the viewer know who
1259 is present on the screen, and perhaps look up their credibility,
1260 company affiliation, previous appearances etc for the viewer to better
1261 evaluate what is being said and done. That would be a feature I would
1262 be willing to pay for.&lt;/p&gt;
1263
1264 &lt;p&gt;I would not be willing to pay for a TV that point a camera on my
1265 household, like the big brother feature apparently proposed by Intel.
1266 It is the telescreen idea fetched straight out of the book
1267 &lt;a href=&quot;http://gutenberg.net.au/ebooks01/0100021.txt&quot;&gt;1984 by George
1268 Orwell&lt;/a&gt;.&lt;/p&gt;
1269 </description>
1270 </item>
1271
1272 <item>
1273 <title>Web service to look up HP and Dell computer hardware support status</title>
1274 <link>http://people.skolelinux.org/pere/blog/Web_service_to_look_up_HP_and_Dell_computer_hardware_support_status.html</link>
1275 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Web_service_to_look_up_HP_and_Dell_computer_hardware_support_status.html</guid>
1276 <pubDate>Wed, 6 Jun 2012 23:15:00 +0200</pubDate>
1277 <description>&lt;p&gt;A few days ago
1278 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/SOAP_based_webservice_from_Dell_to_check_server_support_status.html&quot;&gt;I
1279 reported how to get&lt;/a&gt; the support status out of Dell using an
1280 unofficial and undocumented SOAP API, which I since have found out was
1281 &lt;a href=&quot;http://lists.us.dell.com/pipermail/linux-poweredge/2012-February/045959.html&quot;&gt;discovered
1282 by Daniel De Marco in february&lt;/a&gt;. Combined with my web scraping
1283 code for HP, Dell and IBM
1284 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html&quot;&gt;from
1285 2009&lt;/a&gt;, I got inspired and wrote
1286 &lt;a href=&quot;https://views.scraperwiki.com/run/computer-hardware-support-status/&quot;&gt;a
1287 web service&lt;/a&gt; based on Scraperwiki to make it easy to look up the
1288 support status and get a machine readable result back.&lt;/p&gt;
1289
1290 &lt;p&gt;This is what it look like at the moment when asking for the JSON
1291 output:
1292
1293 &lt;blockquote&gt;&lt;pre&gt;
1294 % GET &lt;a href=&quot;https://views.scraperwiki.com/run/computer-hardware-support-status/?format=json&amp;vendor=Dell&amp;servicetag=2v1xwn1&quot;&gt;https://views.scraperwiki.com/run/computer-hardware-support-status/?format=json&amp;vendor=Dell&amp;servicetag=2v1xwn1&lt;/a&gt;
1295 supportstatus({&quot;servicetag&quot;: &quot;2v1xwn1&quot;, &quot;warrantyend&quot;: &quot;2013-11-24&quot;, &quot;shipped&quot;: &quot;2010-11-24&quot;, &quot;scrapestamputc&quot;: &quot;2012-06-06T20:26:56.965847&quot;, &quot;scrapedurl&quot;: &quot;http://143.166.84.118/services/assetservice.asmx?WSDL&quot;, &quot;vendor&quot;: &quot;Dell&quot;, &quot;productid&quot;: &quot;&quot;})
1296 %
1297 &lt;/pre&gt;&lt;/blockquote&gt;
1298
1299 &lt;p&gt;It currently support Dell and HP, and I am hoping for help to add
1300 support for other vendors. The python source is available on
1301 Scraperwiki and I welcome help with adding more features.&lt;/p&gt;
1302 </description>
1303 </item>
1304
1305 <item>
1306 <title>Debian Edu interview: Mike Gabriel</title>
1307 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Mike_Gabriel.html</link>
1308 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Mike_Gabriel.html</guid>
1309 <pubDate>Sat, 2 Jun 2012 15:00:00 +0200</pubDate>
1310 <description>&lt;p&gt;Back in 2010, Mike Gabriel showed up on the
1311 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and Skolelinux&lt;/a&gt;
1312 mailing list. He quickly proved to be a valuable developer, and
1313 thanks to his tireless effort we now have Kerberos integrated into the
1314 &lt;a href=&quot;http://www.debian.org/News/2012/20120311.html&quot;&gt;Debian Edu
1315 Squeeze&lt;/a&gt; version.&lt;/p&gt;
1316
1317 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
1318
1319 &lt;p&gt;My name is Mike Gabriel, I am 38 years old and live near Kiel,
1320 Schleswig-Holstein, Germany. I live together with a wonderful partner
1321 (Angela Fuß) and two own children and two bonus children (contributed
1322 by Angela).&lt;/p&gt;
1323
1324 &lt;p&gt;During the day I am part-time employed as a system administrator
1325 and part-time working as an IT consultant. The consultancy work
1326 touches free software topics wherever and whenever possible. During
1327 the nights I am a free software developer. In the gaps I also train in
1328 becoming an osteopath.&lt;/p&gt;
1329
1330 &lt;p&gt;Starting in 2010 we (Andreas Buchholz, Angela Fuß, Mike Gabriel)
1331 have set up a free software project in the area of Kiel that aims at
1332 introducing free software into schools. The project&#39;s name is
1333 &quot;IT-Zukunft Schule&quot; (IT future for schools). The project links IT
1334 skills with communication skills.&lt;/p&gt;
1335
1336 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
1337 project?&lt;/strong&gt;&lt;/p&gt;
1338
1339 &lt;p&gt;While preparing our own customised Linux distribution for
1340 &quot;IT-Zukunft Schule&quot; we were repeatedly asked if we really wanted to
1341 reinvent the wheel. What schools really need is already available,
1342 people said. From this impulse we started evaluating other Linux
1343 distributions that target being used for school networks.&lt;/p&gt;
1344
1345 &lt;p&gt;At the end we short-listed two approaches and compared them: a
1346 commercial Linux distribution developed by a company in Bremen,
1347 Germany, and Skolelinux / Debian Edu. Between 12/2010 and 03/2011 we
1348 went to several events and met people being responsible for marketing
1349 and development of either of the distributions. Skolelinux / Debian
1350 Edu was by far much more convincing compared to the other product that
1351 got short-listed beforehand--across the full spectrum. What was most
1352 attractive for me personally: the perspective of collaboration within
1353 the developmental branch of the Debian Edu project itself.&lt;/p&gt;
1354
1355 &lt;p&gt;In parallel with this, we talked to many local and not-so-local
1356 people. People teaching at schools, headmasters, politicians, data
1357 protection experts, other IT professionals.&lt;/p&gt;
1358
1359 &lt;p&gt;We came to two conclusions:&lt;/p&gt;
1360
1361 &lt;p&gt;First, a technical conclusion: What schools need is available in
1362 bits and pieces here and there, and none of the solutions really fit
1363 by 100%. Any school we have seen has a very individual IT setup
1364 whereas most of each school&#39;s requirements could mapped by a standard
1365 IT solution. The requirement to this IT solution is flexibility and
1366 customisability, so that individual adaptations here and there are
1367 possible. In terms of re-distributing and rolling out such a
1368 standardised IT system for schools (a system that is still to some
1369 degree customisable) there is still a lot of work to do here
1370 locally. Debian Edu / Skolelinux has been our choice as the starting
1371 point.&lt;/p&gt;
1372
1373 &lt;p&gt;Second, a holistic conclusion: What schools need does not exist at
1374 all (or we missed it so far). There are several technical solutions
1375 for handling IT at schools that tend to make a good impression. What
1376 has been missing completely here in Germany, though, is the enrolment
1377 of people into using IT and teaching with IT. &quot;IT-Zukunft Schule&quot;
1378 tries to provide an approach for this.&lt;/p&gt;
1379
1380 &lt;p&gt;Only some schools have some sort of a media concept which explains,
1381 defines and gives guidance on how to use IT in class. Most schools in
1382 Northern Germany do not have an IT service provider, the school&#39;s IT
1383 equipment is managed by one or (if the school is lucky) two (admin)
1384 teachers, most of the workload these admin teachers get done in there
1385 spare time.&lt;/p&gt;
1386
1387 &lt;p&gt;We were surprised that only a very few admin teachers were
1388 networked with colleagues from other schools. Basically, every school
1389 here around has its individual approach of providing IT equipment to
1390 teachers and students and the exchange of ideas has been quasi
1391 non-existent until 2010/2011.&lt;/p&gt;
1392
1393 &lt;p&gt;Quite some (non-admin) teachers try to avoid using IT technology in
1394 class as a learning medium completely. Several reasons for this
1395 avoidance do exist.&lt;/p&gt;
1396
1397 &lt;p&gt;We discovered that no-one has ever taken a closer look at this
1398 social part of IT management in schools, so far. On our quest journey
1399 for a technical IT solution for schools, we discussed this issue with
1400 several teachers, headmasters, politicians, other IT professionals and
1401 they all confirmed: a holistic approach of considering IT management
1402 at schools, an approach that includes the people in place, will be new
1403 and probably a gain for all.&lt;/p&gt;
1404
1405 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
1406 Edu?&lt;/strong&gt;&lt;/p&gt;
1407
1408 &lt;p&gt;There is a list of advantages: international context, openness to
1409 any kind of contributions, do-ocracy policy, the closeness to Debian,
1410 the different installation scenarios possible (from stand-alone
1411 workstation to complex multi-server sites), the transparency within
1412 project communication, honest communication within the group of
1413 developers, etc.&lt;/p&gt;
1414
1415 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
1416 Edu?&lt;/strong&gt;&lt;/p&gt;
1417
1418 &lt;p&gt;Every coin has two sides:&lt;/p&gt;
1419
1420 &lt;p&gt;Technically: &lt;a href=&quot;http://bugs.debian.org/311188&quot;&gt;BTS issue
1421 #311188&lt;/a&gt;, tricky upgradability of a Debian Edu main server, network
1422 client installations on top of a plain vanilla Debian installation
1423 should become possible sometime in the near future, one could think
1424 about splitting the very complex package debian-edu-config into
1425 several portions (to make it easier for new developers to
1426 contribute).&lt;/p&gt;
1427
1428 &lt;p&gt;Another issue I see is that we (as Debian Edu developers) should
1429 find out more about the network of people who do the marketing for
1430 Debian Edu / Skolelinux. There is a very active group in Germany
1431 promoting Skolelinux on the bigger Linux Days within Germany. Are
1432 there other groups like that in other countries? How can we bring
1433 these marketing people together (marketing group A with group B and
1434 all of them with the group of Debian Edu developers)? During the last
1435 meeting of the German Skolelinux group, I got the impression of people
1436 there being rather disconnected from the development department of
1437 Debian Edu / Skolelinux.&lt;/p&gt;
1438
1439 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
1440
1441 &lt;p&gt;For my daily business, I do not use commercial software at all.&lt;/p&gt;
1442
1443 &lt;p&gt;For normal stuff I use Iceweasel/Firefox, Libreoffice.org. For
1444 serious text writing I prefer LaTeX. I use gimp, inkscape, scribus for
1445 more artistic tasks. I run virtual machines in KVM and Virtualbox.&lt;/p&gt;
1446
1447 &lt;p&gt;I am one of the upstream developers of X2Go. In 2010 I started the
1448 development of a Python based X2Go Client, called PyHoca-GUI.
1449 PyHoca-GUI has brought forth a Python X2Go Client API that currently
1450 is being integrated in Ubuntu&#39;s software center.&lt;/p&gt;
1451
1452 &lt;p&gt;For communications I have my own Kolab server running using Horde
1453 as web-based groupware client. For IRC I love to use irssi, for Jabber
1454 I have several clients that I use, mostly pidgin, though. I am also
1455 the Debian maintainer of Coccinella, a Jabber-based interactive
1456 whiteboard.&lt;/p&gt;
1457
1458 &lt;p&gt;My favourite terminal emulator is KDE&#39;s Yakuake.&lt;/p&gt;
1459
1460 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
1461 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
1462
1463 &lt;p&gt;Communicate, communicate, communicate. Enrol people, enrol people,
1464 enrol people.&lt;/p&gt;
1465 </description>
1466 </item>
1467
1468 <item>
1469 <title>SOAP based webservice from Dell to check server support status</title>
1470 <link>http://people.skolelinux.org/pere/blog/SOAP_based_webservice_from_Dell_to_check_server_support_status.html</link>
1471 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/SOAP_based_webservice_from_Dell_to_check_server_support_status.html</guid>
1472 <pubDate>Fri, 1 Jun 2012 15:20:00 +0200</pubDate>
1473 <description>&lt;p&gt;A few years ago I wrote
1474 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html&quot;&gt;how
1475 to extract support status&lt;/a&gt; for your Dell and HP servers. Recently
1476 I have learned from colleges here at the
1477 &lt;a href=&quot;http://www.uio.no/&quot;&gt;University of Oslo&lt;/a&gt; that Dell have
1478 made this even easier, by providing a SOAP based web service. Given
1479 the service tag, one can now query the Dell servers and get machine
1480 readable information about the support status. This perl code
1481 demonstrate how to do it:&lt;/p&gt;
1482
1483 &lt;p&gt;&lt;pre&gt;
1484 use strict;
1485 use warnings;
1486 use SOAP::Lite;
1487 use Data::Dumper;
1488 my $GUID = &#39;11111111-1111-1111-1111-111111111111&#39;;
1489 my $App = &#39;test&#39;;
1490 my $servicetag = $ARGV[0] or die &quot;Please supply a servicetag. $!\n&quot;;
1491 my ($deal, $latest, @dates);
1492 my $s = SOAP::Lite
1493 -&gt; uri(&#39;http://support.dell.com/WebServices/&#39;)
1494 -&gt; on_action( sub { join &#39;&#39;, @_ } )
1495 -&gt; proxy(&#39;http://xserv.dell.com/services/assetservice.asmx&#39;)
1496 ;
1497 my $a = $s-&gt;GetAssetInformation(
1498 SOAP::Data-&gt;name(&#39;guid&#39;)-&gt;value($GUID)-&gt;type(&#39;&#39;),
1499 SOAP::Data-&gt;name(&#39;applicationName&#39;)-&gt;value($App)-&gt;type(&#39;&#39;),
1500 SOAP::Data-&gt;name(&#39;serviceTags&#39;)-&gt;value($servicetag)-&gt;type(&#39;&#39;),
1501 );
1502 print Dumper($a -&gt; result) ;
1503 &lt;/pre&gt;&lt;/p&gt;
1504
1505 &lt;p&gt;The output can look like this:&lt;/p&gt;
1506
1507 &lt;p&gt;&lt;pre&gt;
1508 $VAR1 = {
1509 &#39;Asset&#39; =&gt; {
1510 &#39;Entitlements&#39; =&gt; {
1511 &#39;EntitlementData&#39; =&gt; [
1512 {
1513 &#39;EntitlementType&#39; =&gt; &#39;Expired&#39;,
1514 &#39;EndDate&#39; =&gt; &#39;2009-07-29T00:00:00&#39;,
1515 &#39;Provider&#39; =&gt; &#39;&#39;,
1516 &#39;StartDate&#39; =&gt; &#39;2006-07-29T00:00:00&#39;,
1517 &#39;DaysLeft&#39; =&gt; &#39;0&#39;
1518 },
1519 {
1520 &#39;EntitlementType&#39; =&gt; &#39;Expired&#39;,
1521 &#39;EndDate&#39; =&gt; &#39;2009-07-29T00:00:00&#39;,
1522 &#39;Provider&#39; =&gt; &#39;&#39;,
1523 &#39;StartDate&#39; =&gt; &#39;2006-07-29T00:00:00&#39;,
1524 &#39;DaysLeft&#39; =&gt; &#39;0&#39;
1525 },
1526 {
1527 &#39;EntitlementType&#39; =&gt; &#39;Expired&#39;,
1528 &#39;EndDate&#39; =&gt; &#39;2007-07-29T00:00:00&#39;,
1529 &#39;Provider&#39; =&gt; &#39;&#39;,
1530 &#39;StartDate&#39; =&gt; &#39;2006-07-29T00:00:00&#39;,
1531 &#39;DaysLeft&#39; =&gt; &#39;0&#39;
1532 }
1533 ]
1534 },
1535 &#39;AssetHeaderData&#39; =&gt; {
1536 &#39;SystemModel&#39; =&gt; &#39;GX620&#39;,
1537 &#39;ServiceTag&#39; =&gt; &#39;8DSGD2J&#39;,
1538 &#39;SystemShipDate&#39; =&gt; &#39;2006-07-29T19:00:00-05:00&#39;,
1539 &#39;Buid&#39; =&gt; &#39;2323&#39;,
1540 &#39;Region&#39; =&gt; &#39;Europe&#39;,
1541 &#39;SystemID&#39; =&gt; &#39;PLX_GX620&#39;,
1542 &#39;SystemType&#39; =&gt; &#39;OptiPlex&#39;
1543 }
1544 }
1545 };
1546 &lt;/pre&gt;&lt;/p&gt;
1547
1548 &lt;p&gt;I have not been able to find any documentation from Dell about this
1549 service outside the
1550 &lt;a href=&quot;http://xserv.dell.com/services/assetservice.asmx?op=GetAssetInformation&quot;&gt;inline
1551 documentation&lt;/a&gt;, and according to
1552 &lt;a href=&quot;http://iboyd.net/index.php/2012/02/14/updated-dell-warranty-information-script/&quot;&gt;one
1553 comment&lt;/a&gt; it can have stability issues, but it is a lot better than
1554 scraping HTML pages. :)&lt;/p&gt;
1555
1556 &lt;p&gt;Wonder if HP and other server vendors have a similar service. If
1557 you know of one, drop me an email. :)&lt;/p&gt;
1558 </description>
1559 </item>
1560
1561 <item>
1562 <title>First monitor calibration using ColorHug</title>
1563 <link>http://people.skolelinux.org/pere/blog/First_monitor_calibration_using_ColorHug.html</link>
1564 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/First_monitor_calibration_using_ColorHug.html</guid>
1565 <pubDate>Thu, 31 May 2012 22:10:00 +0200</pubDate>
1566 <description>&lt;p&gt;A few days ago my color calibration gadget
1567 &lt;a href=&quot;http://www.hughski.com/index.html&quot;&gt;ColorHug&lt;/a&gt; arrived in the
1568 mail, and I&#39;ve had a few days to test it. As all my machines are
1569 running Debian Squeeze, where
1570 &lt;a href=&quot;http://packages.qa.debian.org/c/colorhug-client.html&quot;&gt;the
1571 calibration software&lt;/a&gt; is missing (it is present in Wheezy and Sid),
1572 I ran the calibration using the Fedora based live CD. This worked
1573 just fine. So far I have only done the quick calibration. It was
1574 slow enough for me, so I will leave the more extensive calibration for
1575 another day.&lt;/p&gt;
1576
1577 &lt;p&gt;After calibration, I get a
1578 &lt;a href=&quot;http://en.wikipedia.org/wiki/ICC_profile&quot;&gt;ICC color
1579 profile&lt;/a&gt; file that can be passed to programs understanding such
1580 tools. KDE do not seem to understand it out of the box, so I searched
1581 for command line tools to use to load the color profile into X.
1582 xcalib was the first one I found, and it seem to work fine for single
1583 monitor setups. But for my video player, a laptop with a flat screen
1584 attached, it was unable to load the color profile for the correct
1585 monitor. After searching a bit, I
1586 &lt;a href=&quot;http://ubuntuforums.org/showthread.php?t=1347896&quot;&gt;discovered&lt;/a&gt;
1587 that the dispwin tool from the argyll package would do what I wanted,
1588 and a simple&lt;/p&gt;
1589
1590 &lt;p&gt;&lt;pre&gt;
1591 dispwin -d 1 profile.icc
1592 &lt;/pre&gt;&lt;/p&gt;
1593
1594 &lt;p&gt;later I had the color profile loaded for the correct monitor. The
1595 result was a bit more pink than I expected. I guess I picked the
1596 wrong monitor type for the &quot;led&quot; monitor I got, but the result is good
1597 enough for now.&lt;/p&gt;
1598 </description>
1599 </item>
1600
1601 <item>
1602 <title>Debian Edu interview: Ralf Gesellensetter</title>
1603 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Ralf_Gesellensetter.html</link>
1604 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Ralf_Gesellensetter.html</guid>
1605 <pubDate>Sun, 27 May 2012 17:15:00 +0200</pubDate>
1606 <description>&lt;p&gt;In 2003, a German teacher showed up on the
1607 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and Skolelinux&lt;/a&gt;
1608 mailing list with interesting problems and reports proving he setting
1609 up Linux for a (for us at the time) lot of pupils. His name was Ralf
1610 Gesellensetter, and he has been an important tester and contributor
1611 since then, helping to make sure the
1612 &lt;a href=&quot;http://www.debian.org/News/2012/20120311.html&quot;&gt;Debian Edu
1613 Squeeze&lt;/a&gt; release became as good as it is..&lt;/p&gt;
1614
1615 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
1616
1617 &lt;p&gt;I am a teacher from Germany, and my subjects are Geography,
1618 Mathematics, and Computer Science (&quot;Informatik&quot;). During the past 12
1619 years (since 2000), I have been working for a comprehensive (and soon,
1620 also inclusive) school leading to all kind of general levels, such as
1621 O- or A-level (&quot;Abitur&quot;). For quite as long, I&#39;ve been taking care of
1622 our computer network.&lt;/p&gt;
1623
1624 &lt;p&gt;Now, in my early 40s, I enjoy the privilege of spending a lot of my
1625 spare time together with my wife, our son (3 years) and our daughter
1626 (4 months).&lt;/p&gt;
1627
1628 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
1629 project?&lt;/strong&gt;&lt;/p&gt;
1630
1631 &lt;p&gt;We had tried different Linux based school servers, when members of
1632 my local Linux User Group (LUG OWL) detected Skolelinux. I remember
1633 very well, being part of a party celebrating the Linux New Media Award
1634 (&quot;Best Newcomer Distribution&quot;, also nominated: Ubuntu) that was given
1635 to Skolelinux at Linux World Exposition in Frankfurt, 2005 (IIRC). Few
1636 months later, I had the chance to join a developer meeting in Ulsrud
1637 (Oslo) and to hand out the award to Knut Yrvin and others. For more
1638 than 7 years, Skolelinux is part of our schools infrastructure, namely
1639 our main server (tjener), one LTSP (today without thin clients), and
1640 approximately 50 work stations. Most of these have the option to boot a
1641 locally installed Skolelinux image. As a consequence, I joined quite
1642 a few events dealing with free software or Linux, and met many Debian
1643 (Edu) developers. All of them seemed quite nice and competent to me,
1644 one more reason to stick to Skolelinux.&lt;/p&gt;
1645
1646 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
1647 Edu?&lt;/strong&gt;&lt;/p&gt;
1648
1649 &lt;p&gt;Debian driven, you are given all the advantages of a community
1650 project including well maintained updates. Once, you are familiar with
1651 the network layout, you can easily roll out an entire educational
1652 computer infrastructure, from just one installation media. As only
1653 free software (FOSS) is used, that supports even elderly hardware,
1654 up-sizing your IT equipment is only limited by space (i.e. available
1655 labs). Especially if you run a LTSP thin client server, your
1656 administration costs tend towards zero.&lt;/p&gt;
1657
1658 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
1659 Edu?&lt;/strong&gt;&lt;/p&gt;
1660
1661 &lt;p&gt;While Debian&#39;s stability has loads of advantages for servers, this
1662 might be different in some cases for clients: Schools with unlimited
1663 budget might buy new hardware with components that are not yet
1664 supported by Debian stable, or wish to use more recent versions of
1665 office packages or desktop environments. These schools have the
1666 option to run Debian testing or other distributions - if they have the
1667 capacity to do so. Another issue is that Debian release cycles
1668 include a wide range of changes; therefor a high percentage of human
1669 power seems to be absorbed by just keeping the features of Skolelinux
1670 within the new setting of the version to come. During this process,
1671 the cogs of Debian Edu are getting more and more professional,
1672 i.e. harder to understand for novices.&lt;/p&gt;
1673
1674 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
1675
1676 &lt;p&gt;LibreOffice, Wikipedia, Openstreetmap, Iceweasel (Mozilla Firefox),
1677 KMail, Gimp, Inkscape - and of course the Linux Kernel (not only on
1678 PC, Laptop, Mobile, but also our SAT receiver)&lt;/p&gt;
1679
1680 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
1681 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
1682
1683 &lt;p&gt;&lt;ol&gt;
1684
1685 &lt;li&gt;Support computer science as regular subject in schools to make
1686 people really &quot;own&quot; their hardware, to make them understand the
1687 difference between proprietary software products, and free software
1688 developing.&lt;/li&gt;
1689
1690 &lt;li&gt;Make budget baskets corresponding: In Germany&#39;s public schools
1691 there are more or less fixed budgets for IT equipment (including
1692 licenses), so schools won&#39;t benefit from any savings here. This
1693 privilege is left to private schools which have consequently a large
1694 share among German Skolelinux schools.&lt;/li&gt;
1695
1696 &lt;li&gt;Get free software in the seminars where would-be teachers are
1697 trained. In many cases, teachers&#39; software customs are respected by
1698 decision makers rather than the expertise of any IT experts.&lt;/li&gt;
1699
1700 &lt;li&gt;Don&#39;t limit ourself to free software run natively. Everybody uses
1701 free software or free licenses (for instance Wikipedia), and this
1702 general concept should get expanded to free educational content to be
1703 shared world wide (school books e.g.).&lt;/li&gt;
1704
1705 &lt;li&gt;Make clear where ever you can that the market share of free (libre)
1706 office suites is much above 20 p.c. today, and that you pupils don&#39;t
1707 need to know the &quot;ribbon menu&quot; in order to get employed.&lt;/li&gt;
1708
1709 &lt;li&gt;Talk about the difference between freeware and free software.&lt;/li&gt;
1710
1711 &lt;li&gt;Spread free software, or even collections of portable free apps
1712 for USB pen drives. Endorse students to get a legal copy of
1713 Libreoffice rather than accepting them to use illegal serials. And
1714 keep sending documents in ODF formats.&lt;/li&gt;
1715
1716 &lt;/ol&gt;&lt;/p&gt;
1717 </description>
1718 </item>
1719
1720 <item>
1721 <title>The cost of ODF and OOXML</title>
1722 <link>http://people.skolelinux.org/pere/blog/The_cost_of_ODF_and_OOXML.html</link>
1723 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_cost_of_ODF_and_OOXML.html</guid>
1724 <pubDate>Sat, 26 May 2012 18:00:00 +0200</pubDate>
1725 <description>&lt;p&gt;I just come across a blog post from Glyn Moody reporting the
1726 claimed cost from Microsoft on requiring ODF to be used by the UK
1727 government. I just sent him an email to let him know that his
1728 assumption are most likely wrong. Sharing it here in case some of my
1729 blog readers have seem the same numbers float around in the UK.&lt;/p&gt;
1730
1731 &lt;p&gt;&lt;blockquote&gt; &lt;p&gt;Hi. I just noted your
1732 &lt;a href=&quot;http://blogs.computerworlduk.com/open-enterprise/2012/04/does-microsoft-office-lock-in-cost-the-uk-government-500-million/index.htm&quot;&gt;http://blogs.computerworlduk.com/open-enterprise/2012/04/does-microsoft-office-lock-in-cost-the-uk-government-500-million/index.htm&lt;/a&gt;
1733 comment:&lt;/p&gt;
1734
1735 &lt;p&gt;&lt;blockquote&gt;&quot;They&#39;re all in Danish, not unreasonably, but even
1736 with the help of Google Translate I can&#39;t find any figures about the
1737 savings of &quot;moving to a flexible two standard&quot; as claimed by the
1738 Microsoft email. But I assume it is backed up somewhere, so let&#39;s take
1739 it, and the £500 million figure for the UK, on trust.&quot;
1740 &lt;/blockquote&gt;&lt;/p&gt;
1741
1742 &lt;p&gt;I can tell you that the Danish reports are inflated. I believe it is
1743 the same reports that were used in the Norwegian debate around 2007,
1744 and Gisle Hannemyr (a well known IT commentator in Norway) had a look
1745 at the content. In short, the reason it is claimed that using ODF
1746 will be so costly, is based on the assumption that this mean every
1747 existing document need to be converted from one of the MS Office
1748 formats to ODF, transferred to the receiver, and converted back from
1749 ODF to one of the MS Office formats, and that the conversion will cost
1750 10 minutes of work time for both the sender and the receiver. In
1751 reality the sender would have a tool capable of saving to ODF, and the
1752 receiver would have a tool capable of reading it, and the time spent
1753 would at most be a few seconds for saving and loading, not 20 minutes
1754 of wasted effort.&lt;/p&gt;
1755
1756 &lt;p&gt;Microsoft claimed all these costs were saved by allowing people to
1757 transfer the original files from MS Office instead of spending 10
1758 minutes converting to ODF. :)&lt;/p&gt;
1759
1760 &lt;p&gt;See
1761 &lt;a href=&quot;http://hannemyr.com/no/ms12_vl02.php&quot;&gt;http://hannemyr.com/no/ms12_vl02.php&lt;/a&gt;
1762 and
1763 &lt;a href=&quot;http://hannemyr.com/no/ms12.php&quot;&gt;http://hannemyr.com/no/ms12.php&lt;/a&gt;
1764 for background information. Norwegian only, sorry. :)&lt;/p&gt;
1765 &lt;/blockquote&gt;&lt;/p&gt;
1766 </description>
1767 </item>
1768
1769 <item>
1770 <title>ColorHug - USB and free software based screen color calibration</title>
1771 <link>http://people.skolelinux.org/pere/blog/ColorHug___USB_and_free_software_based_screen_color_calibration.html</link>
1772 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/ColorHug___USB_and_free_software_based_screen_color_calibration.html</guid>
1773 <pubDate>Fri, 18 May 2012 10:00:00 +0200</pubDate>
1774 <description>&lt;p&gt;In january, I
1775 &lt;a href=&quot;http://blog.cihar.com/archives/2012/01/17/colorhug-has-arrived/&quot;&gt;discovered
1776 the ColorHug&lt;/a&gt;, a USB dongle from
1777 &lt;a href=&quot;http://www.hughski.com/index.html&quot;&gt;Hughski&lt;/a&gt; to calibrate
1778 the color on a computer screen. The software required is
1779 &lt;a href=&quot;http://packages.qa.debian.org/c/colorhug-client.html&quot;&gt;included
1780 in Debian&lt;/a&gt;, and I decided back then to preorder from the next
1781 batch. Yesterday I finally heard back from them, and got the
1782 opportunity to order. Today I ordered mine, and eagerly await the
1783 delivery. I hope it arrive next week, as I got a confirmation that it
1784 should go in the mail on monday. :)&lt;/p&gt;
1785
1786 &lt;p&gt;If you want to ensure the colors on the screen match the intended
1787 colors, I suggest you check out this cheap tool with free software
1788 drivers. :)&lt;/p&gt;
1789 </description>
1790 </item>
1791
1792 <item>
1793 <title>Debian Edu interview: Jürgen Leibner</title>
1794 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__J_rgen_Leibner.html</link>
1795 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__J_rgen_Leibner.html</guid>
1796 <pubDate>Sun, 13 May 2012 20:30:00 +0200</pubDate>
1797 <description>&lt;p&gt;It has been a few busy weeks for me, but I am finally back to
1798 publish another interview with the people behind
1799 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and Skolelinux&lt;/a&gt;.
1800 This time it is one of our German developers, who have helped out over the
1801 years to make sure both a lot of major but also a lot of the minor
1802 details get right before release.
1803
1804 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
1805
1806 &lt;p&gt;My name is Jürgen Leibner, I&#39;m 49 years old and living in
1807 Bielefeld, a town in northern Germany. I worked nearly 20 years as
1808 certified engineer in the department for plant design and layout of an
1809 international company for machinery and equipment. Since 2011 I&#39;m a
1810 certified technical writer (tekom e.V.) and doing technical
1811 documentations for a steam turbine manufacturer. From April this year
1812 I will manage the department of technical documentation at a
1813 manufacturer of automation and assembly line engineering.&lt;/p&gt;
1814
1815 &lt;p&gt;My first contact with linux was around 1993. Since that time I used
1816 it at work and at home repeatedly but not exclusively as I do now at
1817 home since 2006.&lt;/p&gt;
1818
1819 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
1820 project?&lt;/strong&gt;&lt;/p&gt;
1821
1822 &lt;p&gt;Once a day in the early year of 2001 when I wanted to fetch my
1823 daughter from primary school, there was a teacher sitting in the
1824 middle of 20 old computers trying to boot them and he failed. I helped
1825 him to get them booting. That was seen by the school director and she
1826 asked me if I would like to manage that the school gets all that old
1827 computers in use. I answered: &quot;Yes&quot;.&lt;/p&gt;
1828
1829 &lt;p&gt;Some weeks later every of the 10 classrooms had one computer
1830 running Windows98. I began to collect old computers and equipment as
1831 gifts and installed the first computer room with a peer-to-peer
1832 network. I did my work at school without being payed in my spare time
1833 and with a lot of fun. About one year later the school was connected
1834 to Internet and a local area network was installed in the school
1835 building. That was the time to have a server and I knew it must be a
1836 Linux server to be able to fulfil all the wishes of the teachers and
1837 being able to do this in a transparent and economic way, without extra
1838 costs for things like licence and software. So I searched for a
1839 school server system running under Linux and I found a couple of
1840 people nearby who founded &#39;skolelinux.de&#39;. It was the Skolelinux
1841 prerelease 32 I first tried out for being used at the school. I
1842 managed the IT of that school until the municipal authority took over
1843 the IT management and centralised the services for all schools in
1844 Bielefeld in December of 2006.&lt;/p&gt;
1845
1846 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
1847 Edu?&lt;/strong&gt;&lt;/p&gt;
1848
1849 &lt;p&gt;When I&#39;m looking back to the beginning, there were other advantages
1850 for me as today.&lt;/p&gt;
1851
1852 &lt;p&gt;In the past there were advantages like:&lt;/p&gt;
1853
1854 &lt;p&gt;&lt;ul&gt;
1855
1856 &lt;li&gt;I don&#39;t need to buy it so it generates no costs to the school as
1857 they had little money to spent for computers and software.&lt;/li&gt;
1858
1859 &lt;li&gt;It has a licence which grands all rights to use it without
1860 cost.&lt;/li&gt;
1861
1862 &lt;li&gt;It was more able to fit all requirements of a server system for
1863 schools than a Microsoft server system, even if there are only Windows
1864 clients because of it&#39;s preconfigured overall concept of being a
1865 infrastructure solution and community for schools, not only a
1866 server&lt;/li&gt;
1867
1868 &lt;li&gt;I was able to configure the server to the needs of the
1869 school.&lt;/li&gt;
1870
1871 &lt;/ul&gt;&lt;/p&gt;
1872
1873 &lt;p&gt;Today some of the advantages has been lost, changed or new ones
1874 came up in this way:&lt;/p&gt;
1875
1876 &lt;p&gt;&lt;ul&gt;
1877
1878 &lt;li&gt;Most schools here do have money to buy hardware and software
1879 now.&lt;/li&gt;
1880
1881 &lt;li&gt;They are today mostly managed from central IT departments which
1882 have own concepts which often do not fit to Debian Edu concepts
1883 because they are to close to Microsoft ideology.&lt;/li&gt;
1884
1885 &lt;li&gt;With the Squeeze version of Debian Edu which now uses GOsa² for
1886 management I feel more able to manage the daily tasks than with the
1887 interfaces used in the past.&lt;/li&gt;
1888
1889 &lt;li&gt;It is more modular than in the past and fits even better to the
1890 different needs.&lt;/li&gt;
1891
1892 &lt;li&gt;The documentation is usable and gets better every day.&lt;/li&gt;
1893
1894 &lt;li&gt;More people than ever before are using Debian Edu all over the
1895 world and so the community, which is an very important part I think,
1896 is sharing knowledge and minds.&lt;/li&gt;
1897
1898 &lt;li&gt;Most, maybe all, of the technical requirements for schools are
1899 solved today by Debian Edu. &lt;/li&gt;
1900
1901 &lt;/ul&gt;&lt;/p&gt;
1902
1903 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
1904 Edu?&lt;/strong&gt;&lt;/p&gt;
1905
1906 &lt;p&gt;&lt;ul&gt;
1907
1908 &lt;li&gt;There are too few IT companies able to integrate Debian Edu into
1909 their product portfolio for serving schools with concepts or even
1910 whole municipality areas.&lt;/li&gt;
1911
1912 &lt;li&gt;Debian Edu has beside other free and open software projects not
1913 enough lobbyists which promote free and open software to
1914 politicians.&lt;/li&gt;
1915
1916 &lt;li&gt;Technically there are no disadvantages I&#39;m aware of.&lt;/li&gt;
1917
1918 &lt;/ul&gt;&lt;/p&gt;
1919
1920 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
1921
1922 &lt;p&gt;I use Debian stable on my home server and on my little desktop
1923 computer. On my laptop I use Debian testing/sid. The applications I
1924 use on my laptop and my desktop are Open/Libre-office, Iceweasel,
1925 KMail, DigiKam, Amarok, Dolphin, okular and all the other programs I
1926 need from the KDE environment. On console I use newsbeuter, mutt,
1927 screen, irssi and all the other famous and useful tools.&lt;/p&gt;
1928
1929 &lt;p&gt;My home server provides mail services with exim, dovecot, roundcube
1930 and mutt over ssh on the console, file services with samba, NFS,
1931 rsync, web services with apache, moinmoin-wiki, multimedia services
1932 with gallery2 and mediatomb and database services with MySQL for me
1933 and the whole family. I probably forgot something.&lt;/p&gt;
1934
1935 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
1936 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
1937
1938 &lt;p&gt;I believe, we should provide concepts for IT companies to integrate
1939 Debian Edu into their product portfolio with use cases for different
1940 countries and areas all over the world.&lt;/p&gt;
1941 </description>
1942 </item>
1943
1944 <item>
1945 <title>Cutting it short - and picking the right tool for the job</title>
1946 <link>http://people.skolelinux.org/pere/blog/Cutting_it_short___and_picking_the_right_tool_for_the_job.html</link>
1947 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Cutting_it_short___and_picking_the_right_tool_for_the_job.html</guid>
1948 <pubDate>Mon, 30 Apr 2012 23:30:00 +0200</pubDate>
1949 <description>&lt;p&gt;&lt;!-- IMG_5869.JPG --&gt;
1950 &lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/panasonic-er-1611.jpeg&quot;&gt;&lt;/p&gt;
1951
1952 &lt;p&gt;I normally cut my hair short, and my tool of choice has been a
1953 common hair/beard cutter, bought in a electrical shop here in Norway.
1954 But the last ones have not really been up to the task. My last
1955 cutter, some model from Braun, could only cut a few of my hairs at the
1956 time, and cutting my head took forever. And the one before that did
1957 not work very well either. We have looked for something better for a
1958 while, but it was not until I ended up visiting a hairdresser that we
1959 discovered that there are indeed better tools available. But these
1960 are not marketed and sold to &quot;regular consumers&quot;. The hair saloons
1961 can get them through their suppliers, but their suppliers only sell
1962 companies. The models they sell, are very different from the ones
1963 available from Elkjøp and Lefdal. The main difference is their
1964 efficiency. It would cut my hair in 5 minutes, instead of the 30-40
1965 minutes required by my impotent Braun. The hairdresser I visited had
1966 a Panasonic ER160, which unfortunately is no longer available from the
1967 producer. But I found it had a successor, the Panasonic ER1611.&lt;/p&gt;
1968
1969 &lt;p&gt;The next step was to find somewhere to buy it. This was not
1970 straight forward. The list of suppliers I got from the hairdresser
1971 did not want to sell anything to me. But searching for the model on
1972 the web we found a supplier in Norway willing to sell it to us for
1973 around NOK 4000,-. This was a bit much. We kept searching and
1974 finally found a Danish supplier
1975 &lt;a href=&quot;http://nicehair.dk/panasonic-er-1611-professionel-hartrimmer.html&quot;&gt;selling
1976 it for around NOK 1800,-&lt;/a&gt;. We ordered one, and it arrived a few
1977 days ago.&lt;/p&gt;
1978
1979 &lt;p&gt;The instructions said it had to charge for 8 hours when we started
1980 to use it, so we left it charging over night. Normally it will only
1981 need one hour to charge. The following evening we successfully tested
1982 it, and I can warmly recommend it to anyone looking for a real hair
1983 cutter. The ones we have used until now have been hair cutter
1984 toys.&lt;/p&gt;
1985 </description>
1986 </item>
1987
1988 <item>
1989 <title>HTC One X - Your video? What do you mean?</title>
1990 <link>http://people.skolelinux.org/pere/blog/HTC_One_X___Your_video___What_do_you_mean_.html</link>
1991 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/HTC_One_X___Your_video___What_do_you_mean_.html</guid>
1992 <pubDate>Thu, 26 Apr 2012 13:20:00 +0200</pubDate>
1993 <description>&lt;p&gt;In &lt;a href=&quot;http://www.idg.no/computerworld/article243690.ece&quot;&gt;an
1994 article today&lt;/a&gt; published by Computerworld Norway, the photographer
1995 &lt;a href=&quot;http://www.urke.com/eirik/&quot;&gt;Eirik Helland Urke&lt;/a&gt; reports
1996 that the video editor application included with
1997 &lt;a href=&quot;http://www.htc.com/www/smartphones/htc-one-x/#specs&quot;&gt;HTC One
1998 X&lt;/a&gt; have some quite surprising terms of use. The article is mostly
1999 based on the twitter message from mister Urke, stating:
2000
2001 &lt;p&gt;&lt;blockquote&gt;
2002 &quot;&lt;a href=&quot;http://twitter.com/urke/status/194062269724897280&quot;&gt;Drøy
2003 brukeravtale: HTC kan bruke MINE redigerte videoer kommersielt. Selv
2004 kan jeg KUN bruke dem privat.&lt;/a&gt;&quot;
2005 &lt;/blockquote&gt;&lt;/p&gt;
2006
2007 &lt;p&gt;I quickly translated it to this English message:&lt;/p&gt;
2008
2009 &lt;p&gt;&lt;blockquote&gt;
2010 &quot;Arrogant user agreement: HTC can use MY edited videos
2011 commercially. Although I can ONLY use them privately.&quot;
2012 &lt;/blockquote&gt;&lt;/p&gt;
2013
2014 &lt;p&gt;I&#39;ve been unable to find the text of the license term myself, but
2015 suspect it is a variation of the MPEG-LA terms I
2016 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Terms_of_use_for_video_produced_by_a_Canon_IXUS_130_digital_camera.html&quot;&gt;discovered
2017 with my Canon IXUS 130&lt;/a&gt;. The HTC One X specification specifies that
2018 the recording format of the phone is .amr for audio and .mp3 for
2019 video. AMR is
2020 &lt;a href=&quot;http://en.wikipedia.org/wiki/Adaptive_Multi-Rate_audio_codec#Licensing_and_patent_issues&quot;&gt;Adaptive
2021 Multi-Rate audio codec&lt;/a&gt; with patents which according to the
2022 Wikipedia article require an license agreement with
2023 &lt;a href=&quot;http://www.voiceage.com/&quot;&gt;VoiceAge&lt;/a&gt;. MP4 is
2024 &lt;a href=&quot;http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Patent_licensing&quot;&gt;MPEG4 with
2025 H.264&lt;/a&gt;, which according to Wikipedia require a licence agreement
2026 with &lt;a href=&quot;http://www.mpegla.com/&quot;&gt;MPEG-LA&lt;/a&gt;.&lt;/p&gt;
2027
2028 &lt;p&gt;I know why I prefer
2029 &lt;a href=&quot;http://www.digistan.org/open-standard:definition&quot;&gt;free and open
2030 standards&lt;/a&gt; also for video.&lt;/p&gt;
2031 </description>
2032 </item>
2033
2034 <item>
2035 <title>RAND terms - non-reasonable and discriminatory</title>
2036 <link>http://people.skolelinux.org/pere/blog/RAND_terms___non_reasonable_and_discriminatory.html</link>
2037 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/RAND_terms___non_reasonable_and_discriminatory.html</guid>
2038 <pubDate>Thu, 19 Apr 2012 22:20:00 +0200</pubDate>
2039 <description>&lt;p&gt;Here in Norway, the
2040 &lt;a href=&quot;http://www.regjeringen.no/nb/dep/fad.html?id=339&quot;&gt; Ministry of
2041 Government Administration, Reform and Church Affairs&lt;/a&gt; is behind
2042 a &lt;a href=&quot;http://standard.difi.no/forvaltningsstandarder&quot;&gt;directory of
2043 standards&lt;/a&gt; that are recommended or mandatory for use by the
2044 government. When the directory was created, the people behind it made
2045 an effort to ensure that everyone would be able to implement the
2046 standards and compete on equal terms to supply software and solutions
2047 to the government. Free software and non-free software could compete
2048 on the same level.&lt;/p&gt;
2049
2050 &lt;p&gt;But recently, some standards with RAND
2051 (&lt;a href=&quot;http://en.wikipedia.org/wiki/Reasonable_and_non-discriminatory_licensing&quot;&gt;Reasonable
2052 And Non-Discriminatory&lt;/a&gt;) terms have made their way into the
2053 directory. And while this might not sound too bad, the fact is that
2054 standard specifications with RAND terms often block free software from
2055 implementing them. The reasonable part of RAND mean that the cost per
2056 user/unit is low,and the non-discriminatory part mean that everyone
2057 willing to pay will get a license. Both sound great in theory. In
2058 practice, to get such license one need to be able to count users, and
2059 be able to pay a small amount of money per unit or user. By
2060 definition, users of free software do not need to register their use.
2061 So counting users or units is not possible for free software projects.
2062 And given that people will use the software without handing any money
2063 to the author, it is not really economically possible for a free
2064 software author to pay a small amount of money to license the rights
2065 to implement a standard when the income available is zero. The result
2066 in these situations is that free software are locked out from
2067 implementing standards with RAND terms.&lt;/p&gt;
2068
2069 &lt;p&gt;Because of this, when I see someone claiming the terms of a
2070 standard is reasonable and non-discriminatory, all I can think of is
2071 how this really is non-reasonable and discriminatory. Because free
2072 software developers are working in a global market, it does not really
2073 help to know that software patents are not supposed to be enforceable
2074 in Norway. The patent regimes in other countries affect us even here.
2075 I really hope the people behind the standard directory will pay more
2076 attention to these issues in the future.&lt;/p&gt;
2077
2078 &lt;p&gt;You can find more on the issues with RAND, FRAND and RAND-Z terms
2079 from Simon Phipps
2080 (&lt;a href=&quot;http://blogs.computerworlduk.com/simon-says/2010/11/rand-not-so-reasonable/&quot;&gt;RAND:
2081 Not So Reasonable?&lt;/a&gt;).&lt;/p&gt;
2082
2083 &lt;p&gt;Update 2012-04-21: Just came across a
2084 &lt;a href=&quot;http://blogs.computerworlduk.com/open-enterprise/2012/04/of-microsoft-netscape-patents-and-open-standards/index.htm&quot;&gt;blog
2085 post from Glyn Moody&lt;/a&gt; over at Computer World UK warning about the
2086 same issue, and urging people to speak out to the UK government. I
2087 can only urge Norwegian users to do the same for
2088 &lt;a href=&quot;http://www.standard.difi.no/hoyring/hoyring-om-nye-anbefalte-it-standarder&quot;&gt;the
2089 hearing taking place at the moment&lt;/a&gt; (respond before 2012-04-27).
2090 It proposes to require video conferencing standards including
2091 specifications with RAND terms.&lt;/p&gt;
2092 </description>
2093 </item>
2094
2095 <item>
2096 <title>Debian Edu interview: Andreas Mundt</title>
2097 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Andreas_Mundt.html</link>
2098 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Andreas_Mundt.html</guid>
2099 <pubDate>Sun, 15 Apr 2012 12:10:00 +0200</pubDate>
2100 <description>&lt;p&gt;Behind &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and
2101 Skolelinux&lt;/a&gt; there are a lot of people doing the hard work of
2102 setting together all the pieces. This time I present to you Andreas
2103 Mundt, who have been part of the technical development team several
2104 years. He was also a key contributor in getting GOsa and Kerberos set
2105 up in the recently released
2106 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/Documentation/Squeeze&quot;&gt;Debian
2107 Edu Squeeze&lt;/a&gt; version.&lt;/p&gt;
2108
2109 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
2110
2111 &lt;p&gt;My name is Andreas Mundt, I grew up in south Germany. After
2112 studying Physics I spent several years at university doing research in
2113 Quantum Optics. After that I worked some years in an optics company.
2114 Finally I decided to turn over a new leaf in my life and started
2115 teaching 10 to 19 years old kids at school. I teach math, physics,
2116 information technology and science/technology.&lt;/p&gt;
2117
2118 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
2119 project?&lt;/strong&gt;&lt;/p&gt;
2120
2121 &lt;p&gt;Already before I switched to teaching, I followed the Debian Edu
2122 project because of my interest in education and Debian. Within the
2123 qualification/training period for the teaching, I started
2124 contributing.&lt;/p&gt;
2125
2126 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
2127 Edu?&lt;/strong&gt;&lt;/p&gt;
2128
2129 &lt;p&gt;The advantages of Debian Edu are the well known name, the
2130 out-of-the-box philosophy and of course the great free software of the
2131 Debian Project!&lt;/p&gt;
2132
2133 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
2134 Edu?&lt;/strong&gt;&lt;/p&gt;
2135
2136 &lt;p&gt;As every coin has two sides, the out-of-the-box philosophy has its
2137 downside, too. In my opinion, it is hard to modify and tweak the
2138 setup, if you need or want that. Further more, it is not easily
2139 possible to upgrade the system to a new release. It takes much too
2140 long after a Debian release to prepare the -Edu release, perhaps
2141 because the number of developers working on the core of the code is
2142 rather small and often busy elsewhere.&lt;/p&gt;
2143
2144 &lt;p&gt;The &lt;a href=&quot;http://wiki.debian.org/DebianLAN&quot;&gt;Debian LAN&lt;/a&gt;
2145 project might fill the use case of a more flexible system.&lt;/p&gt;
2146
2147 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
2148
2149 &lt;p&gt;I am only using non-free software if I am forced to and run Debian
2150 on all my machines. For documents I prefer LaTeX and PGF/TikZ, then
2151 mutt and iceweasel for email respectively web browsing. At school I
2152 have Arduino and Fritzing in use for a micro controller project.&lt;/p&gt;
2153
2154 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
2155 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
2156
2157 &lt;p&gt;One of the major problems is the vendor lock-in from top to bottom:
2158 Especially in combination with ignorant government employees and
2159 politicians, this works out great for the &quot;market-leader&quot;. The school
2160 administration here in Baden-Wuerttemberg is occupied by that vendor.
2161 Documents have to be prepared in non-free, proprietary formats. Even
2162 free browsers do not work for the school administration. Publishers
2163 of school books provide software only for proprietary platforms.&lt;/p&gt;
2164
2165 &lt;p&gt;To change this, political work is very important. Parts of the
2166 political spectrum have become aware of the problem in the last years.
2167 However it takes quite some time and courageous politicians to &#39;free&#39;
2168 the system. There is currently some discussion about &quot;Open Data&quot; and
2169 &quot;Free/Open Standards&quot;. I am not sure if all the involved parties have
2170 a clue about the potential of these ideas, and probably only a
2171 fraction takes them seriously. However it might slowly make free
2172 software and the philosophy behind it more known and popular.&lt;/p&gt;
2173 </description>
2174 </item>
2175
2176 <item>
2177 <title>Debian Edu interview: Justin B. Rye</title>
2178 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Justin_B__Rye.html</link>
2179 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Justin_B__Rye.html</guid>
2180 <pubDate>Sun, 8 Apr 2012 10:50:00 +0200</pubDate>
2181 <description>&lt;p&gt;It take all kind of contributions to create a Linux distribution
2182 like &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt;,
2183 and this time I lend the ear to Justin B. Rye, who is listed as a big
2184 contributor to the
2185 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/Documentation/Squeeze&quot;&gt;Debian
2186 Edu Squeeze release manual&lt;/a&gt;.
2187
2188 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
2189
2190 &lt;p&gt;I&#39;m a 44-year-old linguistics graduate living in Edinburgh who has
2191 occasionally been employed as a sysadmin.&lt;/p&gt;
2192
2193 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
2194 project?&lt;/strong&gt;&lt;/p&gt;
2195
2196 &lt;p&gt;I&#39;m neither a developer nor a Skolelinux/Debian Edu user! The only
2197 reason my name&#39;s in the credits for the documentation is that I hang
2198 around on debian-l10n-english waiting for people to mention things
2199 they&#39;d like a native English speaker to proofread... So I did a sweep
2200 through the wiki for typos and Norglish and inconsistent spellings of
2201 &quot;localisation&quot;.&lt;/p&gt;
2202
2203 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
2204 Edu?&lt;/strong&gt;&lt;/p&gt;
2205
2206 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
2207 Edu?&lt;/strong&gt;&lt;/p&gt;
2208
2209 &lt;p&gt;These questions are too hard for me - I don&#39;t use it! In fact I
2210 had hardly any contact with I.T. until long after I&#39;d got out of the
2211 education system.&lt;/p&gt;
2212
2213 &lt;p&gt;I can tell you the advantages of Debian for me though: it soaks up
2214 as much of my free time as I want and no more, and lets me do
2215 everything I want a computer for without ever forcing me to spend
2216 money on the latest hardware.&lt;/p&gt;
2217
2218 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
2219
2220 &lt;p&gt;I&#39;ve been using Debian since Rex; popularity-contest says the
2221 software that I use most is xinit, xterm, and xulrunner (in other
2222 words, I use a distinctly retro sort of desktop).&lt;/p&gt;
2223
2224 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
2225 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
2226
2227 &lt;p&gt;Well, I don&#39;t know. I suppose I&#39;d be inclined to try reasoning
2228 with the people who make the decisions, but obviously if that worked
2229 you would hardly need a strategy.&lt;/p&gt;
2230 </description>
2231 </item>
2232
2233 <item>
2234 <title>Why the KDE menu is slow when /usr/ is NFS mounted - and a workaround</title>
2235 <link>http://people.skolelinux.org/pere/blog/Why_the_KDE_menu_is_slow_when__usr__is_NFS_mounted___and_a_workaround.html</link>
2236 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Why_the_KDE_menu_is_slow_when__usr__is_NFS_mounted___and_a_workaround.html</guid>
2237 <pubDate>Fri, 6 Apr 2012 22:40:00 +0200</pubDate>
2238 <description>&lt;p&gt;Recently I have spent time with
2239 &lt;a href=&quot;http://www.slxdrift.no/&quot;&gt;Skolelinux Drift AS&lt;/a&gt; on speeding
2240 up a &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt;
2241 Lenny installation using LTSP diskless workstations, and in the
2242 process I discovered something very surprising. The reason the KDE
2243 menu was responding slow when using it for the first time, was mostly
2244 due to the way KDE find application icons. I discovered that showing
2245 the Multimedia menu would cause more than 20 000 IP packages to be
2246 passed between the LTSP client and the NFS server. Most of these were
2247
2248 NFS LOOKUP calls, resulting in a NFS3ERR_NOENT response. Because the
2249 ping times between the client and the server were in the range 2-20
2250 ms, the menus would be very slow. Looking at the strace of kicker in
2251 Lenny (or plasma-desktop i Squeeze - same problem there), I see that
2252 the source of these NFS calls are access(2) system calls for
2253 non-existing files. KDE can do hundreds of access(2) calls to find
2254 one icon file. In my example, just finding the mplayer icon required
2255 around 230 access(2) calls.&lt;/p&gt;
2256
2257 &lt;p&gt;The KDE code seem to search for icons using a list of icon
2258 directories, and the list of possible directories is large. In
2259 (almost) each directory, it look for files ending in .png, .svgz, .svg
2260 and .xpm. The result is a very slow KDE menu when /usr/ is NFS
2261 mounted. Showing a single sub menu may result in thousands of NFS
2262 requests. I am not the first one to discover this. I found a
2263 &lt;a href=&quot;https://bugs.kde.org/show_bug.cgi?id=211416&quot;&gt;KDE bug report
2264 from 2009&lt;/a&gt; about this problem, and it is still unsolved.&lt;/p&gt;
2265
2266 &lt;p&gt;My solution to speed up the KDE menu was to create a package
2267 kde-icon-cache that upon installation will look at all .desktop files
2268 used to generate the KDE menu, find their icons, search the icon paths
2269 for the file that KDE will end up finding at run time, and copying the
2270 icon file to /var/lib/kde-icon-cache/. Finally, I add symlinks to
2271 these icon files in one of the first directories where KDE will look
2272 for them. This cut down the number of file accesses required to find
2273 one icon from several hundred to less than 5, and make the KDE menu
2274 almost instantaneous. I&#39;m not quite sure where to make the package
2275 publicly available, so for now it is only available on request.&lt;/p&gt;
2276
2277 &lt;p&gt;The bug report mention that this do not only affect the KDE menu
2278 and icon handling, but also the login process. Not quite sure how to
2279 speed up that part without replacing NFS with for example NBD, and
2280 that is not really an option at the moment.&lt;/p&gt;
2281
2282 &lt;p&gt;If you got feedback on this issue, please let us know on debian-edu
2283 (at) lists.debian.org.&lt;/p&gt;
2284 </description>
2285 </item>
2286
2287 <item>
2288 <title>Debian Edu in the Linux Weekly News</title>
2289 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_in_the_Linux_Weekly_News.html</link>
2290 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_in_the_Linux_Weekly_News.html</guid>
2291 <pubDate>Thu, 5 Apr 2012 08:00:00 +0200</pubDate>
2292 <description>&lt;p&gt;About two weeks ago, I was interviewed via email about
2293 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and Skolelinux&lt;/a&gt; by
2294 Bruce Byfield in Linux Weekly News. The result was made public for
2295 non-subscribers today. I am pleased to see liked our Linux solution
2296 for schools. Check out his article
2297 &lt;a href=&quot;https://lwn.net/Articles/488805/&quot;&gt;Debian Edu/Skolelinux: A
2298 distribution for education&lt;/a&gt; if you want to learn more.&lt;/p&gt;
2299 </description>
2300 </item>
2301
2302 <item>
2303 <title>Debian Edu interview: Wolfgang Schweer</title>
2304 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Wolfgang_Schweer.html</link>
2305 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Wolfgang_Schweer.html</guid>
2306 <pubDate>Sun, 1 Apr 2012 23:00:00 +0200</pubDate>
2307 <description>&lt;p&gt;Germany is a core area for the
2308 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and Skolelinux&lt;/a&gt;
2309 user community, and this time I managed to get hold of Wolfgang
2310 Schweer, a valuable contributor to the project from Germany.
2311
2312 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
2313
2314 &lt;p&gt;I&#39;ve studied Mathematics at the university &#39;Ruhr-Universität&#39; in
2315 Bochum, Germany. Since 1981 I&#39;m working as a teacher at the school
2316 &quot;&lt;a href=&quot;http://www.westfalenkolleg-dortmund.de/&quot;&gt;Westfalen-Kolleg
2317 Dortmund&lt;/a&gt;&quot;, a second chance school. Here, young adults is given
2318 the opportunity to get further education in order to do the school
2319 examination &#39;Abitur&#39;, which will allow to study at a university. This
2320 second chance is of value for those who want a better job perspective
2321 or failed to get a higher school examination being teens.&lt;/p&gt;
2322
2323 &lt;p&gt;Besides teaching I was involved in developing online courses for a
2324 blended learning project called &#39;abitur-online.nrw&#39; and in some other
2325 information technology related projects. For about ten years I&#39;ve been
2326 teacher and coordinator for the &#39;abitur-online&#39; project at my
2327 school. Being now in my early sixties, I&#39;ve decided to leave school at
2328 the end of April this year.&lt;/p&gt;
2329
2330 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
2331 project?&lt;/strong&gt;&lt;/p&gt;
2332
2333 &lt;p&gt;The first information about Skolelinux must have come to my
2334 attention years ago and somehow related to LTSP (Linux Terminal Server
2335 Project). At school, we had set up a network at the beginning of 1997
2336 using Suse Linux on the desktop, replacing a Novell network. Since
2337 2002, we used old machines from the city council of Dortmund as thin
2338 clients (LTSP, later Ubuntu/Lessdisks) cause new hardware was out of
2339 reach. At home I&#39;m using Debian since years and - subscribed to the
2340 Debian news letter - heard from time to time about Skolelinux. About
2341 two years ago I proposed to replace the (somehow undocumented and only
2342 known to me) system at school by a well known Debian based system:
2343 Skolelinux.&lt;/p&gt;
2344
2345 &lt;p&gt;Students and teachers appreciated the new system because of a
2346 better look and feel and an enhanced access to local media on thin
2347 clients. The possibility to alter and/or reset passwords using a GUI
2348 was welcomed, too. Being able to do administrative tasks using a GUI
2349 and to easily set up workstations using PXE was of very high value for
2350 the admin teachers.&lt;/p&gt;
2351
2352 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
2353 Edu?&lt;/strong&gt;&lt;/p&gt;
2354
2355 &lt;p&gt;It&#39;s open source, easy to set up, stable and flexible due to it&#39;s
2356 Debian base. It integrates LTSP out-of-the-box. And it is documented!
2357 So it was a perfect choice.&lt;/p&gt;
2358
2359 &lt;p&gt;Being open source, there are no license problems and so it&#39;s
2360 possible to point teachers and students to programs like
2361 OpenOffice.org, ViewYourMind (mind mapping) and The Gimp. It&#39;s of
2362 high value to be able to adapt parts of the system to special needs of
2363 a school and to choose where to get support for this.&lt;/p&gt;
2364
2365 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
2366 Edu?&lt;/strong&gt;&lt;/p&gt;
2367
2368 &lt;p&gt;Nothing yet.&lt;/p&gt;
2369
2370 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
2371
2372 &lt;p&gt;At home (Debian Sid with Gnome Desktop): Iceweasel, LibreOffice,
2373 Mutt, Gedit, Document Viewer, Midnight Commander, flpsed (PDF
2374 Annotator). At school (Skolelinux Lenny): Iceweasel, Gedit,
2375 LibreOffice.&lt;/p&gt;
2376
2377 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
2378 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
2379
2380 &lt;p&gt;Some time ago I thought it was enough to tell people about it. But
2381 that doesn&#39;t seem to work quite well. Now I concentrate on those more
2382 interested and hope to get multiplicators that way.&lt;/p&gt;
2383 </description>
2384 </item>
2385
2386 <item>
2387 <title>Debian Edu screencast: Checking email with kmail using Kerberos authentication</title>
2388 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_screencast__Checking_email_with_kmail_using_Kerberos_authentication.html</link>
2389 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_screencast__Checking_email_with_kmail_using_Kerberos_authentication.html</guid>
2390 <pubDate>Sun, 25 Mar 2012 10:00:00 +0200</pubDate>
2391 <description>&lt;!-- Video HTML based on http://www.diveintohtml5.net/video.html --&gt;
2392
2393 &lt;p&gt;The same Debian Edu developer that did the last screen cast I
2394 published, Wolfgang Schweer, has created a new screen cast showing how
2395 to set up Kmail in Debian Edu Squeze to authenticate using Kerberos,
2396 allowing users to check their local email account without providing
2397 any password. The video is embedded here in quarter size,
2398 and also available from &lt;a href=&quot;https://vimeo.com/38601767&quot;&gt;vimeo&lt;/a&gt;
2399 and download as a
2400 &lt;a href=&quot;http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-03-14-Debian-Edu_Configure_Kmail_for_internal_usage.ogv&quot;&gt;Ogg
2401 Theora&lt;/a&gt; file. Check it out below.&lt;/p&gt;
2402
2403 &lt;p&gt;&lt;video id=&quot;kmail-kerberos-movie&quot; width=&quot;256&quot; height=&quot;184&quot; preload controls&gt;
2404 &lt;source src=&quot;http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-03-14-Debian-Edu_Configure_Kmail_for_internal_usage.ogv&quot; type=&#39;video/ogg; codecs=&quot;theora, vorbis&quot;&#39; /&gt;
2405 &lt;p&gt;Download video as
2406 &lt;a href=&quot;http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-03-14-Debian-Edu_Configure_Kmail_for_internal_usage.ogv&quot;&gt;Ogg&lt;/a&gt;.&lt;/p&gt;
2407 &lt;/video&gt;&lt;/p&gt;
2408 </description>
2409 </item>
2410
2411 <item>
2412 <title>Debian Edu interview: John Ingleby</title>
2413 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__John_Ingleby.html</link>
2414 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__John_Ingleby.html</guid>
2415 <pubDate>Mon, 19 Mar 2012 21:15:00 +0100</pubDate>
2416 <description>&lt;p&gt;&lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt;
2417 users are spread all across the globe. The second inteview after
2418 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2012/03/msg00001.html&quot;&gt;the
2419 Squeeze release&lt;/a&gt; was publised is with John Ingleby, a teacher and
2420 long time Linux user in United Kingdom.&lt;/p&gt;
2421
2422 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
2423
2424 &lt;p&gt;I teach ICT part time at the Rudolf Steiner School in Kings
2425 Langley, near London, UK. Previously I worked as a technical
2426 author/trainer while my children attended the school, and I also
2427 contributed to the Schoolforge UK community with the aim of
2428 encouraging UK schools to adopt free/open source software. Five or six
2429 years ago we had about 50 schools interested in some way, but we
2430 weren&#39;t able to convert many of them into sustainable
2431 installations.&lt;/p&gt;
2432
2433 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
2434 project?&lt;/strong&gt;&lt;/p&gt;
2435
2436 &lt;p&gt;Skolelinux had two representatives at an early Edubuntu meeting in
2437 London which I attended. However at that time our school network had
2438 just been installed using CentOS, LTSP 4 and GNOME. When LTSP 5 came
2439 along we switched to Edubuntu thin client servers so now we have a
2440 mixed environment which includes Windows PCs and student laptops, as
2441 well as their MacBooks and iPads. However, the proprietary systems
2442 have always been rather problematic, and we never built a GUI for the
2443 LDAP server, so when I discovered Skolelinux is configured for all
2444 these things we decided to try it.&lt;/p&gt;
2445
2446 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
2447 Edu?&lt;/strong&gt;&lt;/p&gt;
2448
2449 &lt;p&gt;By far the biggest advantage is the Debian Edu community. Apart
2450 from that I have always believed in the same &quot;sustainable computing&quot;
2451 goals that Skolelinux is built on: installing Linux on computers which
2452 would otherwise be thrown away, to provide a reliable, secure and
2453 low-cost IT environment for schools. From my own experience I know
2454 that a part-time person can teach and manage a network of about 25
2455 Linux computers, but it would take much more of my time if we had
2456 proprietary software everywhere.&lt;/p&gt;
2457
2458 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
2459 Edu?&lt;/strong&gt;&lt;/p&gt;
2460
2461 &lt;p&gt;As a newcomer I&#39;m just finding out who&#39;s who in the community and
2462 how you&#39;re organised, and what your procedures are for dealing with
2463 various things such as editing manual pages and so-on. The only
2464 English language mailing list seems to be for developers as well as
2465 users, so my inbox needs heavy pruning each day!&lt;/p&gt;
2466
2467 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
2468
2469 &lt;p&gt;Besides the software already mentioned at school we use Samba,
2470 OpenLDAP, CUPS, Nagios and Dansguardian for the network, and on the
2471 desktops we have LibreOffice, Firefox, GIMP and Inkscape. At home I
2472 use Ubuntu and an Android 4 eePad Transformer (but I&#39;m not sure if
2473 that counts...)&lt;/p&gt;
2474
2475 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
2476 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
2477
2478 &lt;p&gt;That&#39;s a tough question! For very many years UK schools installed
2479 and taught only proprietary software, so that at the highest levels
2480 the notion of &quot;computer&quot; means simply &quot;proprietary office
2481 applications&quot;. However, schools today are experiencing budget
2482 constraints, and many are having to think hard about upgrading Windows
2483 XP. At the same time, we have students showing teachers how to use
2484 iPads, MacBooks and Android, so the choice of operating system is no
2485 longer quite so automatic. What is more, our government at last
2486 realised that we need people with programming skills, so they&#39;re
2487 putting coding back in the curriculum! And it&#39;s encouraging that the
2488 first 10,000 Raspberry Pi units sold out in 2 hours.&lt;/p&gt;
2489
2490 &lt;p&gt;I don&#39;t really know what strategy is going to get UK schools to use
2491 free software, but building an active community of Skolelinux/Debian
2492 Edu users in this country has to be part of it.&lt;/p&gt;
2493 </description>
2494 </item>
2495
2496 <item>
2497 <title>Writing and translating documentation in Debian Edu</title>
2498 <link>http://people.skolelinux.org/pere/blog/Writing_and_translating_documentation_in_Debian_Edu.html</link>
2499 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Writing_and_translating_documentation_in_Debian_Edu.html</guid>
2500 <pubDate>Fri, 16 Mar 2012 09:55:00 +0100</pubDate>
2501 <description>&lt;p&gt;Documentation in Debian Edu is provided in several languages, and
2502 it is important to make it both easy to contribute and to keep the
2503 translated versions in sync. To do this we have come up with what we
2504 believe is a very efficient work flow.&lt;/p&gt;
2505
2506 &lt;ol&gt;
2507
2508 &lt;li&gt;The documentation is written in a
2509 &lt;a href=&quot;http://moinmo.in&quot;&gt;moinmoin wiki&lt;/a&gt; (see for example
2510 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/Documentation/Squeeze&quot;&gt;the
2511 Squeeze release manual&lt;/a&gt;) with support for exporting the content as
2512 docbook XML.&lt;/li&gt;
2513
2514 &lt;li&gt;This docbook document is given to po4a to extract a gettext style
2515 .pot file with the content, which in turn is used to create .po files
2516 with the translated text.&lt;/li&gt;
2517
2518 &lt;li&gt;The .po files are given to translators, and they can always tell
2519 which part of the original wiki document is new or changed. They can
2520 use their normal translation tools like lokalize or poedit to write
2521 the translation. There is even a system in place to handle translated
2522 images.&lt;/li&gt;
2523
2524 &lt;li&gt;The translated .po files are combined with the original docbook
2525 XML document using po4a to create a translated docbook document.&lt;/li&gt;
2526
2527 &lt;li&gt;The final step is to use all the generated docbook files and
2528 create PDF and HTML version of the original and translated documents.&lt;/li&gt;
2529
2530 &lt;/ol&gt;
2531
2532 &lt;p&gt;This setup work very well, but have a few issues. The biggest
2533 issue is that &lt;a href=&quot;http://moinmo.in/DocBook&quot;&gt;the docbook support
2534 we use in moinmoin&lt;/a&gt; is not actively maintained. The docbook
2535 support is also buggy, and our build system contain workarounds to
2536 make sure the generated docbook is usable despite these bugs.&lt;/p&gt;
2537
2538 &lt;p&gt;If you want to have a look at our setup, it is all there in the
2539 &lt;a href=&quot;http://packages.qa.debian.org/debian-edu-doc&quot;&gt;debian-edu-doc
2540 package&lt;/a&gt;.&lt;/p&gt;
2541 </description>
2542 </item>
2543
2544 <item>
2545 <title>Skolelinux / Debian Edu Squeeze is out!</title>
2546 <link>http://people.skolelinux.org/pere/blog/Skolelinux___Debian_Edu_Squeeze_is_out_.html</link>
2547 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Skolelinux___Debian_Edu_Squeeze_is_out_.html</guid>
2548 <pubDate>Sun, 11 Mar 2012 23:00:00 +0100</pubDate>
2549 <description>&lt;p&gt;This weekend we finally published the first stable release of
2550 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux / Debian Edu&lt;/a&gt; based
2551 on Debian/Squeeze. The full announcement is
2552 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2012/03/msg00001.html&quot;&gt;available&lt;/a&gt;
2553 from the project announcement list. Now is a good time to test if it
2554 you have not done so already.&lt;/p&gt;
2555
2556 &lt;p&gt;I plan to present the new version at
2557 &lt;a href=&quot;http://www.nuug.no/aktiviteter/20120313-skolelinux/&quot;&gt;a NUUG
2558 meeting&lt;/a&gt; on tuesday. I look forward to seeing you there if you are
2559 in Oslo, Norway.&lt;/p&gt;
2560 </description>
2561 </item>
2562
2563 <item>
2564 <title>Debian Edu interview: Nigel Barker</title>
2565 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Nigel_Barker.html</link>
2566 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Nigel_Barker.html</guid>
2567 <pubDate>Fri, 9 Mar 2012 11:30:00 +0100</pubDate>
2568 <description>&lt;p&gt;Inspired by &lt;a href=&quot;http://raphaelhertzog.com/tag/interview/&quot;&gt;the
2569 interview series&lt;/a&gt; conducted by Raphael, I started a Norwegian
2570 interview series with people involved in the Debian Edu / Skolelinux
2571 community. This was so popular that I believe it is time to move to a
2572 more international audience.&lt;/p&gt;
2573
2574 &lt;p&gt;While &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and
2575 Skolelinux&lt;/a&gt; originated in France and Norway, and have most users in
2576 Europe, there are users all around the globe. One of those far away
2577 from me is Nigel Barker, a long time Debian Edu system administrator
2578 and contributor. It is thanks to him that Debian Edu is adjusted to
2579 work out of the box in Japan. I got him to answer a few questions,
2580 and am happy to share the response with you. :)
2581
2582
2583 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
2584
2585 &lt;p&gt;My name is Nigel Barker, and I am British. I am married to Yumiko,
2586 and we have three lovely children, aged 15, 14 and 4(!) I am the IT
2587 Coordinator at Hiroshima International School, Japan. I am also a
2588 teacher, and in fact I spend most of my day teaching Mathematics,
2589 Science, IT, and Chemistry. I was originally a Chemistry teacher, but
2590 I have always had an interest in computers. Another teacher teaches
2591 primary school IT, but apart from that I am the only computer person,
2592 so that means I am the network manager, technician and webmaster,
2593 also, and I help people with their computer problems. I teach python
2594 to beginners in an after-school club. I am way too busy, so I really
2595 appreciate the simplicity of Skolelinux.&lt;/p&gt;
2596
2597 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
2598 project?&lt;/strong&gt;&lt;/p&gt;
2599
2600 &lt;p&gt;In around 2004 or 5 I discovered the ltsp project, and set up a
2601 server in the IT lab. I wanted some way to connect it to our central
2602 samba server, which I was also quite poor at configuring. I discovered
2603 Edubuntu when it came out, but it didn&#39;t really improve my setup. I
2604 did various desperate searches for things like &quot;school Linux server&quot;
2605 and ended up in a document called &quot;Drift&quot; something or other. Reading
2606 there it became clear that Skolelinux was going to solve all my
2607 problems in one go. I was very excited, but apprehensive, because my
2608 previous attempts to install Debian had ended in failure (I used
2609 Mandrake for everything - ltsp, samba, apache, mail, ns...). I
2610 downloaded a beta version, had some problems, so subscribed to the
2611 Debian Edu list for help. I have remained subscribed ever since, and
2612 my school has run a Skolelinux network since Sarge.&lt;/p&gt;
2613
2614 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
2615 Edu?&lt;/strong&gt;&lt;/p&gt;
2616
2617 &lt;p&gt;For me the integrated setup. This is not just the server, or the
2618 workstation, or the ltsp. Its all of them, and its all configured
2619 ready to go. I read somewhere in the early documentation that it is
2620 designed to be setup and managed by the Maths or Science teacher, who
2621 doesn&#39;t necessarily know much about computers, in a small Norwegian
2622 school. That describes me perfectly if you replace Norway with
2623 Japan.&lt;/p&gt;
2624
2625 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
2626 Edu?&lt;/strong&gt;&lt;/p&gt;
2627
2628 &lt;p&gt;The desktop is fairly plain. If you compare it with Edubuntu, who
2629 have fun themes for children, or with distributions such as Mint, who
2630 make the desktop beautiful. They create a good impression on people
2631 who don&#39;t need to understand how to use any of it, but who might be
2632 important to the school. School administrators or directors, for
2633 instance, or parents. Even kids. Debian itself usually has ugly
2634 default theme settings. It was my dream a few years back that some
2635 kind of integration would allow Edubuntu to do the desktop stuff and
2636 Debian Edu the servers, but now I realise how impossible that is. A
2637 second disadvantage is that if something goes wrong, or you need to
2638 customise something, then suddenly the level of expertise required
2639 multiplies. For example, backup wasn&#39;t working properly in Lenny. It
2640 took me ages to learn how to set up my own server to do rsync backups.
2641 I am afraid of anything to do with ldap, but perhaps Gosa will
2642 help.&lt;/p&gt;
2643
2644 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
2645
2646 &lt;p&gt;Nowadays I only use Debian on my personal computers. I have one for
2647 studio work (I play guitar and write songs), running AV Linux
2648 (customised Debian) a netbook running Squeeze, and a bigger laptop
2649 still running Skolelinux Lenny workstation. I have a Tjener in my
2650 house, that&#39;s very useful for the family photos and music. At school
2651 the students only use Skolelinux. (Some teachers and the office still
2652 have windows). So that means we only use free software all day every
2653 day. Open office, The GIMP, Firefox/Iceweasel, VLC and Audacity are
2654 installed on every computer in school, irrespective of OS. We also
2655 have Koha on Debian for the library, and Apache, Moodle, b2evolution
2656 and Etomite on Debian for the www. The firewall is Untangle.&lt;/p&gt;
2657
2658 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
2659 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
2660
2661 &lt;p&gt;Current trends are in our favour. Open source is big in industry,
2662 and ordinary people have heard of it. The spread of Android and the
2663 popularity of Apple have helped to weaken the impression that you have
2664 to have Microsoft on everything. People complain to me much less about
2665 file formats and Word than they did 5 years ago. The Edu aspect is
2666 also a selling point. This is all customised for schools. Where is the
2667 Windows-edu, or the Mac-edu? But of course the main attraction is
2668 budget.The trick is to convince people that the quality is not
2669 compromised when you stop paying and use free software instead. That
2670 is one reason why I say the desktop experience is a weakness. People
2671 are not impressed when their USB drive doesn&#39;t work, or their browser
2672 doesn&#39;t play flash, for example.&lt;/p&gt;
2673 </description>
2674 </item>
2675
2676 <item>
2677 <title>Debian Edu screencast: Mass creation of user accounts in Squeeze</title>
2678 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_screencast__Mass_creation_of_user_accounts_in_Squeeze.html</link>
2679 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_screencast__Mass_creation_of_user_accounts_in_Squeeze.html</guid>
2680 <pubDate>Wed, 7 Mar 2012 13:40:00 +0100</pubDate>
2681 <description>&lt;!-- Video HTML based on http://www.diveintohtml5.net/video.html --&gt;
2682
2683 &lt;p&gt;One of the Debian Edu developers, Wolfgang Schweer, just created a
2684 screen cast documenting how to create a lot of new users in LDAP on
2685 Debian Edu Squeeze. The video is embedded here in quarter size, and
2686 also available from &lt;a href=&quot;http://vimeo.com/37675399&quot;&gt;vimeo&lt;/a&gt; and
2687 download as a
2688 &lt;a href=&quot;http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-02-29-debian_edu_mass_create_user_accounts.ogv&quot;&gt;Ogg
2689 Theora&lt;/a&gt; file. Check it out below.&lt;/p&gt;
2690
2691 &lt;p&gt;&lt;video id=&quot;gosa-mass-user-create-movie&quot; width=&quot;256&quot; height=&quot;184&quot; preload controls&gt;
2692 &lt;source src=&quot;http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-02-29-debian_edu_mass_create_user_accounts.ogv&quot; type=&#39;video/ogg; codecs=&quot;theora, vorbis&quot;&#39; /&gt;
2693 &lt;p&gt;Download video as
2694 &lt;a href=&quot;http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-02-29-debian_edu_mass_create_user_accounts.ogv&quot;&gt;Ogg&lt;/a&gt;.&lt;/p&gt;
2695 &lt;/video&gt;&lt;/p&gt;
2696 </description>
2697 </item>
2698
2699 <item>
2700 <title>Third release candidate of Debian Edu / Skolelinux based on Squeeze</title>
2701 <link>http://people.skolelinux.org/pere/blog/Third_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</link>
2702 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Third_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</guid>
2703 <pubDate>Sun, 4 Mar 2012 18:20:00 +0100</pubDate>
2704 <description>&lt;p&gt;This weekend we wrapped up and published the third release
2705 candidate for &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu /
2706 Skolelinux&lt;/a&gt; based on Squeeze. The full announcement is
2707 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2012/03/msg00000.html&quot;&gt;available&lt;/a&gt;
2708 from the project announcement list. Check it out if you
2709 need a software solution for your school.&lt;/p&gt;
2710 </description>
2711 </item>
2712
2713 <item>
2714 <title>Stopmotion for making stop motion animations on Linux - reloaded</title>
2715 <link>http://people.skolelinux.org/pere/blog/Stopmotion_for_making_stop_motion_animations_on_Linux___reloaded.html</link>
2716 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Stopmotion_for_making_stop_motion_animations_on_Linux___reloaded.html</guid>
2717 <pubDate>Sat, 3 Mar 2012 12:50:00 +0100</pubDate>
2718 <description>&lt;p&gt;Many years ago, the &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux
2719 / Debian Edu project&lt;/a&gt; initiated a student project to create a tool
2720 for making stop motion movies. The proposal came from a teacher
2721 needing such tool on Skolelinux. The project, called &quot;stopmotion&quot;,
2722 was manned by two extraordinary students and won a school award and a
2723 national aware with this great project. The project was initiated and
2724 mentored by Herman Robak, and manned by the students Bjørn Erik Nilsen
2725 and Fredrik Berg Kjølstad. They got in touch with people at Aardman
2726 Animation studio and received feedback on how professionals would like
2727 such stopmotion tool to work, and the end result was and is used by
2728 animators around the globe. But as is usual after studying, both got
2729 jobs and went elsewhere, and did not have time to properly tend to the
2730 project, and it has been lingering for a few years now. Until last
2731 year...&lt;/p&gt;
2732
2733 &lt;p&gt;Last year some of the users got together with Herman, and moved the
2734 project to Sourceforge and in effect restarted the project under a new
2735 name,
2736 &lt;a href=&quot;http://sourceforge.net/projects/linuxstopmotion/&quot;&gt;linuxstopmotion&lt;/a&gt;.
2737 The name change was done to make it possible to find the project using
2738 Internet search engines (try to search for &#39;stopmotion&#39; to see what I
2739 mean). I&#39;ve been following
2740 &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/linuxstopmotion-community&quot;&gt;the
2741 mailing list&lt;/a&gt; and the improvement already in place and planned for
2742 the future is encouraging. If you want to make stop motion movies.
2743 Check it out. :)&lt;/p&gt;
2744 </description>
2745 </item>
2746
2747 <item>
2748 <title>Second release candidate of Debian Edu / Skolelinux based on Squeeze</title>
2749 <link>http://people.skolelinux.org/pere/blog/Second_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</link>
2750 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Second_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</guid>
2751 <pubDate>Mon, 27 Feb 2012 14:00:00 +0100</pubDate>
2752 <description>&lt;p&gt;This weekend we wrapped up and published the second release
2753 candidate for &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu /
2754 Skolelinux&lt;/a&gt; based on Squeeze. The full announcement did for some
2755 reason not make it the project announcement list, but is
2756 &lt;a href=&quot;http://lists.debian.org/debian-devel-announce/2012/02/msg00015.html&quot;&gt;available&lt;/a&gt;
2757 from the Debian development announcement list. Check it out if you
2758 need a software solution for your school.&lt;/p&gt;
2759 </description>
2760 </item>
2761
2762 <item>
2763 <title>First release candidate of Debian Edu / Skolelinux based on Squeeze</title>
2764 <link>http://people.skolelinux.org/pere/blog/First_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</link>
2765 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/First_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</guid>
2766 <pubDate>Sun, 19 Feb 2012 23:10:00 +0100</pubDate>
2767 <description>&lt;p&gt;One week delayed due to DVD build problems, we managed today to
2768 wrap up and publish the first release candidate for
2769 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt; based
2770 on Squeeze. The full announcement is
2771 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2012/02/msg00001.html&quot;&gt;available&lt;/a&gt;
2772 on the project announcement list. Check it out if you need a software
2773 solution for your school.&lt;/p&gt;
2774 </description>
2775 </item>
2776
2777 <item>
2778 <title>How to figure out which RAID disk to replace when it fail</title>
2779 <link>http://people.skolelinux.org/pere/blog/How_to_figure_out_which_RAID_disk_to_replace_when_it_fail.html</link>
2780 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/How_to_figure_out_which_RAID_disk_to_replace_when_it_fail.html</guid>
2781 <pubDate>Tue, 14 Feb 2012 21:25:00 +0100</pubDate>
2782 <description>&lt;p&gt;Once in a while my home server have disk problems. Thanks to Linux
2783 Software RAID, I have not lost data yet (but
2784 &lt;a href=&quot;http://comments.gmane.org/gmane.linux.raid/34532&quot;&gt;I was
2785 close&lt;/a&gt; this summer :). But once a disk is starting to behave
2786 funny, a practical problem present itself. How to get from the Linux
2787 device name (like /dev/sdd) to something that can be used to identify
2788 the disk when the computer is turned off? In my case I have SATA
2789 disks with a unique ID printed on the label. All I need is a way to
2790 figure out how to query the disk to get the ID out.&lt;/p&gt;
2791
2792 &lt;p&gt;After fumbling a bit, I
2793 &lt;a href=&quot;http://www.cyberciti.biz/faq/linux-getting-scsi-ide-harddisk-information/&quot;&gt;found
2794 that hdparm -I&lt;/a&gt; will report the disk serial number, which is
2795 printed on the disk label. The following (almost) one-liner can be
2796 used to look up the ID of all the failed disks:&lt;/p&gt;
2797
2798 &lt;blockquote&gt;&lt;pre&gt;
2799 for d in $(cat /proc/mdstat |grep &#39;(F)&#39;|tr &#39; &#39; &quot;\n&quot;|grep &#39;(F)&#39;|cut -d\[ -f1|sort -u);
2800 do
2801 printf &quot;Failed disk $d: &quot;
2802 hdparm -I /dev/$d |grep &#39;Serial Num&#39;
2803 done
2804 &lt;/blockquote&gt;&lt;/pre&gt;
2805
2806 &lt;p&gt;Putting it here to make sure I do not have to search for it the
2807 next time, and in case other find it useful.&lt;/p&gt;
2808
2809 &lt;p&gt;At the moment I have two failing disk. :(&lt;/p&gt;
2810
2811 &lt;blockquote&gt;&lt;pre&gt;
2812 Failed disk sdd1: Serial Number: WD-WCASJ1860823
2813 Failed disk sdd2: Serial Number: WD-WCASJ1860823
2814 Failed disk sde2: Serial Number: WD-WCASJ1840589
2815 &lt;/blockquote&gt;&lt;/pre&gt;
2816
2817 &lt;p&gt;The last time I had failing disks, I added the serial number on
2818 labels I printed and stuck on the short sides of each disk, to be able
2819 to figure out which disk to take out of the box without having to
2820 remove each disk to look at the physical vendor label. The vendor
2821 label is at the top of the disk, which is hidden when the disks are
2822 mounted inside my box.&lt;/p&gt;
2823
2824 &lt;p&gt;I really wish the check_linux_raid Nagios plugin for checking Linux
2825 Software RAID in the
2826 &lt;a href=&quot;http://packages.qa.debian.org/n/nagios-plugins.html&quot;&gt;nagios-plugins-standard&lt;/a&gt;
2827 debian package would look up this value automatically, as it would
2828 make the plugin a lot more useful when my disks fail. At the moment
2829 it only report a failure when there are no more spares left (it really
2830 should warn as soon as a disk is failing), and it do not tell me which
2831 disk(s) is failing when the RAID is running short on disks.&lt;/p&gt;
2832 </description>
2833 </item>
2834
2835 <item>
2836 <title>Automatic proxy configuration with Debian Edu / Skolelinux</title>
2837 <link>http://people.skolelinux.org/pere/blog/Automatic_proxy_configuration_with_Debian_Edu___Skolelinux.html</link>
2838 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Automatic_proxy_configuration_with_Debian_Edu___Skolelinux.html</guid>
2839 <pubDate>Mon, 13 Feb 2012 23:40:00 +0100</pubDate>
2840 <description>&lt;p&gt;New in the Squeeze version of
2841 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt; is the
2842 ability for clients to automatically configure their proxy settings
2843 based on their environment. We want all systems on the client to use
2844 the WPAD based proxy definition fetched from &lt;tt&gt;http://wpad/wpad.dat&lt;/tt&gt;, to
2845 allow sites to control the proxy setting from a central place and make
2846 sure clients do not have hard coded proxy settings. The schools can
2847 change the global proxy setting by editing
2848 &lt;tt&gt;tjener:/etc/debian-edu/www/wpad.dat&lt;/tt&gt; and the change propagate
2849 to all Debian Edu clients in the network.&lt;/p&gt;
2850
2851 &lt;p&gt;The problem is that some systems do not understand the WPAD system.
2852 In other words, how do one get from a WPAD file like this (this is a
2853 simple one, they can run arbitrary code):&lt;/p&gt;
2854
2855 &lt;blockquote&gt;&lt;pre&gt;
2856 function FindProxyForURL(url, host)
2857 {
2858 if (!isResolvable(host) ||
2859 isPlainHostName(host) ||
2860 dnsDomainIs(host, &quot;.intern&quot;))
2861 return &quot;DIRECT&quot;;
2862 else
2863 return &quot;PROXY webcache:3128; DIRECT&quot;;
2864 }
2865 &lt;/pre&gt;&lt;/blockquote&gt;
2866
2867 &lt;p&gt;to a proxy setting in the process environment looking like this:&lt;/p&gt;
2868
2869 &lt;blockquote&gt;&lt;pre&gt;
2870 http_proxy=http://webcache:3128/
2871 ftp_proxy=http://webcache:3128/
2872 &lt;/pre&gt;&lt;/blockquote&gt;
2873
2874 &lt;p&gt;To do this conversion I developed a perl script that will execute
2875 the javascript fragment in the WPAD file and return the proxy that
2876 would be used for
2877 &lt;tt&gt;&lt;a href=&quot;http://www.debian.org/&quot;&gt;http://www.debian.org/&lt;/a&gt;&lt;/tt&gt;,
2878 and insert this extracted proxy URL in &lt;tt&gt;/etc/environment&lt;/tt&gt; and
2879 &lt;tt&gt;/etc/apt/apt.conf&lt;/tt&gt;. The perl script wpad-extract work just
2880 fine in Squeeze, but in Wheezy the library it need to run the
2881 javascript code is &lt;a href=&quot;http://bugs.debian.org/631045&quot;&gt;no longer
2882 able to build&lt;/a&gt; because the C library it depended on is now a C++
2883 library. I hope someone find a solution to that problem before Wheezy
2884 is frozen. An alternative would be for us to rewrite wpad-extract to
2885 use some other javascript library currently working in Wheezy, but no
2886 known alternative is known at the moment.&lt;/p&gt;
2887
2888 &lt;p&gt;This automatic proxy system allow the roaming workstation (aka
2889 laptop) setup in Debian Edu/Squeeze to use the proxy when the laptop
2890 is connected to the backbone network in a Debian Edu setup, and to
2891 automatically use any proxy present and announced using the WPAD
2892 feature when it is connected to other networks. And if no proxy is
2893 announced, direct connections will be used instead.&lt;/p&gt;
2894
2895 &lt;p&gt;Silently using a proxy announced on the network might be a privacy
2896 or security problem. But those controlling DHCP and DNS on a network
2897 could just as easily set up a transparent proxy, and force all HTTP
2898 and FTP connections to use a proxy anyway, so I consider that
2899 distinction to be academic. If you are afraid of using the wrong
2900 proxy, you should avoid connecting to the network in question in the
2901 first place. In Debian Edu, the proxy setup is updated using dhcp and
2902 ifupdown hooks, to make sure the configuration is updated every time
2903 the network setup changes.&lt;/p&gt;
2904
2905 &lt;p&gt;The WPAD system is documented in a
2906 &lt;a href=&quot;http://tools.ietf.org/html/draft-ietf-wrec-wpad-01&quot;&gt;IETF
2907 draft&lt;/a&gt; and a
2908 &lt;a href=&quot;http://en.wikipedia.org/wiki/Web_Proxy_Autodiscovery_Protocol&quot;&gt;Wikipedia
2909 page&lt;/a&gt; for those that want to learn more.&lt;/p&gt;
2910 </description>
2911 </item>
2912
2913 <item>
2914 <title>Saving power with Debian Edu / Skolelinux using shutdown-at-night</title>
2915 <link>http://people.skolelinux.org/pere/blog/Saving_power_with_Debian_Edu___Skolelinux_using_shutdown_at_night.html</link>
2916 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Saving_power_with_Debian_Edu___Skolelinux_using_shutdown_at_night.html</guid>
2917 <pubDate>Sun, 5 Feb 2012 09:45:00 +0100</pubDate>
2918 <description>&lt;p&gt;Since the Lenny version of
2919 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt;, a
2920 feature to save power have been included. It is as simple as it is
2921 practical: Shut down unused clients at night, and turn them on again
2922 in the morning. This is done using the
2923 &lt;a href=&quot;http://packages.qa.debian.org/s/shutdown-at-night.html&quot;&gt;shutdown-at-night&lt;/a&gt; Debian package.&lt;/p&gt;
2924
2925 &lt;p&gt;To enable this feature on a client, the machine need to be added to
2926 the netgroup shutdown-at-night-hosts. For Debian Edu, this is done in
2927 LDAP, and once this is in place, the machine in question will check
2928 every hour from 16:00 until 06:00 to see if the machine is unused, and
2929 shut it down if it is. If the hardware in question is supported by
2930 the
2931 &lt;a href=&quot;http://packages.qa.debian.org/n/nvram-wakeup.html&quot;&gt;nvram-wakeup&lt;/a&gt;
2932 package, the BIOS is told to turn the machine back on around 07:00 +-
2933 10 minutes. If this isn&#39;t working, one can configure wake-on-lan to
2934 try to turn on the client. The wake-on-lan option is only documented
2935 and not enabled by default in Debian Edu.&lt;/p&gt;
2936
2937 &lt;p&gt;It is important to not turn all machines on at once, as this can
2938 blow a fuse if several computers are connected to the same fuse like
2939 the common setup for a classroom. The nvram-wakeup method only work
2940 for machines with a functioning hardware/BIOS clock. I&#39;ve seen old
2941 machines where the BIOS battery were dead and the hardware clock were
2942 starting from 0 (or was it 1990?) every boot. If you have one of
2943 those, you have to turn on the computer manually.&lt;/p&gt;
2944
2945 &lt;p&gt;The shutdown-at-night package is completely self contained, and can
2946 also be used outside the Debian Edu environment. For those without a
2947 central LDAP server with netgroups, one can instead touch the file
2948 &lt;tt&gt;/etc/shutdown-at-night/shutdown-at-night&lt;/tt&gt; to enable it.
2949 Perhaps you too can use it to save some power?&lt;/p&gt;
2950 </description>
2951 </item>
2952
2953 <item>
2954 <title>Third beta version of Debian Edu / Skolelinux based on Squeeze</title>
2955 <link>http://people.skolelinux.org/pere/blog/Third_beta_version_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</link>
2956 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Third_beta_version_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</guid>
2957 <pubDate>Sat, 4 Feb 2012 13:25:00 +0100</pubDate>
2958 <description>&lt;p&gt;I am happy to announce that finally we managed today to wrap up and
2959 publish the third beta version of
2960 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt; based
2961 on Squeeze. If you want to test a LDAP backed Kerberos server with
2962 out of the box PXE configuration for running diskless machines and
2963 installing new machines, check it out. If you need a software
2964 solution for your school, check it out too. The full announcement is
2965 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2012/02/msg00000.html&quot;&gt;available&lt;/a&gt;
2966 on the project announcement list.&lt;/p&gt;
2967
2968 &lt;p&gt;I am very happy to report these changes and improvements since
2969 beta2 (there are more, see announcement for full list):&lt;/p&gt;
2970
2971 &lt;ul&gt;
2972
2973 &lt;li&gt;It is now possible to change the pre-configured IP subnet from
2974 10.0.0.0/8 to something else by using the subnet-change tool after
2975 the installation.&lt;/li&gt;
2976
2977 &lt;li&gt;Too full partitions are now automatically extended on the Main
2978 Server, based on the rules specified in /etc/fsautoresizetab.&lt;/li&gt;
2979
2980 &lt;li&gt;The CUPS queues are now automatically flushed every night, and all
2981 disabled queues are restarted every hour. This should cut down on
2982 the amount of manual administration needed for printers.&lt;/li&gt;
2983
2984 &lt;li&gt;The set of initial users have been changed. Now a personal user
2985 for the local system administrator is created during installation
2986 instead of the previously created localadmin and super-admin users,
2987 and this user is granted administrative privileges using group
2988 membership. This reduces the number of passwords one need to keep
2989 up to date on the system.&lt;/li&gt;
2990
2991 &lt;/ul&gt;
2992
2993 &lt;p&gt;The new main server seem to work so well that I am testing it as my
2994 private DNS/LDAP/Kerberos/PXE/LTSP server at home. I will use it look
2995 for issues we could fix to polish Debian Edu even further before the
2996 final Squeeze release is published.&lt;/p&gt;
2997
2998 &lt;p&gt;Next weekend the project organise a
2999 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2012/01/msg00001.html&quot;&gt;developer
3000 gathering&lt;/a&gt; in Oslo. We will continue the work on the Squeeze
3001 version, and start initial planning for the Wheezy version. Perhaps I
3002 will see you there?&lt;/p&gt;
3003 </description>
3004 </item>
3005
3006 <item>
3007 <title>Handling non-free firmware in Debian Edu/Squeeze</title>
3008 <link>http://people.skolelinux.org/pere/blog/Handling_non_free_firmware_in_Debian_Edu_Squeeze.html</link>
3009 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Handling_non_free_firmware_in_Debian_Edu_Squeeze.html</guid>
3010 <pubDate>Fri, 27 Jan 2012 23:30:00 +0100</pubDate>
3011 <description>&lt;p&gt;With some computer hardware, one need non-free firmware blobs.
3012 This is the sad fact of todays computers. In the next version of
3013 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt; based
3014 on Squeeze, we provide several scripts and modifications to make
3015 firmware blobs easier to handle. The common use case I run into is a
3016 laptop with a wireless network card requiring non-free firmware to
3017 work, but there are other use cases as well.&lt;/p&gt;
3018
3019 &lt;p&gt;First and foremost, Debian Edu provide ISO images for DVD and CD
3020 with all firmware packages in the Debian sections main and non-free
3021 included, to ensure debian-installer find and can install all of them
3022 during installation. This take care firmware for network devices used
3023 by the installer when installing from from local media. But for
3024 example multimedia devices are not activated in the installer and are
3025 not taken care of by this.&lt;/p&gt;
3026
3027 &lt;p&gt;For non-network devices, we provide the script
3028 &lt;tt&gt;/usr/share/debian-edu-config/tools/auto-addfirmware&lt;/tt&gt; which
3029 search through the &lt;tt&gt;dmesg&lt;/tt&gt; output for drivers requesting extra
3030 firmware. The firmware file name is looked up in the Contents-ARCH.gz
3031 file available in the package repository, and the packages providing
3032 the requested firmware file(s) is installed. I have proposed to do
3033 something similar in debian-installer (BTS report
3034 &lt;a href=&quot;http://bugs.debian.org/655507&quot;&gt;#655507&lt;/a&gt;), to allow PXE
3035 installs of Debian to handle firmware installation better. Run the
3036 script as root from the command line to fetch and install the needed
3037 firmware packages.&lt;/p&gt;
3038
3039 &lt;p&gt;Debian Edu provide PXE installation of Debian out of the box, and
3040 because some machines need firmware to get their network cards
3041 working, the installation initrd some times need extra firmware
3042 included to be able to install at all. To fill the PXE installation
3043 initrd with extra firmware, the
3044 &lt;tt&gt;/usr/share/debian-edu-config/tools/pxe-addfirmware&lt;/tt&gt; script is
3045 provided. Again, just run it as root on the command line to fill the
3046 PXE initrd with firmware packages.&lt;/p&gt;
3047
3048 &lt;p&gt;Last, some LTSP clients might also need firmware to get their
3049 network cards working. For this,
3050 &lt;tt&gt;/usr/share/debian-edu-config/tools/ltsp-addfirmware&lt;/tt&gt; is
3051 provided to update the LTSP initrd with firmware blobs. It is used
3052 the same way as the other firmware related tools.&lt;/p&gt;
3053
3054 &lt;p&gt;At the moment, we do not run any of these during installation. We
3055 do not know if this is acceptable for the local administrator to use
3056 non-free software, and it is their choice.&lt;/p&gt;
3057
3058 &lt;p&gt;We plan to release beta3 this weekend. You might want to give it a
3059 try.&lt;/p&gt;
3060 </description>
3061 </item>
3062
3063 <item>
3064 <title>Setting up a new school with Debian Edu/Squeeze</title>
3065 <link>http://people.skolelinux.org/pere/blog/Setting_up_a_new_school_with_Debian_Edu_Squeeze.html</link>
3066 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Setting_up_a_new_school_with_Debian_Edu_Squeeze.html</guid>
3067 <pubDate>Wed, 25 Jan 2012 21:00:00 +0100</pubDate>
3068 <description>&lt;p&gt;The next version of &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu
3069 / Skolelinux&lt;/a&gt; will include a new tool
3070 &lt;tt&gt;sitesummary2ldapdhcp&lt;/tt&gt;, which can be used to quickly set up all
3071 the computers in a school without much manual labour. Here is a short
3072 summary on how to use it to set up a new school.&lt;/p&gt;
3073
3074 &lt;p&gt;First, install a combined Main Server and Thin Client Server as the
3075 central server in the network. Next, PXE boot all the client machines
3076 as thin clients and wait 5 minutes after the last client booted to
3077 allow the clients to report their existence to the central server. When
3078 this is done, log on to the central server and run
3079 &lt;tt&gt;sitesummary2ldapdhcp -a&lt;/tt&gt; in the &lt;tt&gt;konsole&lt;/tt&gt; to use the
3080 collected information to generate system objects in LDAP. The output
3081 will look similar to this:&lt;/p&gt;
3082
3083 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
3084 % sitesummary2ldapdhcp -a
3085 info: Updating machine tjener.intern [10.0.2.2] id ether-00:01:02:03:04:05.
3086 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.
3087
3088 Enter password if you want to activate these changes, and ^c to abort.
3089
3090 Connecting to LDAP as cn=admin,ou=ldap-access,dc=skole,dc=skolelinux,dc=no
3091 enter password: *******
3092 %
3093 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
3094
3095 &lt;p&gt;After providing the LDAP administrative password (the same as the
3096 root password set during installation), the LDAP database will be
3097 populated with system objects for each PXE booted machine with
3098 automatically generated names. The final step to set up the school is
3099 then to log into &lt;a href=&quot;https://oss.gonicus.de/labs/gosa/&quot;&gt;GOsa&lt;/a&gt;,
3100 the web based user, group and system administration system to change
3101 system names, add systems to the correct host groups and finally
3102 enable DHCP and DNS for the systems. All clients that should be used
3103 as diskless workstations should be added to the workstation-hosts
3104 group. After this is done, all computers can be booted again via PXE
3105 and get their assigned names and group based configuration
3106 automatically.&lt;/p&gt;
3107
3108 &lt;p&gt;We plan to release beta3 with the updated version of this feature
3109 enabled this weekend. You might want to give it a try.&lt;/p&gt;
3110
3111 &lt;p&gt;Update 2012-01-28: When calling sitesummary2ldapdhcp to add new
3112 hosts, one need to add the option -a. I forgot to mention this in my
3113 original text, and have added it to the text now.&lt;/p&gt;
3114 </description>
3115 </item>
3116
3117 <item>
3118 <title>Changing the default Iceweasel start page in Debian Edu/Squeeze</title>
3119 <link>http://people.skolelinux.org/pere/blog/Changing_the_default_Iceweasel_start_page_in_Debian_Edu_Squeeze.html</link>
3120 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Changing_the_default_Iceweasel_start_page_in_Debian_Edu_Squeeze.html</guid>
3121 <pubDate>Tue, 10 Jan 2012 15:30:00 +0100</pubDate>
3122 <description>&lt;p&gt;In the Squeeze version of
3123 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt; soon
3124 to be released, users of the system will get their default browser
3125 start page set from LDAP, allowing the system administrator to point
3126 all users to the school web page by updating one setting in LDAP. In
3127 addition to setting the default start page when a machine boots, users
3128 are shown the same page as a welcome page when they log in for the
3129 first time.&lt;/p&gt;
3130
3131 &lt;p&gt;The LDAP object dc=skole,dc=skolelinux,dc=no have an attribute
3132 labeledURI with &quot;http://www/ LDAP for Debian Edu/Skolelinux&quot; as the
3133 default content. By changing this value to another URL, all users get
3134 to see the page behind this new URL.&lt;/p&gt;
3135
3136 &lt;p&gt;An easy way to update it is by using the ldapvi tool. It can be
3137 called as &quot;&lt;tt&gt;ldapvi -ZD &#39;(cn=admin)&#39;&lt;/tt&gt;&#39; to update LDAP with the
3138 new setting.&lt;/p&gt;
3139
3140 &lt;p&gt;We have written the code to adjust the default start page and show
3141 the welcome page, and I wonder if there is an easier way to do this
3142 from within Iceweasel instead.&lt;/p&gt;
3143 </description>
3144 </item>
3145
3146 <item>
3147 <title>Second beta version of Debian Edu / Skolelinux based on Squeeze</title>
3148 <link>http://people.skolelinux.org/pere/blog/Second_beta_version_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</link>
3149 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Second_beta_version_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</guid>
3150 <pubDate>Sat, 7 Jan 2012 22:50:00 +0100</pubDate>
3151 <description>&lt;p&gt;I am happy to announce that today we managed to wrap up and publish
3152 the second beta version of
3153 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt;. If
3154 you want to test a LDAP backed Kerberos server with out of the box PXE
3155 configuration for running diskless machines and installing new
3156 machines, check it out. If you need a software solution for your
3157 school, check it out too. The full announcement is
3158 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2012/01/msg00000.html&quot;&gt;available&lt;/a&gt;
3159 on the project announcement list.&lt;/p&gt;
3160 </description>
3161 </item>
3162
3163 <item>
3164 <title>Fixing an hanging debian installer for Debian Edu</title>
3165 <link>http://people.skolelinux.org/pere/blog/Fixing_an_hanging_debian_installer_for_Debian_Edu.html</link>
3166 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Fixing_an_hanging_debian_installer_for_Debian_Edu.html</guid>
3167 <pubDate>Tue, 3 Jan 2012 11:25:00 +0100</pubDate>
3168 <description>&lt;p&gt;During christmas, I have been working getting the next version of
3169 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt; ready
3170 for release. The initial problem I looked at was particularly
3171 interesting.&lt;/p&gt;
3172
3173 &lt;P&gt;The installer would hang at the end when it was doing it
3174 post-installation configuration, and whatevery I did to try to find
3175 the cause and fix it always worked while I tested it, but never when I
3176 integrated it into the installer and ran the installation from
3177 scratch. I would try to restart processes, close file descriptors,
3178 remove or create files, and the installer would always unblock and
3179 wrap up its tasks.&lt;/p&gt;
3180
3181 &lt;p&gt;Eventually the cause was found. The kernel was simply running out
3182 of entropy, causing the Kerberos setup to hang waiting for more.
3183 Pressing keys was adding entropy to the kernel, and thus all my tries
3184 to fix the problem worked not because what I was typing to fix it, but
3185 because I was typing.&lt;/P&gt;
3186
3187 &lt;p&gt;The fix I implemented was to add a background process looking at
3188 the level of entropy in the kernel (by checking
3189 /proc/sys/kernel/random/entropy_avail), and if it was too small, the
3190 installer will flush the kernel file buffers and do &#39;find /&#39; to
3191 generate some disk IO. Disk IO generate entropy in the kernel, and is
3192 one of the few things that can be initated from within the system to
3193 generate entropy.&lt;/p&gt;
3194
3195 &lt;p&gt;The fix is in
3196 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/Documentation/Squeeze/Installation&quot;&gt;beta1
3197 of the Debian Edu/Squeeze&lt;/a&gt; version, and we
3198 &lt;a href=&quot;http://wiki.debian.org/DebianEdu&quot;&gt;welcome more testers and
3199 developers&lt;/a&gt;. We plan to release beta2 this weekend.&lt;/p&gt;
3200 </description>
3201 </item>
3202
3203 <item>
3204 <title>Automatically upgrading server firmware on Dell PowerEdge</title>
3205 <link>http://people.skolelinux.org/pere/blog/Automatically_upgrading_server_firmware_on_Dell_PowerEdge.html</link>
3206 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Automatically_upgrading_server_firmware_on_Dell_PowerEdge.html</guid>
3207 <pubDate>Mon, 21 Nov 2011 12:00:00 +0100</pubDate>
3208 <description>&lt;p&gt;At work we have heaps of servers. I believe the total count is
3209 around 1000 at the moment. To be able to get help from the vendors
3210 when something go wrong, we want to keep the firmware on the servers
3211 up to date. If the firmware isn&#39;t the latest and greatest, the
3212 vendors typically refuse to start debugging any problems until the
3213 firmware is upgraded. So before every reboot, we want to upgrade the
3214 firmware, and we would really like everyone handling servers at the
3215 university to do this themselves when they plan to reboot a machine.
3216 For that to happen we at the unix server admin group need to provide
3217 the tools to do so.&lt;/p&gt;
3218
3219 &lt;p&gt;To make firmware upgrading easier, I am working on a script to
3220 fetch and install the latest firmware for the servers we got. Most of
3221 our hardware are from Dell and HP, so I have focused on these servers
3222 so far. This blog post is about the Dell part.&lt;/P&gt;
3223
3224 &lt;p&gt;On the Dell FTP site I was lucky enough to find
3225 &lt;a href=&quot;ftp://ftp.us.dell.com/catalog/Catalog.xml.gz&quot;&gt;an XML file&lt;/a&gt;
3226 with firmware information for all 11th generation servers, listing
3227 which firmware should be used on a given model and where on the FTP
3228 site I can find it. Using a simple perl XML parser I can then
3229 download the shell scripts Dell provides to do firmware upgrades from
3230 within Linux and reboot when all the firmware is primed and ready to
3231 be activated on the first reboot.&lt;/p&gt;
3232
3233 &lt;p&gt;This is the Dell related fragment of the perl code I am working on.
3234 Are there anyone working on similar tools for firmware upgrading all
3235 servers at a site? Please get in touch and lets share resources.&lt;/p&gt;
3236
3237 &lt;p&gt;&lt;pre&gt;
3238 #!/usr/bin/perl
3239 use strict;
3240 use warnings;
3241 use File::Temp qw(tempdir);
3242 BEGIN {
3243 # Install needed RHEL packages if missing
3244 my %rhelmodules = (
3245 &#39;XML::Simple&#39; =&gt; &#39;perl-XML-Simple&#39;,
3246 );
3247 for my $module (keys %rhelmodules) {
3248 eval &quot;use $module;&quot;;
3249 if ($@) {
3250 my $pkg = $rhelmodules{$module};
3251 system(&quot;yum install -y $pkg&quot;);
3252 eval &quot;use $module;&quot;;
3253 }
3254 }
3255 }
3256 my $errorsto = &#39;pere@hungry.com&#39;;
3257
3258 upgrade_dell();
3259
3260 exit 0;
3261
3262 sub run_firmware_script {
3263 my ($opts, $script) = @_;
3264 unless ($script) {
3265 print STDERR &quot;fail: missing script name\n&quot;;
3266 exit 1
3267 }
3268 print STDERR &quot;Running $script\n\n&quot;;
3269
3270 if (0 == system(&quot;sh $script $opts&quot;)) { # FIXME correct exit code handling
3271 print STDERR &quot;success: firmware script ran succcessfully\n&quot;;
3272 } else {
3273 print STDERR &quot;fail: firmware script returned error\n&quot;;
3274 }
3275 }
3276
3277 sub run_firmware_scripts {
3278 my ($opts, @dirs) = @_;
3279 # Run firmware packages
3280 for my $dir (@dirs) {
3281 print STDERR &quot;info: Running scripts in $dir\n&quot;;
3282 opendir(my $dh, $dir) or die &quot;Unable to open directory $dir: $!&quot;;
3283 while (my $s = readdir $dh) {
3284 next if $s =~ m/^\.\.?/;
3285 run_firmware_script($opts, &quot;$dir/$s&quot;);
3286 }
3287 closedir $dh;
3288 }
3289 }
3290
3291 sub download {
3292 my $url = shift;
3293 print STDERR &quot;info: Downloading $url\n&quot;;
3294 system(&quot;wget --quiet \&quot;$url\&quot;&quot;);
3295 }
3296
3297 sub upgrade_dell {
3298 my @dirs;
3299 my $product = `dmidecode -s system-product-name`;
3300 chomp $product;
3301
3302 if ($product =~ m/PowerEdge/) {
3303
3304 # on RHEL, these pacakges are needed by the firwmare upgrade scripts
3305 system(&#39;yum install -y compat-libstdc++-33.i686 libstdc++.i686 libxml2.i686 procmail&#39;);
3306
3307 my $tmpdir = tempdir(
3308 CLEANUP =&gt; 1
3309 );
3310 chdir($tmpdir);
3311 fetch_dell_fw(&#39;catalog/Catalog.xml.gz&#39;);
3312 system(&#39;gunzip Catalog.xml.gz&#39;);
3313 my @paths = fetch_dell_fw_list(&#39;Catalog.xml&#39;);
3314 # -q is quiet, disabling interactivity and reducing console output
3315 my $fwopts = &quot;-q&quot;;
3316 if (@paths) {
3317 for my $url (@paths) {
3318 fetch_dell_fw($url);
3319 }
3320 run_firmware_scripts($fwopts, $tmpdir);
3321 } else {
3322 print STDERR &quot;error: Unsupported Dell model &#39;$product&#39;.\n&quot;;
3323 print STDERR &quot;error: Please report to $errorsto.\n&quot;;
3324 }
3325 chdir(&#39;/&#39;);
3326 } else {
3327 print STDERR &quot;error: Unsupported Dell model &#39;$product&#39;.\n&quot;;
3328 print STDERR &quot;error: Please report to $errorsto.\n&quot;;
3329 }
3330 }
3331
3332 sub fetch_dell_fw {
3333 my $path = shift;
3334 my $url = &quot;ftp://ftp.us.dell.com/$path&quot;;
3335 download($url);
3336 }
3337
3338 # Using ftp://ftp.us.dell.com/catalog/Catalog.xml.gz, figure out which
3339 # firmware packages to download from Dell. Only work for Linux
3340 # machines and 11th generation Dell servers.
3341 sub fetch_dell_fw_list {
3342 my $filename = shift;
3343
3344 my $product = `dmidecode -s system-product-name`;
3345 chomp $product;
3346 my ($mybrand, $mymodel) = split(/\s+/, $product);
3347
3348 print STDERR &quot;Finding firmware bundles for $mybrand $mymodel\n&quot;;
3349
3350 my $xml = XMLin($filename);
3351 my @paths;
3352 for my $bundle (@{$xml-&gt;{SoftwareBundle}}) {
3353 my $brand = $bundle-&gt;{TargetSystems}-&gt;{Brand}-&gt;{Display}-&gt;{content};
3354 my $model = $bundle-&gt;{TargetSystems}-&gt;{Brand}-&gt;{Model}-&gt;{Display}-&gt;{content};
3355 my $oscode;
3356 if (&quot;ARRAY&quot; eq ref $bundle-&gt;{TargetOSes}-&gt;{OperatingSystem}) {
3357 $oscode = $bundle-&gt;{TargetOSes}-&gt;{OperatingSystem}[0]-&gt;{osCode};
3358 } else {
3359 $oscode = $bundle-&gt;{TargetOSes}-&gt;{OperatingSystem}-&gt;{osCode};
3360 }
3361 if ($mybrand eq $brand &amp;&amp; $mymodel eq $model &amp;&amp; &quot;LIN&quot; eq $oscode)
3362 {
3363 @paths = map { $_-&gt;{path} } @{$bundle-&gt;{Contents}-&gt;{Package}};
3364 }
3365 }
3366 for my $component (@{$xml-&gt;{SoftwareComponent}}) {
3367 my $componenttype = $component-&gt;{ComponentType}-&gt;{value};
3368
3369 # Drop application packages, only firmware and BIOS
3370 next if &#39;APAC&#39; eq $componenttype;
3371
3372 my $cpath = $component-&gt;{path};
3373 for my $path (@paths) {
3374 if ($cpath =~ m%/$path$%) {
3375 push(@paths, $cpath);
3376 }
3377 }
3378 }
3379 return @paths;
3380 }
3381 &lt;/pre&gt;
3382
3383 &lt;p&gt;The code is only tested on RedHat Enterprise Linux, but I suspect
3384 it could work on other platforms with some tweaking. Anyone know a
3385 index like Catalog.xml is available from HP for HP servers? At the
3386 moment I maintain a similar list manually and it is quickly getting
3387 outdated.&lt;/p&gt;
3388 </description>
3389 </item>
3390
3391 <item>
3392 <title>Free e-book kiosk for the public libraries?</title>
3393 <link>http://people.skolelinux.org/pere/blog/Free_e_book_kiosk_for_the_public_libraries_.html</link>
3394 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Free_e_book_kiosk_for_the_public_libraries_.html</guid>
3395 <pubDate>Fri, 7 Oct 2011 19:20:00 +0200</pubDate>
3396 <description>&lt;p&gt;Here in Norway the public libraries are debating with the
3397 publishing houses how to handle electronic books. Surprisingly, the
3398 libraries seem to be willing to accept digital restriction mechanisms
3399 (DRM) on books and renting e-books with artificial scarcity from the
3400 publishing houses. Time limited renting (2-3 years) is one proposed
3401 model, and only allowing X borrowers for each book is another.
3402 Personally I find it amazing that libraries are even considering such
3403 models.&lt;/p&gt;
3404
3405 &lt;p&gt;Anyway, while reading &lt;a href=&quot;http://boklaben.no/?p=220&quot;&gt;part of
3406 this debate&lt;/a&gt;, it occurred to me that someone should present a more
3407 sensible approach to the libraries, to allow its borrowers to get used
3408 to a better model. The idea is simple:&lt;/p&gt;
3409
3410 &lt;p&gt;Create a computer system for the libraries, either in the form of a
3411 Live DVD or a installable distribution, that provide a simple kiosk
3412 solution to hand out free e-books. As a start, the books distributed
3413 by &lt;a href=&quot;http://www.gutenberg.org/&quot;&gt;Project Gutenberg&lt;/a&gt; (abount
3414 36,000 books), &lt;a href=&quot;http://runeberg.org/&quot;&gt;Project Runenberg&lt;/a&gt;
3415 (1149 books) and &lt;a href=&quot;http://www.archive.org/details/texts&quot;&gt;The
3416 Internet Archive&lt;/a&gt; (3,033,748 books) could be included, but any book
3417 where the copyright has expired or with a free licence could be
3418 distributed.&lt;/p&gt;
3419
3420 &lt;p&gt;The computer system would make it easy to:&lt;/p&gt;
3421
3422 &lt;ul&gt;
3423
3424 &lt;li&gt;Copy e-books into a USB stick, reading tablets, cell phones and
3425 other relevant equipment.&lt;/li&gt;
3426
3427 &lt;li&gt;Show the books for reading on the the screen in the library.&lt;/li&gt;
3428
3429 &lt;/ul&gt;
3430
3431 &lt;p&gt;In addition to such kiosk solution, there should probably be a web
3432 site as well to allow people easy access to these books without
3433 visiting the library. The site would be the distribution point for
3434 the kiosk systems, which would connect regularly to fetch any new
3435 books available.&lt;/p&gt;
3436
3437 &lt;p&gt;Are there anyone working on a system like this? I guess it would
3438 fit any library in the world, and not just the Norwegian public
3439 libraries. :)&lt;/p&gt;
3440 </description>
3441 </item>
3442
3443 <item>
3444 <title>Ripping problematic DVDs using dvdbackup and genisoimage</title>
3445 <link>http://people.skolelinux.org/pere/blog/Ripping_problematic_DVDs_using_dvdbackup_and_genisoimage.html</link>
3446 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Ripping_problematic_DVDs_using_dvdbackup_and_genisoimage.html</guid>
3447 <pubDate>Sat, 17 Sep 2011 20:20:00 +0200</pubDate>
3448 <description>&lt;p&gt;For convenience, I want to store copies of all my DVDs on my file
3449 server. It allow me to save shelf space flat while still having my
3450 movie collection easily available. It also make it possible to let
3451 the kids see their favourite DVDs without wearing the physical copies
3452 down. I prefer to store the DVDs as ISOs to keep the DVD menu and
3453 subtitle options intact. It also ensure that the entire film is one
3454 file on the disk. As this is for personal use, the ripping is
3455 perfectly legal here in Norway.&lt;/p&gt;
3456
3457 &lt;p&gt;Normally I rip the DVDs using dd like this:&lt;/p&gt;
3458
3459 &lt;blockquote&gt;&lt;pre&gt;
3460 #!/bin/sh
3461 # apt-get install lsdvd
3462 title=$(lsdvd 2&gt;/dev/null|awk &#39;/Disc Title: / {print $3}&#39;)
3463 dd if=/dev/dvd of=/storage/dvds/$title.iso bs=1M
3464 &lt;/pre&gt;&lt;/blockquote&gt;
3465
3466 &lt;p&gt;But some DVDs give a input/output error when I read it, and I have
3467 been looking for a better alternative. I have no idea why this I/O
3468 error occur, but suspect my DVD drive, the Linux kernel driver or
3469 something fishy with the DVDs in question. Or perhaps all three.&lt;/p&gt;
3470
3471 &lt;p&gt;Anyway, I believe I found a solution today using dvdbackup and
3472 genisoimage. This script gave me a working ISO for a problematic
3473 movie by first extracting the DVD file system and then re-packing it
3474 back as an ISO.
3475
3476 &lt;blockquote&gt;&lt;pre&gt;
3477 #!/bin/sh
3478 # apt-get install lsdvd dvdbackup genisoimage
3479 set -e
3480 tmpdir=/storage/dvds/
3481 title=$(lsdvd 2&gt;/dev/null|awk &#39;/Disc Title: / {print $3}&#39;)
3482 dvdbackup -i /dev/dvd -M -o $tmpdir -n$title
3483 genisoimage -dvd-video -o $tmpdir/$title.iso $tmpdir/$title
3484 rm -rf $tmpdir/$title
3485 &lt;/pre&gt;&lt;/blockquote&gt;
3486
3487 &lt;p&gt;Anyone know of a better way available in Debian/Squeeze?&lt;/p&gt;
3488
3489 &lt;p&gt;Update 2011-09-18: I got a tip from Konstantin Khomoutov about the
3490 readom program from the wodim package. It is specially written to
3491 read optical media, and is called like this: &lt;tt&gt;readom dev=/dev/dvd
3492 f=image.iso&lt;/tt&gt;. It got 6 GB along with the problematic Cars DVD
3493 before it failed, and failed right away with a Timmy Time DVD.&lt;/p&gt;
3494
3495 &lt;p&gt;Next, I got a tip from Bastian Blank about
3496 &lt;a href=&quot;http://bblank.thinkmo.de/blog/new-software-python-dvdvideo&quot;&gt;his
3497 program python-dvdvideo&lt;/a&gt;, which seem to be just what I am looking
3498 for. Tested it with my problematic Timmy Time DVD, and it succeeded
3499 creating a ISO image. The git source built and installed just fine in
3500 Squeeze, so I guess this will be my tool of choice in the future.&lt;/p&gt;
3501 </description>
3502 </item>
3503
3504 <item>
3505 <title>How is booting into runlevel 1 different from single user boots?</title>
3506 <link>http://people.skolelinux.org/pere/blog/How_is_booting_into_runlevel_1_different_from_single_user_boots_.html</link>
3507 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/How_is_booting_into_runlevel_1_different_from_single_user_boots_.html</guid>
3508 <pubDate>Thu, 4 Aug 2011 12:40:00 +0200</pubDate>
3509 <description>&lt;p&gt;Wouter Verhelst have some
3510 &lt;a href=&quot;http://grep.be/blog/en/retorts/pere_kubuntu_boot&quot;&gt;interesting
3511 comments and opinions&lt;/a&gt; on my blog post on
3512 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/What_should_start_from__etc_rcS_d__in_Debian____almost_nothing.html&quot;&gt;the
3513 need to clean up /etc/rcS.d/ in Debian&lt;/a&gt; and my blog post about
3514 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/What_is_missing_in_the_Debian_desktop__or_why_my_parents_use_Kubuntu.html&quot;&gt;the
3515 default KDE desktop in Debian&lt;/a&gt;. I only have time to address one
3516 small piece of his comment now, and though it best to address the
3517 misunderstanding he bring forward:&lt;/p&gt;
3518
3519 &lt;p&gt;&lt;blockquote&gt;
3520 Currently, a system admin has four options: [...] boot to a
3521 single-user system (by adding &#39;single&#39; to the kernel command line;
3522 this runs rcS and rc1 scripts)
3523 &lt;/blockquote&gt;&lt;/p&gt;
3524
3525 &lt;p&gt;This make me believe Wouter believe booting into single user mode
3526 and booting into runlevel 1 is the same. I am not surprised he
3527 believe this, because it would make sense and is a quite sensible
3528 thing to believe. But because the boot in Debian is slightly broken,
3529 runlevel 1 do not work properly and it isn&#39;t the same as single user
3530 mode. I&#39;ll try to explain what is actually happing, but it is a bit
3531 hard to explain.&lt;/p&gt;
3532
3533 &lt;p&gt;Single user mode is defined like this in /etc/inittab:
3534 &quot;&lt;tt&gt;~~:S:wait:/sbin/sulogin&lt;/tt&gt;&quot;. This means the only thing that is
3535 executed in single user mode is sulogin. Single user mode is a boot
3536 state &quot;between&quot; the runlevels, and when booting into single user mode,
3537 only the scripts in /etc/rcS.d/ are executed before the init process
3538 enters the single user state. When switching to runlevel 1, the state
3539 is in fact not ending in runlevel 1, but it passes through runlevel 1
3540 and end up in the single user mode (see /etc/rc1.d/S03single, which
3541 runs &quot;init -t1 S&quot; to switch to single user mode at the end of runlevel
3542 1. It is confusing that the &#39;S&#39; (single user) init mode is not the
3543 mode enabled by /etc/rcS.d/ (which is more like the initial boot
3544 mode).&lt;/p&gt;
3545
3546 &lt;p&gt;This summary might make it clearer. When booting for the first
3547 time into single user mode, the following commands are executed:
3548 &quot;&lt;tt&gt;/etc/init.d/rc S; /sbin/sulogin&lt;/tt&gt;&quot;. When booting into
3549 runlevel 1, the following commands are executed: &quot;&lt;tt&gt;/etc/init.d/rc
3550 S; /etc/init.d/rc 1; /sbin/sulogin&lt;/tt&gt;&quot;. A problem show up when
3551 trying to continue after visiting single user mode. Not all services
3552 are started again as they should, causing the machine to end up in an
3553 unpredicatble state. This is why Debian admins recommend rebooting
3554 after visiting single user mode.&lt;/p&gt;
3555
3556 &lt;p&gt;A similar problem with runlevel 1 is caused by the amount of
3557 scripts executed from /etc/rcS.d/. When switching from say runlevel 2
3558 to runlevel 1, the services started from /etc/rcS.d/ are not properly
3559 stopped when passing through the scripts in /etc/rc1.d/, and not
3560 started again when switching away from runlevel 1 to the runlevels
3561 2-5. I believe the problem is best fixed by moving all the scripts
3562 out of /etc/rcS.d/ that are not &lt;strong&gt;required&lt;/strong&gt; to get a
3563 functioning single user mode during boot.&lt;/p&gt;
3564
3565 &lt;p&gt;I have spent several years investigating the Debian boot system,
3566 and discovered this problem a few years ago. I suspect it originates
3567 from when sysvinit was introduced into Debian, a long time ago.&lt;/p&gt;
3568 </description>
3569 </item>
3570
3571 <item>
3572 <title>What should start from /etc/rcS.d/ in Debian? - almost nothing</title>
3573 <link>http://people.skolelinux.org/pere/blog/What_should_start_from__etc_rcS_d__in_Debian____almost_nothing.html</link>
3574 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/What_should_start_from__etc_rcS_d__in_Debian____almost_nothing.html</guid>
3575 <pubDate>Sat, 30 Jul 2011 14:00:00 +0200</pubDate>
3576 <description>&lt;p&gt;In the Debian boot system, several packages include scripts that
3577 are started from /etc/rcS.d/. In fact, there is a bite more of them
3578 than make sense, and this causes a few problems. What kind of
3579 problems, you might ask. There are at least two problems. The first
3580 is that it is not possible to recover a machine after switching to
3581 runlevel 1. One need to actually reboot to get the machine back to
3582 the expected state. The other is that single user boot will sometimes
3583 run into problems because some of the subsystems are activated before
3584 the root login is presented, causing problems when trying to recover a
3585 machine from a problem in that subsystem. A minor additional point is
3586 that moving more scripts out of rcS.d/ and into the other rc#.d/
3587 directories will increase the amount of scripts that can run in
3588 parallel during boot, and thus decrease the boot time.&lt;/p&gt;
3589
3590 &lt;p&gt;So, which scripts should start from rcS.d/. In short, only the
3591 scripts that _have_ to execute before the root login prompt is
3592 presented during a single user boot should go there. Everything else
3593 should go into the numeric runlevels. This means things like
3594 lm-sensors, fuse and x11-common should not run from rcS.d, but from
3595 the numeric runlevels. Today in Debian, there are around 115 init.d
3596 scripts that are started from rcS.d/, and most of them should be moved
3597 out. Do your package have one of them? Please help us make single
3598 user and runlevel 1 better by moving it.&lt;/p&gt;
3599
3600 &lt;p&gt;Scripts setting up the screen, keyboard, system partitions
3601 etc. should still be started from rcS.d/, but there is for example no
3602 need to have the network enabled before the single user login prompt
3603 is presented.&lt;/p&gt;
3604
3605 &lt;p&gt;As always, things are not so easy to fix as they sound. To keep
3606 Debian systems working while scripts migrate and during upgrades, the
3607 scripts need to be moved from rcS.d/ to rc2.d/ in reverse dependency
3608 order, ie the scripts that nothing in rcS.d/ depend on can be moved,
3609 and the next ones can only be moved when their dependencies have been
3610 moved first. This migration must be done sequentially while we ensure
3611 that the package system upgrade packages in the right order to keep
3612 the system state correct. This will require some coordination when it
3613 comes to network related packages, but most of the packages with
3614 scripts that should migrate do not have anything in rcS.d/ depending
3615 on them. Some packages have already been updated, like the sudo
3616 package, while others are still left to do. I wish I had time to work
3617 on this myself, but real live constrains make it unlikely that I will
3618 find time to push this forward.&lt;/p&gt;
3619 </description>
3620 </item>
3621
3622 <item>
3623 <title>What is missing in the Debian desktop, or why my parents use Kubuntu</title>
3624 <link>http://people.skolelinux.org/pere/blog/What_is_missing_in_the_Debian_desktop__or_why_my_parents_use_Kubuntu.html</link>
3625 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/What_is_missing_in_the_Debian_desktop__or_why_my_parents_use_Kubuntu.html</guid>
3626 <pubDate>Fri, 29 Jul 2011 08:10:00 +0200</pubDate>
3627 <description>&lt;p&gt;While at Debconf11, I have several times during discussions
3628 mentioned the issues I believe should be improved in Debian for its
3629 desktop to be useful for more people. The use case for this is my
3630 parents, which are currently running Kubuntu which solve the
3631 issues.&lt;/p&gt;
3632
3633 &lt;p&gt;I suspect these four missing features are not very hard to
3634 implement. After all, they are present in Ubuntu, so if we wanted to
3635 do this in Debian we would have a source.&lt;/p&gt;
3636
3637 &lt;ol&gt;
3638
3639 &lt;li&gt;&lt;strong&gt;Simple GUI based upgrade of packages.&lt;/strong&gt; When there
3640 are new packages available for upgrades, a icon in the KDE status bar
3641 indicate this, and clicking on it will activate the simple upgrade
3642 tool to handle it. I have no problem guiding both of my parents
3643 through the process over the phone. If a kernel reboot is required,
3644 this too is indicated by the status bars and the upgrade tool. Last
3645 time I checked, nothing with the same features was working in KDE in
3646 Debian.&lt;/li&gt;
3647
3648 &lt;li&gt;&lt;strong&gt;Simple handling of missing Firefox browser
3649 plugins.&lt;/strong&gt; When the browser encounter a MIME type it do not
3650 currently have a handler for, it will ask the user if the system
3651 should search for a package that would add support for this MIME type,
3652 and if the user say yes, the APT sources will be searched for packages
3653 advertising the MIME type in their control file (visible in the
3654 Packages file in the APT archive). If one or more packages are found,
3655 it is a simple click of the mouse to add support for the missing mime
3656 type. If the package require the user to accept some non-free
3657 license, this is explained to the user. The entire process make it
3658 more clear to the user why something do not work in the browser, and
3659 make the chances higher for the user to blame the web page authors and
3660 not the browser for any missing features.&lt;/li&gt;
3661
3662 &lt;li&gt;&lt;strong&gt;Simple handling of missing multimedia codec/format
3663 handlers.&lt;/strong&gt; When the media players encounter a format or codec
3664 it is not supporting, a dialog pop up asking the user if the system
3665 should search for a package that would add support for it. This
3666 happen with things like MP3, Windows Media or H.264. The selection
3667 and installation procedure is very similar to the Firefox browser
3668 plugin handling. This is as far as I know implemented using a
3669 gstreamer hook. The end result is that the user easily get access to
3670 the codecs that are present from the APT archives available, while
3671 explaining more on why a given format is unsupported by Ubuntu.&lt;/li&gt;
3672
3673 &lt;li&gt;&lt;strong&gt;Better browser handling of some MIME types.&lt;/strong&gt; When
3674 displaying a text/plain file in my Debian browser, it will propose to
3675 start emacs to show it. If I remember correctly, when doing the same
3676 in Kunbutu it show the file as a text file in the browser. At least I
3677 know Opera will show text files within the browser. I much prefer the
3678 latter behaviour.&lt;/li&gt;
3679
3680 &lt;/ol&gt;
3681
3682 &lt;p&gt;There are other nice features as well, like the simplified suite
3683 upgrader, but given that I am the one mostly doing the dist-upgrade,
3684 it do not matter much.&lt;/p&gt;
3685
3686 &lt;p&gt;I really hope we could get these features in place for the next
3687 Debian release. It would require the coordinated effort of several
3688 maintainers, but would make the end user experience a lot better.&lt;/p&gt;
3689 </description>
3690 </item>
3691
3692 <item>
3693 <title>Perl modules used by FixMyStreet which are missing in Debian/Squeeze</title>
3694 <link>http://people.skolelinux.org/pere/blog/Perl_modules_used_by_FixMyStreet_which_are_missing_in_Debian_Squeeze.html</link>
3695 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Perl_modules_used_by_FixMyStreet_which_are_missing_in_Debian_Squeeze.html</guid>
3696 <pubDate>Tue, 26 Jul 2011 12:25:00 +0200</pubDate>
3697 <description>&lt;p&gt;The Norwegian &lt;a href=&quot;http://www.fiksgatami.no/&quot;&gt;FiksGataMi&lt;/A&gt;
3698 site is build on Debian/Squeeze, and this platform was chosen because
3699 I am most familiar with Debian (being a Debian Developer for around 10
3700 years) because it is the latest stable Debian release which should get
3701 security support for a few years.&lt;/p&gt;
3702
3703 &lt;p&gt;The web service is written in Perl, and depend on some perl modules
3704 that are missing in Debian at the moment. It would be great if these
3705 modules were added to the Debian archive, allowing anyone to set up
3706 their own &lt;a href=&quot;http://www.fixmystreet.com&quot;&gt;FixMyStreet&lt;/a&gt; clone
3707 in their own country using only Debian packages. The list of modules
3708 missing in Debian/Squeeze isn&#39;t very long, and I hope the perl group
3709 will find time to package the 12 modules Catalyst::Plugin::SmartURI,
3710 Catalyst::Plugin::Unicode::Encoding, Catalyst::View::TT, Devel::Hide,
3711 Sort::Key, Statistics::Distributions, Template::Plugin::Comma,
3712 Template::Plugin::DateTime::Format, Term::Size::Any, Term::Size::Perl,
3713 URI::SmartURI and Web::Scraper to make the maintenance of FixMyStreet
3714 easier in the future.&lt;/p&gt;
3715
3716 &lt;p&gt;Thanks to the great tools in Debian, getting the missing modules
3717 installed on my server was a simple call to &#39;cpan2deb Module::Name&#39;
3718 and &#39;dpkg -i&#39; to install the resulting package. But this leave me
3719 with the responsibility of tracking security problems, which I really
3720 do not have time for.&lt;/p&gt;
3721 </description>
3722 </item>
3723
3724 <item>
3725 <title>Free Software vs. proprietary softare...</title>
3726 <link>http://people.skolelinux.org/pere/blog/Free_Software_vs__proprietary_softare___.html</link>
3727 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Free_Software_vs__proprietary_softare___.html</guid>
3728 <pubDate>Mon, 20 Jun 2011 12:50:00 +0200</pubDate>
3729 <description>&lt;p&gt;Reading
3730 &lt;a href=&quot;http://blog.thingiverse.com/2011/06/20/open-source-vs-closed-source-eulas/&quot;&gt;the
3731 thingiverse blog&lt;/a&gt;, I came across two highlights of interesting
3732 parts of the
3733 &lt;a href=&quot;http://wiki.blender.org/index.php/Autodesk_EULA&quot;&gt;Autodesk&lt;/a&gt;
3734 and
3735 &lt;a href=&quot;http://blog.makezine.com/archive/2011/06/things-you-cant-do-with-the-microsoft-kinect-sdk.html&quot;&gt;Microsoft
3736 Kinect&lt;/a&gt; End User License Agreements (EULAs), which illustrates
3737 quite well why I stay away from software with EULAs. Whenever I take
3738 the time to read their content, the terms are simply unacceptable.&lt;/p&gt;
3739 </description>
3740 </item>
3741
3742 <item>
3743 <title>Experimental Open311 API for the mySociety fixmystreet system</title>
3744 <link>http://people.skolelinux.org/pere/blog/Experimental_Open311_API_for_the_mySociety_fixmystreet_system.html</link>
3745 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Experimental_Open311_API_for_the_mySociety_fixmystreet_system.html</guid>
3746 <pubDate>Sat, 30 Apr 2011 17:20:00 +0200</pubDate>
3747 <description>&lt;p&gt;Today, the first draft implementation of an
3748 &lt;a href=&quot;http://www.open311.org/&quot;&gt;Open311 API&lt;/a&gt; for the Norwegian
3749 service &lt;a href=&quot;http://www.fiksgatami.no/&quot;&gt;FiksGataMi&lt;/a&gt; started to
3750 work. It is only available on the developer server for now, and I
3751 have not tested it using any existing Open311 client (I lack the
3752 platforms needed to run the clients I have found so far), but it is
3753 able to query the database and extract a list of open and closed
3754 requests within a given category and reported to a given municipality.
3755 I believe that is a good start to create a useful service for those
3756 that want to do data mining on the requests submitted so far.&lt;/p&gt;
3757
3758 &lt;p&gt;Where is it? Visit
3759 &lt;a href=&quot;http://fiksgatami-dev.nuug.no/open311.cgi/v2/&quot;&gt;http://fiksgatami-dev.nuug.no/open311.cgi/v2/&lt;/a&gt;
3760 to have a look. Please send feedback to the
3761 &lt;a href=&quot;http://lists.nuug.no/mailman/listinfo/fiksgatami&quot;&gt;fiksgatami
3762 (at) nuug.no&lt;/a&gt; mailing list.&lt;/p&gt;
3763 </description>
3764 </item>
3765
3766 <item>
3767 <title>Initial notes on adding Open311 server API on FixMyStreet</title>
3768 <link>http://people.skolelinux.org/pere/blog/Initial_notes_on_adding_Open311_server_API_on_FixMyStreet.html</link>
3769 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Initial_notes_on_adding_Open311_server_API_on_FixMyStreet.html</guid>
3770 <pubDate>Fri, 29 Apr 2011 10:00:00 +0200</pubDate>
3771 <description>&lt;p&gt;The last few days I have spent some time trying to add support for
3772 the &lt;a href=&quot;http://www.open311.org/&quot;&gt;Open311 API&lt;/a&gt; in the
3773 &lt;a href=&quot;http://www.fiksgatami.no/&quot;&gt;Norwegian FixMyStreet service&lt;/a&gt;.
3774 Earlier I believed Open311 would be a useful API to use to submit
3775 reports to the municipalities, but when I noticed that the
3776 &lt;a href=&quot;http://fixmystreet.org.nz/&quot;&gt;New Zealand version&lt;/a&gt; of
3777 FixMyStreet had implemented Open311 on the server side, it occurred to
3778 me that this was a nice way to allow the public, press and
3779 municipalities to do data mining directly in the FixMyStreet service.
3780 Thus I went to work implementing the Open311 specification for
3781 FixMyStreet. The implementation is not yet ready, but I am starting
3782 to get a draft limping along. In the process, I have discovered a few
3783 issues with the Open311 specification.&lt;/p&gt;
3784
3785 &lt;p&gt;One obvious missing feature is the lack of natural language
3786 handling in the specification. The specification seem to assume all
3787 reports will be written in English, and do not provide a way for the
3788 receiving end to specify which languages are understood there. To be
3789 able to use the same client and submit to several Open311 receivers,
3790 it would be useful to know which language to use when writing reports.
3791 I believe the specification should be extended to allow the receivers
3792 of problem reports to specify which language they accept, and the
3793 submitter to specify which language the report is written in.
3794 Language of a text can also be automatically guessed using statistical
3795 methods, but for multi-lingual persons like myself, it is useful to
3796 know which language to use when writing a problem report. I suspect
3797 some lang=nb,nn kind of attribute would solve it.&lt;/p&gt;
3798
3799 &lt;p&gt;A key part of the Open311 API is the list of services provided,
3800 which is similar to the categories used by FixMyStreet. One issue I
3801 run into is the need to specify both name and unique identifier for
3802 each category. The specification do not state that the identifier
3803 should be numeric, but all example implementations have used numbers
3804 here. In FixMyStreet, there is no number associated with each
3805 category. As the specification do not forbid it, I will use the name
3806 as the unique identifier for now and see how open311 clients handle
3807 it.&lt;/p&gt;
3808
3809 &lt;p&gt;The report format in open311 and the report format in FixMyStreet
3810 differ in a key part. FixMyStreet have a title and a description,
3811 while Open311 only have a description and lack the title. I&#39;m not
3812 quite sure how to best handle this yet. When asking for a FixMyStreet
3813 report in Open311 format, I just merge title an description into the
3814 open311 description, but this is not going to work if the open311 API
3815 should be used for submitting new reports to FixMyStreet.&lt;/p&gt;
3816
3817 &lt;p&gt;The search feature in Open311 is missing a way to ask for problems
3818 near a geographic location. I believe this is important if one is to
3819 use Open311 as the query language for mobile units. The specification
3820 should be extended to handle this, probably using some new lat=, lon=
3821 and range= options.&lt;/p&gt;
3822
3823 &lt;p&gt;The final challenge I see is that the FixMyStreet code handle
3824 several administrations in one interface, while the Open311 API seem
3825 to assume only one administration. For FixMyStreet, this mean a
3826 report can be sent to several administrations, and the categories
3827 available depend on the location of the problem. Not quite sure how
3828 to best handle this. I&#39;ve noticed
3829 &lt;a href=&quot;http://seeclickfix.com/open311/&quot;&gt;SeeClickFix&lt;/a&gt; added
3830 latitude and longitude options to the services request, but it do not
3831 solve the problem of what to return when no location is specified.
3832 Will have to investigate this a bit more.&lt;/p&gt;
3833
3834 &lt;p&gt;My distaste for web forums have kept me from bringing these issues
3835 up with the open311 developer group. I really wish they had a email
3836 list available via &lt;a href=&quot;http://www.gmane.org/&quot;&gt;Gmane&lt;/a&gt; to use for
3837 discussions instead of only
3838 &lt;a href=&quot;http://lists.open311.org/groups/discuss&quot;&gt;a forum&lt;a/&gt;. Oh,
3839 well. That will probably resolve itself, one way or another. I&#39;ve
3840 also tried visiting the IRC channel #open311 on FreeNode, but no-one
3841 seem to reply to my questions there. This make me wonder if I just
3842 fail to understand how the open311 community work. It sure do not
3843 work like the free software project communities I am used to.&lt;/p&gt;
3844 </description>
3845 </item>
3846
3847 <item>
3848 <title>Gnash enteres Google Summer of Code 2011</title>
3849 <link>http://people.skolelinux.org/pere/blog/Gnash_enteres_Google_Summer_of_Code_2011.html</link>
3850 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Gnash_enteres_Google_Summer_of_Code_2011.html</guid>
3851 <pubDate>Wed, 6 Apr 2011 09:00:00 +0200</pubDate>
3852 <description>&lt;p&gt;&lt;a href=&quot;http://www.getgnash.org/&quot;&gt;The Gnash project&lt;/a&gt; is still
3853 the most promising solution for a Free Software Flash implementation.
3854 A few days ago the project
3855 &lt;a href=&quot;http://lists.gnu.org/archive/html/gnash-dev/2011-04/msg00011.html&quot;&gt;announced&lt;/a&gt;
3856 that it will participate in Google Summer of Code. I hope many
3857 students apply, and that some of them succeed in getting AVM2 support
3858 into Gnash.&lt;/p&gt;
3859 </description>
3860 </item>
3861
3862 <item>
3863 <title>A Norwegian FixMyStreet have kept me busy the last few weeks</title>
3864 <link>http://people.skolelinux.org/pere/blog/A_Norwegian_FixMyStreet_have_kept_me_busy_the_last_few_weeks.html</link>
3865 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/A_Norwegian_FixMyStreet_have_kept_me_busy_the_last_few_weeks.html</guid>
3866 <pubDate>Sun, 3 Apr 2011 22:50:00 +0200</pubDate>
3867 <description>&lt;p&gt;Here is a small update for my English readers. Most of my blog
3868 posts have been in Norwegian the last few weeks, so here is a short
3869 update in English.&lt;/p&gt;
3870
3871 &lt;p&gt;The kids still keep me too busy to get much free software work
3872 done, but I did manage to organise a project to get a Norwegian port
3873 of the British service
3874 &lt;a href=&quot;http://www.fixmystreet.com/&quot;&gt;FixMyStreet&lt;/a&gt; up and running,
3875 and it has been running for a month now. The entire project has been
3876 organised by me and two others. Around Christmas we gathered sponsors
3877 to fund the development work. In January I drafted a contract with
3878 &lt;a href=&quot;http://www.mysociety.org/&quot;&gt;mySociety&lt;/a&gt; on what to develop,
3879 and in February the development took place. Most of it involved
3880 converting the source to use GPS coordinates instead of British
3881 easting/northing, and the resulting code should be a lot easier to get
3882 running in any country by now. The Norwegian
3883 &lt;a href=&quot;http://www.fiksgatami.no/&quot;&gt;FiksGataMi&lt;/a&gt; is using
3884 &lt;a href=&quot;http://www.openstreetmap.org/&quot;&gt;OpenStreetmap&lt;/a&gt; as the map
3885 source and the source for administrative borders in Norway, and
3886 support for this had to be added/fixed.&lt;/p&gt;
3887
3888 &lt;p&gt;The Norwegian version went live March 3th, and we spent the weekend
3889 polishing the system before we announced it March 7th. The system is
3890 running on a KVM instance of Debian/Squeeze, and has seen almost 3000
3891 problem reports in a few weeks. Soon we hope to announce the Android
3892 and iPhone versions making it even easier to report problems with the
3893 public infrastructure.&lt;/p&gt;
3894
3895 &lt;p&gt;Perhaps something to consider for those of you in countries without
3896 such service?&lt;/p&gt;
3897 </description>
3898 </item>
3899
3900 <item>
3901 <title>Using NVD and CPE to track CVEs in locally maintained software</title>
3902 <link>http://people.skolelinux.org/pere/blog/Using_NVD_and_CPE_to_track_CVEs_in_locally_maintained_software.html</link>
3903 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Using_NVD_and_CPE_to_track_CVEs_in_locally_maintained_software.html</guid>
3904 <pubDate>Fri, 28 Jan 2011 15:40:00 +0100</pubDate>
3905 <description>&lt;p&gt;The last few days I have looked at ways to track open security
3906 issues here at my work with the University of Oslo. My idea is that
3907 it should be possible to use the information about security issues
3908 available on the Internet, and check our locally
3909 maintained/distributed software against this information. It should
3910 allow us to verify that no known security issues are forgotten. The
3911 CVE database listing vulnerabilities seem like a great central point,
3912 and by using the package lists from Debian mapped to CVEs provided by
3913 the testing security team, I believed it should be possible to figure
3914 out which security holes were present in our free software
3915 collection.&lt;/p&gt;
3916
3917 &lt;p&gt;After reading up on the topic, it became obvious that the first
3918 building block is to be able to name software packages in a unique and
3919 consistent way across data sources. I considered several ways to do
3920 this, for example coming up with my own naming scheme like using URLs
3921 to project home pages or URLs to the Freshmeat entries, or using some
3922 existing naming scheme. And it seem like I am not the first one to
3923 come across this problem, as MITRE already proposed and implemented a
3924 solution. Enter the &lt;a href=&quot;http://cpe.mitre.org/index.html&quot;&gt;Common
3925 Platform Enumeration&lt;/a&gt; dictionary, a vocabulary for referring to
3926 software, hardware and other platform components. The CPE ids are
3927 mapped to CVEs in the &lt;a href=&quot;http://web.nvd.nist.gov/&quot;&gt;National
3928 Vulnerability Database&lt;/a&gt;, allowing me to look up know security
3929 issues for any CPE name. With this in place, all I need to do is to
3930 locate the CPE id for the software packages we use at the university.
3931 This is fairly trivial (I google for &#39;cve cpe $package&#39; and check the
3932 NVD entry if a CVE for the package exist).&lt;/p&gt;
3933
3934 &lt;p&gt;To give you an example. The GNU gzip source package have the CPE
3935 name cpe:/a:gnu:gzip. If the old version 1.3.3 was the package to
3936 check out, one could look up
3937 &lt;a href=&quot;http://web.nvd.nist.gov/view/vuln/search?cpe=cpe%3A%2Fa%3Agnu%3Agzip:1.3.3&quot;&gt;cpe:/a:gnu:gzip:1.3.3
3938 in NVD&lt;/a&gt; and get a list of 6 security holes with public CVE entries.
3939 The most recent one is
3940 &lt;a href=&quot;http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-0001&quot;&gt;CVE-2010-0001&lt;/a&gt;,
3941 and at the bottom of the NVD page for this vulnerability the complete
3942 list of affected versions is provided.&lt;/p&gt;
3943
3944 &lt;p&gt;The NVD database of CVEs is also available as a XML dump, allowing
3945 for offline processing of issues. Using this dump, I&#39;ve written a
3946 small script taking a list of CPEs as input and list all CVEs
3947 affecting the packages represented by these CPEs. One give it CPEs
3948 with version numbers as specified above and get a list of open
3949 security issues out.&lt;/p&gt;
3950
3951 &lt;p&gt;Of course for this approach to be useful, the quality of the NVD
3952 information need to be high. For that to happen, I believe as many as
3953 possible need to use and contribute to the NVD database. I notice
3954 RHEL is providing
3955 &lt;a href=&quot;https://www.redhat.com/security/data/metrics/rhsamapcpe.txt&quot;&gt;a
3956 map from CVE to CPE&lt;/a&gt;, indicating that they are using the CPE
3957 information. I&#39;m not aware of Debian and Ubuntu doing the same.&lt;/p&gt;
3958
3959 &lt;p&gt;To get an idea about the quality for free software, I spent some
3960 time making it possible to compare the CVE database from Debian with
3961 the CVE database in NVD. The result look fairly good, but there are
3962 some inconsistencies in NVD (same software package having several
3963 CPEs), and some inaccuracies (NVD not mentioning buggy packages that
3964 Debian believe are affected by a CVE). Hope to find time to improve
3965 the quality of NVD, but that require being able to get in touch with
3966 someone maintaining it. So far my three emails with questions and
3967 corrections have not seen any reply, but I hope contact can be
3968 established soon.&lt;/p&gt;
3969
3970 &lt;p&gt;An interesting application for CPEs is cross platform package
3971 mapping. It would be useful to know which packages in for example
3972 RHEL, OpenSuSe and Mandriva are missing from Debian and Ubuntu, and
3973 this would be trivial if all linux distributions provided CPE entries
3974 for their packages.&lt;/p&gt;
3975 </description>
3976 </item>
3977
3978 <item>
3979 <title>Which module is loaded for a given PCI and USB device?</title>
3980 <link>http://people.skolelinux.org/pere/blog/Which_module_is_loaded_for_a_given_PCI_and_USB_device_.html</link>
3981 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Which_module_is_loaded_for_a_given_PCI_and_USB_device_.html</guid>
3982 <pubDate>Sun, 23 Jan 2011 00:20:00 +0100</pubDate>
3983 <description>&lt;p&gt;In the
3984 &lt;a href=&quot;http://packages.qa.debian.org/discover-data&quot;&gt;discover-data&lt;/a&gt;
3985 package in Debian, there is a script to report useful information
3986 about the running hardware for use when people report missing
3987 information. One part of this script that I find very useful when
3988 debugging hardware problems, is the part mapping loaded kernel module
3989 to the PCI device it claims. It allow me to quickly see if the kernel
3990 module I expect is driving the hardware I am struggling with. To see
3991 the output, make sure discover-data is installed and run
3992 &lt;tt&gt;/usr/share/bug/discover-data 3&gt;&amp;1&lt;/tt&gt;. The relevant output on
3993 one of my machines like this:&lt;/p&gt;
3994
3995 &lt;pre&gt;
3996 loaded modules:
3997 10de:03eb i2c_nforce2
3998 10de:03f1 ohci_hcd
3999 10de:03f2 ehci_hcd
4000 10de:03f0 snd_hda_intel
4001 10de:03ec pata_amd
4002 10de:03f6 sata_nv
4003 1022:1103 k8temp
4004 109e:036e bttv
4005 109e:0878 snd_bt87x
4006 11ab:4364 sky2
4007 &lt;/pre&gt;
4008
4009 &lt;p&gt;The code in question look like this, slightly modified for
4010 readability and to drop the output to file descriptor 3:&lt;/p&gt;
4011
4012 &lt;pre&gt;
4013 if [ -d /sys/bus/pci/devices/ ] ; then
4014 echo loaded pci modules:
4015 (
4016 cd /sys/bus/pci/devices/
4017 for address in * ; do
4018 if [ -d &quot;$address/driver/module&quot; ] ; then
4019 module=`cd $address/driver/module ; pwd -P | xargs basename`
4020 if grep -q &quot;^$module &quot; /proc/modules ; then
4021 address=$(echo $address |sed s/0000://)
4022 id=`lspci -n -s $address | tail -n 1 | awk &#39;{print $3}&#39;`
4023 echo &quot;$id $module&quot;
4024 fi
4025 fi
4026 done
4027 )
4028 echo
4029 fi
4030 &lt;/pre&gt;
4031
4032 &lt;p&gt;Similar code could be used to extract USB device module
4033 mappings:&lt;/p&gt;
4034
4035 &lt;pre&gt;
4036 if [ -d /sys/bus/usb/devices/ ] ; then
4037 echo loaded usb modules:
4038 (
4039 cd /sys/bus/usb/devices/
4040 for address in * ; do
4041 if [ -d &quot;$address/driver/module&quot; ] ; then
4042 module=`cd $address/driver/module ; pwd -P | xargs basename`
4043 if grep -q &quot;^$module &quot; /proc/modules ; then
4044 address=$(echo $address |sed s/0000://)
4045 id=$(lsusb -s $address | tail -n 1 | awk &#39;{print $6}&#39;)
4046 if [ &quot;$id&quot; ] ; then
4047 echo &quot;$id $module&quot;
4048 fi
4049 fi
4050 fi
4051 done
4052 )
4053 echo
4054 fi
4055 &lt;/pre&gt;
4056
4057 &lt;p&gt;This might perhaps be something to include in other tools as
4058 well.&lt;/p&gt;
4059 </description>
4060 </item>
4061
4062 <item>
4063 <title>The video format most supported in web browsers?</title>
4064 <link>http://people.skolelinux.org/pere/blog/The_video_format_most_supported_in_web_browsers_.html</link>
4065 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_video_format_most_supported_in_web_browsers_.html</guid>
4066 <pubDate>Sun, 16 Jan 2011 00:20:00 +0100</pubDate>
4067 <description>&lt;p&gt;The video format struggle on the web continues, and the three
4068 contenders seem to be Ogg Theora, H.264 and WebM. Most video sites
4069 seem to use H.264, while others use Ogg Theora. Interestingly enough,
4070 the comments I see give me the feeling that a lot of people believe
4071 H.264 is the most supported video format in browsers, but according to
4072 the Wikipedia article on
4073 &lt;a href=&quot;http://en.wikipedia.org/wiki/HTML5_video&quot;&gt;HTML5 video&lt;/a&gt;,
4074 this is not true. Check out the nice table of supprted formats in
4075 different browsers there. The format supported by most browsers is
4076 Ogg Theora, supported by released versions of Mozilla Firefox, Google
4077 Chrome, Chromium, Opera, Konqueror, Epiphany, Origyn Web Browser and
4078 BOLT browser, while not supported by Internet Explorer nor Safari.
4079 The runner up is WebM supported by released versions of Google Chrome
4080 Chromium Opera and Origyn Web Browser, and test versions of Mozilla
4081 Firefox. H.264 is supported by released versions of Safari, Origyn
4082 Web Browser and BOLT browser, and the test version of Internet
4083 Explorer. Those wanting Ogg Theora support in Internet Explorer and
4084 Safari can install plugins to get it.&lt;/p&gt;
4085
4086 &lt;p&gt;To me, the simple conclusion from this is that to reach most users
4087 without any extra software installed, one uses Ogg Theora with the
4088 HTML5 video tag. Of course to reach all those without a browser
4089 handling HTML5, one need fallback mechanisms. In
4090 &lt;a href=&quot;http://www.nuug.no/&quot;&gt;NUUG&lt;/a&gt;, we provide first fallback to a
4091 plugin capable of playing MPEG1 video, and those without such support
4092 we have a second fallback to the Cortado java applet playing Ogg
4093 Theora. This seem to work quite well, as can be seen in an &lt;a
4094 href=&quot;http://www.nuug.no/aktiviteter/20110111-semantic-web/&quot;&gt;example
4095 from last week&lt;/a&gt;.&lt;/p&gt;
4096
4097 &lt;p&gt;The reason Ogg Theora is the most supported format, and H.264 is
4098 the least supported is simple. Implementing and using H.264
4099 require royalty payment to MPEG-LA, and the terms of use from MPEG-LA
4100 are incompatible with free software licensing. If you believed H.264
4101 was without royalties and license terms, check out
4102 &quot;&lt;a href=&quot;http://webmink.com/essays/h-264/&quot;&gt;H.264 – Not The Kind Of
4103 Free That Matters&lt;/a&gt;&quot; by Simon Phipps.&lt;/p&gt;
4104
4105 &lt;p&gt;A incomplete list of sites providing video in Ogg Theora is
4106 available from
4107 &lt;a href=&quot;http://wiki.xiph.org/index.php/List_of_Theora_videos&quot;&gt;the
4108 Xiph.org wiki&lt;/a&gt;, if you want to have a look. I&#39;m not aware of a
4109 similar list for WebM nor H.264.&lt;/p&gt;
4110
4111 &lt;p&gt;Update 2011-01-16 09:40: A question from Tollef on IRC made me
4112 realise that I failed to make it clear enough this text is about the
4113 &amp;lt;video&amp;gt; tag support in browsers and not the video support
4114 provided by external plugins like the Flash plugins.&lt;/p&gt;
4115 </description>
4116 </item>
4117
4118 <item>
4119 <title>Chrome plan to drop H.264 support for HTML5 &amp;lt;video&amp;gt;</title>
4120 <link>http://people.skolelinux.org/pere/blog/Chrome_plan_to_drop_H_264_support_for_HTML5__lt_video_gt_.html</link>
4121 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Chrome_plan_to_drop_H_264_support_for_HTML5__lt_video_gt_.html</guid>
4122 <pubDate>Wed, 12 Jan 2011 22:10:00 +0100</pubDate>
4123 <description>&lt;p&gt;Today I discovered
4124 &lt;a href=&quot;http://www.digi.no/860070/google-dropper-h264-stotten-i-chrome&quot;&gt;via
4125 digi.no&lt;/a&gt; that the Chrome developers, in a surprising announcement,
4126 &lt;a href=&quot;http://blog.chromium.org/2011/01/html-video-codec-support-in-chrome.html&quot;&gt;yesterday
4127 announced&lt;/a&gt; plans to drop H.264 support for HTML5 &amp;lt;video&amp;gt; in
4128 the browser. The argument used is that H.264 is not a &quot;completely
4129 open&quot; codec technology. If you believe H.264 was free for everyone
4130 to use, I recommend having a look at the essay
4131 &quot;&lt;a href=&quot;http://webmink.com/essays/h-264/&quot;&gt;H.264 – Not The Kind Of
4132 Free That Matters&lt;/a&gt;&quot;. It is not free of cost for creators of video
4133 tools, nor those of us that want to publish on the Internet, and the
4134 terms provided by MPEG-LA excludes free software projects from
4135 licensing the patents needed for H.264. Some background information
4136 on the Google announcement is available from
4137 &lt;a href=&quot;http://www.osnews.com/story/24243/Google_To_Drop_H264_Support_from_Chrome&quot;&gt;OSnews&lt;/a&gt;.
4138 A good read. :)&lt;/p&gt;
4139
4140 &lt;p&gt;Personally, I believe it is great that Google is taking a stand to
4141 promote equal terms for everyone when it comes to video publishing on
4142 the Internet. This can only be done by publishing using free and open
4143 standards, which is only possible if the web browsers provide support
4144 for these free and open standards. At the moment there seem to be two
4145 camps in the web browser world when it come to video support. Some
4146 browsers support H.264, and others support
4147 &lt;a href=&quot;http://www.theora.org/&quot;&gt;Ogg Theora&lt;/a&gt; and
4148 &lt;a href=&quot;http://www.webmproject.org/&quot;&gt;WebM&lt;/a&gt;
4149 (&lt;a href=&quot;http://www.diracvideo.org/&quot;&gt;Dirac&lt;/a&gt; is not really an option
4150 yet), forcing those of us that want to publish video on the Internet
4151 and which can not accept the terms of use presented by MPEG-LA for
4152 H.264 to not reach all potential viewers.
4153 Wikipedia keep &lt;a href=&quot;http://en.wikipedia.org/wiki/HTML5_video&quot;&gt;an
4154 updated summary&lt;/a&gt; of the current browser support.&lt;/p&gt;
4155
4156 &lt;p&gt;Not surprising, several people would prefer Google to keep
4157 promoting H.264, and John Gruber
4158 &lt;a href=&quot;http://daringfireball.net/2011/01/simple_questions&quot;&gt;presents
4159 the mind set&lt;/a&gt; of these people quite well. His rhetorical questions
4160 provoked a reply from Thom Holwerda with another set of questions
4161 &lt;a href=&quot;http://www.osnews.com/story/24245/10_Questions_for_John_Gruber_Regarding_H_264_WebM&quot;&gt;presenting
4162 the issues with H.264&lt;/a&gt;. Both are worth a read.&lt;/p&gt;
4163
4164 &lt;p&gt;Some argue that if Google is dropping H.264 because it isn&#39;t free,
4165 they should also drop support for the Adobe Flash plugin. This
4166 argument was covered by Simon Phipps in
4167 &lt;a href=&quot;http://blogs.computerworlduk.com/simon-says/2011/01/google-and-h264---far-from-hypocritical/index.htm&quot;&gt;todays
4168 blog post&lt;/a&gt;, which I find to put the issue in context. To me it
4169 make perfect sense to drop native H.264 support for HTML5 in the
4170 browser while still allowing plugins.&lt;/p&gt;
4171
4172 &lt;p&gt;I suspect the reason this announcement make so many people protest,
4173 is that all the users and promoters of H.264 suddenly get an uneasy
4174 feeling that they might be backing the wrong horse. A lot of TV
4175 broadcasters have been moving to H.264 the last few years, and a lot
4176 of money has been invested in hardware based on the belief that they
4177 could use the same video format for both broadcasting and web
4178 publishing. Suddenly this belief is shaken.&lt;/p&gt;
4179
4180 &lt;p&gt;An interesting question is why Google is doing this. While the
4181 presented argument might be true enough, I believe Google would only
4182 present the argument if the change make sense from a business
4183 perspective. One reason might be that they are currently negotiating
4184 with MPEG-LA over royalties or usage terms, and giving MPEG-LA the
4185 feeling that dropping H.264 completely from Chroome, Youtube and
4186 Google Video would improve the negotiation position of Google.
4187 Another reason might be that Google want to save money by not having
4188 to pay the video tax to MPEG-LA at all, and thus want to move to a
4189 video format not requiring royalties at all. A third reason might be
4190 that the Chrome development team simply want to avoid the
4191 Chrome/Chromium split to get more help with the development of Chrome.
4192 I guess time will tell.&lt;/p&gt;
4193
4194 &lt;p&gt;Update 2011-01-15: The Google Chrome team provided
4195 &lt;a href=&quot;http://blog.chromium.org/2011/01/more-about-chrome-html-video-codec.html&quot;&gt;more
4196 background and information on the move&lt;/a&gt; it a blog post yesterday.&lt;/p&gt;
4197 </description>
4198 </item>
4199
4200 <item>
4201 <title>What standards are Free and Open as defined by Digistan?</title>
4202 <link>http://people.skolelinux.org/pere/blog/What_standards_are_Free_and_Open_as_defined_by_Digistan_.html</link>
4203 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/What_standards_are_Free_and_Open_as_defined_by_Digistan_.html</guid>
4204 <pubDate>Thu, 30 Dec 2010 23:15:00 +0100</pubDate>
4205 <description>&lt;p&gt;After trying to
4206 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Is_Ogg_Theora_a_free_and_open_standard_.html&quot;&gt;compare
4207 Ogg Theora&lt;/a&gt; to
4208 &lt;a href=&quot;http://www.digistan.org/open-standard:definition&quot;&gt;the Digistan
4209 definition&lt;/a&gt; of a free and open standard, I concluded that this need
4210 to be done for more standards and started on a framework for doing
4211 this. As a start, I want to get the status for all the standards in
4212 the Norwegian reference directory, which include UTF-8, HTML, PDF, ODF,
4213 JPEG, PNG, SVG and others. But to be able to complete this in a
4214 reasonable time frame, I will need help.&lt;/p&gt;
4215
4216 &lt;p&gt;If you want to help out with this work, please visit
4217 &lt;a href=&quot;http://wiki.nuug.no/grupper/standard/digistan-analyse&quot;&gt;the
4218 wiki pages I have set up for this&lt;/a&gt;, and let me know that you want
4219 to help out. The IRC channel #nuug on irc.freenode.net is a good
4220 place to coordinate this for now, as it is the IRC channel for the
4221 NUUG association where I have created the framework (I am the leader
4222 of the Norwegian Unix User Group).&lt;/p&gt;
4223
4224 &lt;p&gt;The framework is still forming, and a lot is left to do. Do not be
4225 scared by the sketchy form of the current pages. :)&lt;/p&gt;
4226 </description>
4227 </item>
4228
4229 <item>
4230 <title>The many definitions of a open standard</title>
4231 <link>http://people.skolelinux.org/pere/blog/The_many_definitions_of_a_open_standard.html</link>
4232 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_many_definitions_of_a_open_standard.html</guid>
4233 <pubDate>Mon, 27 Dec 2010 14:45:00 +0100</pubDate>
4234 <description>&lt;p&gt;One of the reasons I like the Digistan definition of
4235 &quot;&lt;a href=&quot;http://www.digistan.org/open-standard:definition&quot;&gt;Free and
4236 Open Standard&lt;/a&gt;&quot; is that this is a new term, and thus the meaning of
4237 the term has been decided by Digistan. The term &quot;Open Standard&quot; has
4238 become so misunderstood that it is no longer very useful when talking
4239 about standards. One end up discussing which definition is the best
4240 one and with such frame the only one gaining are the proponents of
4241 de-facto standards and proprietary solutions.&lt;/p&gt;
4242
4243 &lt;p&gt;But to give us an idea about the diversity of definitions of open
4244 standards, here are a few that I know about. This list is not
4245 complete, but can be a starting point for those that want to do a
4246 complete survey. More definitions are available on the
4247 &lt;a href=&quot;http://en.wikipedia.org/wiki/Open_standard&quot;&gt;wikipedia
4248 page&lt;/a&gt;.&lt;/p&gt;
4249
4250 &lt;p&gt;First off is my favourite, the definition from the European
4251 Interoperability Framework version 1.0. Really sad to notice that BSA
4252 and others has succeeded in getting it removed from version 2.0 of the
4253 framework by stacking the committee drafting the new version with
4254 their own people. Anyway, the definition is still available and it
4255 include the key properties needed to make sure everyone can use a
4256 specification on equal terms.&lt;/p&gt;
4257
4258 &lt;blockquote&gt;
4259
4260 &lt;p&gt;The following are the minimal characteristics that a specification
4261 and its attendant documents must have in order to be considered an
4262 open standard:&lt;/p&gt;
4263
4264 &lt;ul&gt;
4265
4266 &lt;li&gt;The standard is adopted and will be maintained by a not-for-profit
4267 organisation, and its ongoing development occurs on the basis of an
4268 open decision-making procedure available to all interested parties
4269 (consensus or majority decision etc.).&lt;/li&gt;
4270
4271 &lt;li&gt;The standard has been published and the standard specification
4272 document is available either freely or at a nominal charge. It must be
4273 permissible to all to copy, distribute and use it for no fee or at a
4274 nominal fee.&lt;/li&gt;
4275
4276 &lt;li&gt;The intellectual property - i.e. patents possibly present - of
4277 (parts of) the standard is made irrevocably available on a royalty-
4278 free basis.&lt;/li&gt;
4279
4280 &lt;li&gt;There are no constraints on the re-use of the standard.&lt;/li&gt;
4281
4282 &lt;/ul&gt;
4283 &lt;/blockquote&gt;
4284
4285 &lt;p&gt;Another one originates from my friends over at
4286 &lt;a href=&quot;http://www.dkuug.dk/&quot;&gt;DKUUG&lt;/a&gt;, who coined and gathered
4287 support for &lt;a href=&quot;http://www.aaben-standard.dk/&quot;&gt;this
4288 definition&lt;/a&gt; in 2004. It even made it into the Danish parlament as
4289 &lt;a href=&quot;http://www.ft.dk/dokumenter/tingdok.aspx?/samling/20051/beslutningsforslag/B103/som_fremsat.htm&quot;&gt;their
4290 definition of a open standard&lt;/a&gt;. Another from a different part of
4291 the Danish government is available from the wikipedia page.&lt;/p&gt;
4292
4293 &lt;blockquote&gt;
4294
4295 &lt;p&gt;En åben standard opfylder følgende krav:&lt;/p&gt;
4296
4297 &lt;ol&gt;
4298
4299 &lt;li&gt;Veldokumenteret med den fuldstændige specifikation offentligt
4300 tilgængelig.&lt;/li&gt;
4301
4302 &lt;li&gt;Frit implementerbar uden økonomiske, politiske eller juridiske
4303 begrænsninger på implementation og anvendelse.&lt;/li&gt;
4304
4305 &lt;li&gt;Standardiseret og vedligeholdt i et åbent forum (en såkaldt
4306 &quot;standardiseringsorganisation&quot;) via en åben proces.&lt;/li&gt;
4307
4308 &lt;/ol&gt;
4309
4310 &lt;/blockquote&gt;
4311
4312 &lt;p&gt;Then there is &lt;a href=&quot;http://www.fsfe.org/projects/os/def.html&quot;&gt;the
4313 definition&lt;/a&gt; from Free Software Foundation Europe.&lt;/p&gt;
4314
4315 &lt;blockquote&gt;
4316
4317 &lt;p&gt;An Open Standard refers to a format or protocol that is&lt;/p&gt;
4318
4319 &lt;ol&gt;
4320
4321 &lt;li&gt;subject to full public assessment and use without constraints in a
4322 manner equally available to all parties;&lt;/li&gt;
4323
4324 &lt;li&gt;without any components or extensions that have dependencies on
4325 formats or protocols that do not meet the definition of an Open
4326 Standard themselves;&lt;/li&gt;
4327
4328 &lt;li&gt;free from legal or technical clauses that limit its utilisation by
4329 any party or in any business model;&lt;/li&gt;
4330
4331 &lt;li&gt;managed and further developed independently of any single vendor
4332 in a process open to the equal participation of competitors and third
4333 parties;&lt;/li&gt;
4334
4335 &lt;li&gt;available in multiple complete implementations by competing
4336 vendors, or as a complete implementation equally available to all
4337 parties.&lt;/li&gt;
4338
4339 &lt;/ol&gt;
4340
4341 &lt;/blockquote&gt;
4342
4343 &lt;p&gt;A long time ago, SUN Microsystems, now bought by Oracle, created
4344 its
4345 &lt;a href=&quot;http://blogs.sun.com/dennisding/resource/Open%20Standard%20Definition.pdf&quot;&gt;Open
4346 Standards Checklist&lt;/a&gt; with a fairly detailed description.&lt;/p&gt;
4347
4348 &lt;blockquote&gt;
4349 &lt;p&gt;Creation and Management of an Open Standard
4350
4351 &lt;ul&gt;
4352
4353 &lt;li&gt;Its development and management process must be collaborative and
4354 democratic:
4355
4356 &lt;ul&gt;
4357
4358 &lt;li&gt;Participation must be accessible to all those who wish to
4359 participate and can meet fair and reasonable criteria
4360 imposed by the organization under which it is developed
4361 and managed.&lt;/li&gt;
4362
4363 &lt;li&gt;The processes must be documented and, through a known
4364 method, can be changed through input from all
4365 participants.&lt;/li&gt;
4366
4367 &lt;li&gt;The process must be based on formal and binding commitments for
4368 the disclosure and licensing of intellectual property rights.&lt;/li&gt;
4369
4370 &lt;li&gt;Development and management should strive for consensus,
4371 and an appeals process must be clearly outlined.&lt;/li&gt;
4372
4373 &lt;li&gt;The standard specification must be open to extensive
4374 public review at least once in its life-cycle, with
4375 comments duly discussed and acted upon, if required.&lt;/li&gt;
4376
4377 &lt;/ul&gt;
4378
4379 &lt;/li&gt;
4380
4381 &lt;/ul&gt;
4382
4383 &lt;p&gt;Use and Licensing of an Open Standard&lt;/p&gt;
4384 &lt;ul&gt;
4385
4386 &lt;li&gt;The standard must describe an interface, not an implementation,
4387 and the industry must be capable of creating multiple, competing
4388 implementations to the interface described in the standard without
4389 undue or restrictive constraints. Interfaces include APIs,
4390 protocols, schemas, data formats and their encoding.&lt;/li&gt;
4391
4392 &lt;li&gt; The standard must not contain any proprietary &quot;hooks&quot; that create
4393 a technical or economic barriers&lt;/li&gt;
4394
4395 &lt;li&gt;Faithful implementations of the standard must
4396 interoperate. Interoperability means the ability of a computer
4397 program to communicate and exchange information with other computer
4398 programs and mutually to use the information which has been
4399 exchanged. This includes the ability to use, convert, or exchange
4400 file formats, protocols, schemas, interface information or
4401 conventions, so as to permit the computer program to work with other
4402 computer programs and users in all the ways in which they are
4403 intended to function.&lt;/li&gt;
4404
4405 &lt;li&gt;It must be permissible for anyone to copy, distribute and read the
4406 standard for a nominal fee, or even no fee. If there is a fee, it
4407 must be low enough to not preclude widespread use.&lt;/li&gt;
4408
4409 &lt;li&gt;It must be possible for anyone to obtain free (no royalties or
4410 fees; also known as &quot;royalty free&quot;), worldwide, non-exclusive and
4411 perpetual licenses to all essential patent claims to make, use and
4412 sell products based on the standard. The only exceptions are
4413 terminations per the reciprocity and defensive suspension terms
4414 outlined below. Essential patent claims include pending, unpublished
4415 patents, published patents, and patent applications. The license is
4416 only for the exact scope of the standard in question.
4417
4418 &lt;ul&gt;
4419
4420 &lt;li&gt; May be conditioned only on reciprocal licenses to any of
4421 licensees&#39; patent claims essential to practice that standard
4422 (also known as a reciprocity clause)&lt;/li&gt;
4423
4424 &lt;li&gt; May be terminated as to any licensee who sues the licensor
4425 or any other licensee for infringement of patent claims
4426 essential to practice that standard (also known as a
4427 &quot;defensive suspension&quot; clause)&lt;/li&gt;
4428
4429 &lt;li&gt; The same licensing terms are available to every potential
4430 licensor&lt;/li&gt;
4431
4432 &lt;/ul&gt;
4433 &lt;/li&gt;
4434
4435 &lt;li&gt;The licensing terms of an open standards must not preclude
4436 implementations of that standard under open source licensing terms
4437 or restricted licensing terms&lt;/li&gt;
4438
4439 &lt;/ul&gt;
4440
4441 &lt;/blockquote&gt;
4442
4443 &lt;p&gt;It is said that one of the nice things about standards is that
4444 there are so many of them. As you can see, the same holds true for
4445 open standard definitions. Most of the definitions have a lot in
4446 common, and it is not really controversial what properties a open
4447 standard should have, but the diversity of definitions have made it
4448 possible for those that want to avoid a level marked field and real
4449 competition to downplay the significance of open standards. I hope we
4450 can turn this tide by focusing on the advantages of Free and Open
4451 Standards.&lt;/p&gt;
4452 </description>
4453 </item>
4454
4455 <item>
4456 <title>Is Ogg Theora a free and open standard?</title>
4457 <link>http://people.skolelinux.org/pere/blog/Is_Ogg_Theora_a_free_and_open_standard_.html</link>
4458 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Is_Ogg_Theora_a_free_and_open_standard_.html</guid>
4459 <pubDate>Sat, 25 Dec 2010 20:25:00 +0100</pubDate>
4460 <description>&lt;p&gt;&lt;a href=&quot;http://www.digistan.org/open-standard:definition&quot;&gt;The
4461 Digistan definition&lt;/a&gt; of a free and open standard reads like this:&lt;/p&gt;
4462
4463 &lt;blockquote&gt;
4464
4465 &lt;p&gt;The Digital Standards Organization defines free and open standard
4466 as follows:&lt;/p&gt;
4467
4468 &lt;ol&gt;
4469
4470 &lt;li&gt;A free and open standard is immune to vendor capture at all stages
4471 in its life-cycle. Immunity from vendor capture makes it possible to
4472 freely use, improve upon, trust, and extend a standard over time.&lt;/li&gt;
4473
4474 &lt;li&gt;The standard is adopted and will be maintained by a not-for-profit
4475 organisation, and its ongoing development occurs on the basis of an
4476 open decision-making procedure available to all interested
4477 parties.&lt;/li&gt;
4478
4479 &lt;li&gt;The standard has been published and the standard specification
4480 document is available freely. It must be permissible to all to copy,
4481 distribute, and use it freely.&lt;/li&gt;
4482
4483 &lt;li&gt;The patents possibly present on (parts of) the standard are made
4484 irrevocably available on a royalty-free basis.&lt;/li&gt;
4485
4486 &lt;li&gt;There are no constraints on the re-use of the standard.&lt;/li&gt;
4487
4488 &lt;/ol&gt;
4489
4490 &lt;p&gt;The economic outcome of a free and open standard, which can be
4491 measured, is that it enables perfect competition between suppliers of
4492 products based on the standard.&lt;/p&gt;
4493 &lt;/blockquote&gt;
4494
4495 &lt;p&gt;For a while now I have tried to figure out of Ogg Theora is a free
4496 and open standard according to this definition. Here is a short
4497 writeup of what I have been able to gather so far. I brought up the
4498 topic on the Xiph advocacy mailing list
4499 &lt;a href=&quot;http://lists.xiph.org/pipermail/advocacy/2009-July/001632.html&quot;&gt;in
4500 July 2009&lt;/a&gt;, for those that want to see some background information.
4501 According to Ivo Emanuel Gonçalves and Monty Montgomery on that list
4502 the Ogg Theora specification fulfils the Digistan definition.&lt;/p&gt;
4503
4504 &lt;p&gt;&lt;strong&gt;Free from vendor capture?&lt;/strong&gt;&lt;/p&gt;
4505
4506 &lt;p&gt;As far as I can see, there is no single vendor that can control the
4507 Ogg Theora specification. It can be argued that the
4508 &lt;a href=&quot;http://www.xiph.org/&quot;&gt;Xiph foundation&lt;/A&gt; is such vendor, but
4509 given that it is a non-profit foundation with the expressed goal
4510 making free and open protocols and standards available, it is not
4511 obvious that this is a real risk. One issue with the Xiph
4512 foundation is that its inner working (as in board member list, or who
4513 control the foundation) are not easily available on the web. I&#39;ve
4514 been unable to find out who is in the foundation board, and have not
4515 seen any accounting information documenting how money is handled nor
4516 where is is spent in the foundation. It is thus not obvious for an
4517 external observer who control The Xiph foundation, and for all I know
4518 it is possible for a single vendor to take control over the
4519 specification. But it seem unlikely.&lt;/p&gt;
4520
4521 &lt;p&gt;&lt;strong&gt;Maintained by open not-for-profit organisation?&lt;/strong&gt;&lt;/p&gt;
4522
4523 &lt;p&gt;Assuming that the Xiph foundation is the organisation its web pages
4524 claim it to be, this point is fulfilled. If Xiph foundation is
4525 controlled by a single vendor, it isn&#39;t, but I have not found any
4526 documentation indicating this.&lt;/p&gt;
4527
4528 &lt;p&gt;According to
4529 &lt;a href=&quot;http://media.hiof.no/diverse/fad/rapport_4.pdf&quot;&gt;a report&lt;/a&gt;
4530 prepared by Audun Vaaler og Børre Ludvigsen for the Norwegian
4531 government, the Xiph foundation is a non-commercial organisation and
4532 the development process is open, transparent and non-Discrimatory.
4533 Until proven otherwise, I believe it make most sense to believe the
4534 report is correct.&lt;/p&gt;
4535
4536 &lt;p&gt;&lt;strong&gt;Specification freely available?&lt;/strong&gt;&lt;/p&gt;
4537
4538 &lt;p&gt;The specification for the &lt;a href=&quot;http://www.xiph.org/ogg/doc/&quot;&gt;Ogg
4539 container format&lt;/a&gt; and both the
4540 &lt;a href=&quot;http://www.xiph.org/vorbis/doc/&quot;&gt;Vorbis&lt;/a&gt; and
4541 &lt;a href=&quot;http://theora.org/doc/&quot;&gt;Theora&lt;/a&gt; codeces are available on
4542 the web. This are the terms in the Vorbis and Theora specification:
4543
4544 &lt;blockquote&gt;
4545
4546 Anyone may freely use and distribute the Ogg and [Vorbis/Theora]
4547 specifications, whether in private, public, or corporate
4548 capacity. However, the Xiph.Org Foundation and the Ogg project reserve
4549 the right to set the Ogg [Vorbis/Theora] specification and certify
4550 specification compliance.
4551
4552 &lt;/blockquote&gt;
4553
4554 &lt;p&gt;The Ogg container format is specified in IETF
4555 &lt;a href=&quot;http://www.xiph.org/ogg/doc/rfc3533.txt&quot;&gt;RFC 3533&lt;/a&gt;, and
4556 this is the term:&lt;p&gt;
4557
4558 &lt;blockquote&gt;
4559
4560 &lt;p&gt;This document and translations of it may be copied and furnished to
4561 others, and derivative works that comment on or otherwise explain it
4562 or assist in its implementation may be prepared, copied, published and
4563 distributed, in whole or in part, without restriction of any kind,
4564 provided that the above copyright notice and this paragraph are
4565 included on all such copies and derivative works. However, this
4566 document itself may not be modified in any way, such as by removing
4567 the copyright notice or references to the Internet Society or other
4568 Internet organizations, except as needed for the purpose of developing
4569 Internet standards in which case the procedures for copyrights defined
4570 in the Internet Standards process must be followed, or as required to
4571 translate it into languages other than English.&lt;/p&gt;
4572
4573 &lt;p&gt;The limited permissions granted above are perpetual and will not be
4574 revoked by the Internet Society or its successors or assigns.&lt;/p&gt;
4575 &lt;/blockquote&gt;
4576
4577 &lt;p&gt;All these terms seem to allow unlimited distribution and use, an
4578 this term seem to be fulfilled. There might be a problem with the
4579 missing permission to distribute modified versions of the text, and
4580 thus reuse it in other specifications. Not quite sure if that is a
4581 requirement for the Digistan definition.&lt;/p&gt;
4582
4583 &lt;p&gt;&lt;strong&gt;Royalty-free?&lt;/strong&gt;&lt;/p&gt;
4584
4585 &lt;p&gt;There are no known patent claims requiring royalties for the Ogg
4586 Theora format.
4587 &lt;a href=&quot;http://www.streamingmedia.com/Articles/ReadArticle.aspx?ArticleID=65782&quot;&gt;MPEG-LA&lt;/a&gt;
4588 and
4589 &lt;a href=&quot;http://yro.slashdot.org/story/10/04/30/237238/Steve-Jobs-Hints-At-Theora-Lawsuit&quot;&gt;Steve
4590 Jobs&lt;/a&gt; in Apple claim to know about some patent claims (submarine
4591 patents) against the Theora format, but no-one else seem to believe
4592 them. Both Opera Software and the Mozilla Foundation have looked into
4593 this and decided to implement Ogg Theora support in their browsers
4594 without paying any royalties. For now the claims from MPEG-LA and
4595 Steve Jobs seem more like FUD to scare people to use the H.264 codec
4596 than any real problem with Ogg Theora.&lt;/p&gt;
4597
4598 &lt;p&gt;&lt;strong&gt;No constraints on re-use?&lt;/strong&gt;&lt;/p&gt;
4599
4600 &lt;p&gt;I am not aware of any constraints on re-use.&lt;/p&gt;
4601
4602 &lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;
4603
4604 &lt;p&gt;3 of 5 requirements seem obviously fulfilled, and the remaining 2
4605 depend on the governing structure of the Xiph foundation. Given the
4606 background report used by the Norwegian government, I believe it is
4607 safe to assume the last two requirements are fulfilled too, but it
4608 would be nice if the Xiph foundation web site made it easier to verify
4609 this.&lt;/p&gt;
4610
4611 &lt;p&gt;It would be nice to see other analysis of other specifications to
4612 see if they are free and open standards.&lt;/p&gt;
4613 </description>
4614 </item>
4615
4616 <item>
4617 <title>The reply from Edgar Villanueva to Microsoft in Peru</title>
4618 <link>http://people.skolelinux.org/pere/blog/The_reply_from_Edgar_Villanueva_to_Microsoft_in_Peru.html</link>
4619 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_reply_from_Edgar_Villanueva_to_Microsoft_in_Peru.html</guid>
4620 <pubDate>Sat, 25 Dec 2010 10:50:00 +0100</pubDate>
4621 <description>&lt;p&gt;A few days ago
4622 &lt;a href=&quot;http://www.idg.no/computerworld/article189879.ece&quot;&gt;an
4623 article&lt;/a&gt; in the Norwegian Computerworld magazine about how version
4624 2.0 of
4625 &lt;a href=&quot;http://en.wikipedia.org/wiki/European_Interoperability_Framework&quot;&gt;European
4626 Interoperability Framework&lt;/a&gt; has been successfully lobbied by the
4627 proprietary software industry to remove the focus on free software.
4628 Nothing very surprising there, given
4629 &lt;a href=&quot;http://news.slashdot.org/story/10/03/29/2115235/Open-Source-Open-Standards-Under-Attack-In-Europe&quot;&gt;earlier
4630 reports&lt;/a&gt; on how Microsoft and others have stacked the committees in
4631 this work. But I find this very sad. The definition of
4632 &lt;a href=&quot;http://www.nuug.no/dokumenter/standard-presse-def-200506.txt&quot;&gt;an
4633 open standard from version 1&lt;/a&gt; was very good, and something I
4634 believe should be used also in the future, alongside
4635 &lt;a href=&quot;http://www.digistan.org/open-standard:definition&quot;&gt;the
4636 definition from Digistan&lt;/A&gt;. Version 2 have removed the open
4637 standard definition from its content.&lt;/p&gt;
4638
4639 &lt;p&gt;Anyway, the news reminded me of the great reply sent by Dr. Edgar
4640 Villanueva, congressman in Peru at the time, to Microsoft as a reply
4641 to Microsofts attack on his proposal regarding the use of free software
4642 in the public sector in Peru. As the text was not available from a
4643 few of the URLs where it used to be available, I copy it here from
4644 &lt;a href=&quot;http://gnuwin.epfl.ch/articles/en/reponseperou/villanueva_to_ms.html&quot;&gt;my
4645 source&lt;/a&gt; to ensure it is available also in the future. Some
4646 background information about that story is available in
4647 &lt;a href=&quot;http://www.linuxjournal.com/article/6099&quot;&gt;an article&lt;/a&gt; from
4648 Linux Journal in 2002.&lt;/p&gt;
4649
4650 &lt;blockquote&gt;
4651 &lt;p&gt;Lima, 8th of April, 2002&lt;br&gt;
4652 To: Señor JUAN ALBERTO GONZÁLEZ&lt;br&gt;
4653 General Manager of Microsoft Perú&lt;/p&gt;
4654
4655 &lt;p&gt;Dear Sir:&lt;/p&gt;
4656
4657 &lt;p&gt;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.&lt;/p&gt;
4658
4659 &lt;p&gt;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.&lt;/p&gt;
4660
4661 &lt;p&gt;With the aim of creating an orderly debate, we will assume that what you call &quot;open source software&quot; is what the Bill defines as &quot;free software&quot;, 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 &quot;commercial software&quot; is what the Bill defines as &quot;proprietary&quot; or &quot;unfree&quot;, given that there exists free software which is sold in the market for a price like any other good or service.&lt;/p&gt;
4662
4663 &lt;p&gt;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:&lt;/p&gt;
4664
4665 &lt;p&gt;
4666 &lt;ul&gt;
4667 &lt;li&gt;Free access to public information by the citizen. &lt;/li&gt;
4668 &lt;li&gt;Permanence of public data. &lt;/li&gt;
4669 &lt;li&gt;Security of the State and citizens.&lt;/li&gt;
4670 &lt;/ul&gt;
4671 &lt;/p&gt;
4672
4673 &lt;p&gt;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.&lt;/p&gt;
4674
4675 &lt;p&gt;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.&lt;/p&gt;
4676
4677 &lt;p&gt;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*. &lt;/p&gt;
4678
4679 &lt;p&gt;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.&lt;/p&gt;
4680
4681 &lt;p&gt;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.&lt;/p&gt;
4682
4683
4684 &lt;p&gt;From reading the Bill it will be clear that once passed:&lt;br&gt;
4685 &lt;li&gt;the law does not forbid the production of proprietary software&lt;/li&gt;
4686 &lt;li&gt;the law does not forbid the sale of proprietary software&lt;/li&gt;
4687 &lt;li&gt;the law does not specify which concrete software to use&lt;/li&gt;
4688 &lt;li&gt;the law does not dictate the supplier from whom software will be bought&lt;/li&gt;
4689 &lt;li&gt;the law does not limit the terms under which a software product can be licensed.&lt;/li&gt;
4690
4691 &lt;/p&gt;
4692
4693 &lt;p&gt;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.&lt;/p&gt;
4694
4695 &lt;p&gt;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.&lt;/p&gt;
4696
4697 &lt;p&gt;As for the observations you have made, we will now go on to analyze them in detail:&lt;/p&gt;
4698
4699 &lt;p&gt;Firstly, you point out that: &quot;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.&quot;&lt;/p&gt;
4700
4701 &lt;p&gt;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.&lt;/p&gt;
4702
4703 &lt;p&gt;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).&lt;/p&gt;
4704
4705 &lt;p&gt;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.&lt;/p&gt;
4706
4707 &lt;p&gt;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.&lt;/p&gt;
4708
4709 &lt;p&gt;By way of an example: nothing in the text of the Bill would prevent your company offering the State bodies an office &quot;suite&quot;, 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.&lt;/p&gt;
4710
4711 &lt;p&gt;To continue; you note that:&quot; 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...&quot;&lt;/p&gt;
4712
4713 &lt;p&gt;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 &quot;non-competitive ... practices.&quot;&lt;/p&gt;
4714
4715 &lt;p&gt;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 &quot;a priori&quot;, 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.&lt;/p&gt;
4716
4717 &lt;p&gt;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.&lt;/p&gt;
4718
4719 &lt;p&gt;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&#39; 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.&lt;/p&gt;
4720
4721 &lt;p&gt;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: &quot;update your software to the new version&quot; (at the user&#39;s expense, naturally); furthermore, it is common to find arbitrary cessation of technical help for products, which, in the provider&#39;s judgment alone, are &quot;old&quot;; 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 &quot;trapped&quot; 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).&lt;/p&gt;
4722
4723 &lt;p&gt;You add: &quot;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.&quot;&lt;/p&gt;
4724
4725 &lt;p&gt;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.&lt;/p&gt;
4726
4727 &lt;p&gt;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.&lt;/p&gt;
4728
4729 &lt;p&gt;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.&lt;/p&gt;
4730
4731 &lt;p&gt;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.&lt;/p&gt;
4732
4733 &lt;p&gt;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 &quot;ad hoc&quot; 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.&lt;/p&gt;
4734
4735 &lt;p&gt;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.&lt;/p&gt;
4736
4737 &lt;p&gt;Your letter continues: &quot;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.&quot;&lt;/p&gt;
4738
4739 &lt;p&gt;Alluding in an abstract way to &quot;the dangers this can bring&quot;, 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.&lt;/p&gt;
4740
4741 &lt;p&gt;On security:&lt;/p&gt;
4742
4743 &lt;p&gt;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 &quot;bugs&quot; (in programmers&#39; 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.&lt;/p&gt;
4744
4745 &lt;p&gt;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.&lt;/p&gt;
4746
4747 &lt;p&gt;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.&lt;/p&gt;
4748
4749 &lt;p&gt;In respect of the guarantee:&lt;/p&gt;
4750
4751 &lt;p&gt;As you know perfectly well, or could find out by reading the &quot;End User License Agreement&quot; 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&#39;&#39;, 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.&lt;/p&gt;
4752
4753 &lt;p&gt;On Intellectual Property:&lt;/p&gt;
4754
4755 &lt;p&gt;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&#39;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).&lt;/p&gt;
4756
4757 &lt;p&gt;You go on to say that: &quot;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.&quot;&lt;/p&gt;
4758
4759 &lt;p&gt;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).&lt;/p&gt;
4760
4761 &lt;p&gt;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.&lt;/p&gt;
4762
4763 &lt;p&gt;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.&lt;/p&gt;
4764
4765 &lt;p&gt;You continue: &quot;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.&quot;&lt;/p&gt;
4766
4767 &lt;p&gt;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.&lt;/p&gt;
4768
4769 &lt;p&gt;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 (&quot;blue screens of death&quot;, 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.&lt;/p&gt;
4770
4771 &lt;p&gt;You further state that: &quot;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.&quot;&lt;/p&gt;
4772
4773 &lt;p&gt;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.&lt;/p&gt;
4774
4775 &lt;p&gt;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.&lt;/p&gt;
4776
4777 &lt;p&gt;You continue: &quot;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.&quot;&lt;/p&gt;
4778
4779 &lt;p&gt;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.&lt;/p&gt;
4780
4781 &lt;p&gt;The second argument refers to &quot;problems in interoperability of the IT platforms within the State, and between the State and the private sector&quot; 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.&lt;/p&gt;
4782
4783 &lt;p&gt;You then say that: &quot;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.&quot;&lt;/p&gt;
4784
4785 &lt;p&gt;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.&lt;/p&gt;
4786
4787 &lt;p&gt;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.&lt;/p&gt;
4788
4789 &lt;p&gt;You continue by observing that: &quot;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.&quot;&lt;/p&gt;
4790
4791 &lt;p&gt;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.&lt;/p&gt;
4792
4793 &lt;p&gt;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.&lt;/p&gt;
4794
4795 &lt;p&gt;You go on to say that: &quot;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.&quot;&lt;/p&gt;
4796
4797 &lt;p&gt;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.&lt;/p&gt;
4798
4799 &lt;p&gt;You then state that: &quot;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.&quot;&lt;/p&gt;
4800
4801 &lt;p&gt;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&#39;t have been otherwise, just as school laboratories fail when they use proprietary software and have no budget for implementation and maintenance. That&#39;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.&lt;/p&gt;
4802
4803 &lt;p&gt;You end with a rhetorical question: &quot;13. If open source software satisfies all the requirements of State bodies, why do you need a law to adopt it? Shouldn&#39;t it be the market which decides freely which products give most benefits or value?&quot;&lt;/p&gt;
4804
4805 &lt;p&gt;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.&lt;/p&gt;
4806
4807 &lt;p&gt;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.&lt;/p&gt;
4808
4809 &lt;p&gt;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.&lt;/p&gt;
4810
4811 &lt;p&gt;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.&lt;/p&gt;
4812
4813 &lt;p&gt;Cordially,&lt;br&gt;
4814 DR. EDGAR DAVID VILLANUEVA NUÑEZ&lt;br&gt;
4815 Congressman of the Republic of Perú.&lt;/p&gt;
4816 &lt;/blockquote&gt;
4817 </description>
4818 </item>
4819
4820 <item>
4821 <title>Officeshots still going strong</title>
4822 <link>http://people.skolelinux.org/pere/blog/Officeshots_still_going_strong.html</link>
4823 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Officeshots_still_going_strong.html</guid>
4824 <pubDate>Sat, 25 Dec 2010 09:40:00 +0100</pubDate>
4825 <description>&lt;p&gt;Half a year ago I
4826 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Officeshots_taking_shape.html&quot;&gt;wrote
4827 a bit&lt;/a&gt; about &lt;a href=&quot;http://www.officeshots.org/&quot;&gt;OfficeShots&lt;/a&gt;,
4828 a web service to allow anyone to test how ODF documents are handled by
4829 the different programs reading and writing the ODF format.&lt;/p&gt;
4830
4831 &lt;p&gt;I just had a look at the service, and it seem to be going strong.
4832 Very interesting to see the results reported in the gallery, how
4833 different Office implementations handle different ODF features. Sad
4834 to see that KOffice was not doing it very well, and happy to see that
4835 LibreOffice has been tested already (but sadly not listed as a option
4836 for OfficeShots users yet). I am glad to see that the ODF community
4837 got such a great test tool available.&lt;/p&gt;
4838 </description>
4839 </item>
4840
4841 <item>
4842 <title>How to test if a laptop is working with Linux</title>
4843 <link>http://people.skolelinux.org/pere/blog/How_to_test_if_a_laptop_is_working_with_Linux.html</link>
4844 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/How_to_test_if_a_laptop_is_working_with_Linux.html</guid>
4845 <pubDate>Wed, 22 Dec 2010 14:55:00 +0100</pubDate>
4846 <description>&lt;p&gt;The last few days I have spent at work here at the &lt;a
4847 href=&quot;http://www.uio.no/&quot;&gt;University of Oslo&lt;/a&gt; testing if the new
4848 batch of computers will work with Linux. Every year for the last few
4849 years the university have organised shared bid of a few thousand
4850 computers, and this year HP won the bid. Two different desktops and
4851 five different laptops are on the list this year. We in the UNIX
4852 group want to know which one of these computers work well with RHEL
4853 and Ubuntu, the two Linux distributions we currently handle at the
4854 university.&lt;/p&gt;
4855
4856 &lt;p&gt;My test method is simple, and I share it here to get feedback and
4857 perhaps inspire others to test hardware as well. To test, I PXE
4858 install the OS version of choice, and log in as my normal user and run
4859 a few applications and plug in selected pieces of hardware. When
4860 something fail, I make a note about this in the test matrix and move
4861 on. If I have some spare time I try to report the bug to the OS
4862 vendor, but as I only have the machines for a short time, I rarely
4863 have the time to do this for all the problems I find.&lt;/p&gt;
4864
4865 &lt;p&gt;Anyway, to get to the point of this post. Here is the simple tests
4866 I perform on a new model.&lt;/p&gt;
4867
4868 &lt;ul&gt;
4869
4870 &lt;li&gt;Is PXE installation working? I&#39;m testing with RHEL6, Ubuntu Lucid
4871 and Ubuntu Maverik at the moment. If I feel like it, I also test with
4872 RHEL5 and Debian Edu/Squeeze.&lt;/li&gt;
4873
4874 &lt;li&gt;Is X.org working? If the graphical login screen show up after
4875 installation, X.org is working.&lt;/li&gt;
4876
4877 &lt;li&gt;Is hardware accelerated OpenGL working? Running glxgears (in
4878 package mesa-utils on Ubuntu) and writing down the frames per second
4879 reported by the program.&lt;/li&gt;
4880
4881 &lt;li&gt;Is sound working? With Gnome and KDE, a sound is played when
4882 logging in, and if I can hear this the test is successful. If there
4883 are several audio exits on the machine, I try them all and check if
4884 the Gnome/KDE audio mixer can control where to send the sound. I
4885 normally test this by playing
4886 &lt;a href=&quot;http://www.nuug.no/aktiviteter/20101012-chef/ &quot;&gt;a HTML5
4887 video&lt;/a&gt; in Firefox/Iceweasel.&lt;/li&gt;
4888
4889 &lt;li&gt;Is the USB subsystem working? I test this by plugging in a USB
4890 memory stick and see if Gnome/KDE notices this.&lt;/li&gt;
4891
4892 &lt;li&gt;Is the CD/DVD player working? I test this by inserting any CD/DVD
4893 I have lying around, and see if Gnome/KDE notices this.&lt;/li&gt;
4894
4895 &lt;li&gt;Is any built in camera working? Test using cheese, and see if a
4896 picture from the v4l device show up.&lt;/li&gt;
4897
4898 &lt;li&gt;Is bluetooth working? Use the Gnome/KDE browsing tool to see if
4899 any bluetooth devices are discovered. In my office, I normally see a
4900 few.&lt;/li&gt;
4901
4902 &lt;li&gt;For laptops, is the SD or Compaq Flash reader working. I have
4903 memory modules lying around, and stick them in and see if Gnome/KDE
4904 notice this.&lt;/li&gt;
4905
4906 &lt;li&gt;For laptops, is suspend/hibernate working? I&#39;m testing if the
4907 special button work, and if the laptop continue to work after
4908 resume.&lt;/li&gt;
4909
4910 &lt;li&gt;For laptops, is the extra buttons working, like audio level,
4911 adjusting background light, switching on/off external video output,
4912 switching on/off wifi, bluetooth, etc? The set of buttons differ from
4913 laptop to laptop, so I just write down which are working and which are
4914 not.&lt;/li&gt;
4915
4916 &lt;li&gt;Some laptops have smart card readers, finger print readers,
4917 acceleration sensors etc. I rarely test these, as I do not know how
4918 to quickly test if they are working or not, so I only document their
4919 existence.&lt;/li&gt;
4920
4921 &lt;/ul&gt;
4922
4923 &lt;p&gt;By now I suspect you are really curious what the test results are
4924 for the HP machines I am testing. I&#39;m not done yet, so I will report
4925 the test results later. For now I can report that HP 8100 Elite work
4926 fine, and hibernation fail with HP EliteBook 8440p on Ubuntu Lucid,
4927 and audio fail on RHEL6. Ubuntu Maverik worked with 8440p. As you
4928 can see, I have most machines left to test. One interesting
4929 observation is that Ubuntu Lucid has almost twice the frame rate than
4930 RHEL6 with glxgears. No idea why.&lt;/p&gt;
4931 </description>
4932 </item>
4933
4934 <item>
4935 <title>Some thoughts on BitCoins</title>
4936 <link>http://people.skolelinux.org/pere/blog/Some_thoughts_on_BitCoins.html</link>
4937 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Some_thoughts_on_BitCoins.html</guid>
4938 <pubDate>Sat, 11 Dec 2010 15:10:00 +0100</pubDate>
4939 <description>&lt;p&gt;As I continue to explore
4940 &lt;a href=&quot;http://www.bitcoin.org/&quot;&gt;BitCoin&lt;/a&gt;, I&#39;ve starting to wonder
4941 what properties the system have, and how it will be affected by laws
4942 and regulations here in Norway. Here are some random notes.&lt;/p&gt;
4943
4944 &lt;p&gt;One interesting thing to note is that since the transactions are
4945 verified using a peer to peer network, all details about a transaction
4946 is known to everyone. This means that if a BitCoin address has been
4947 published like I did with mine in my initial post about BitCoin, it is
4948 possible for everyone to see how many BitCoins have been transfered to
4949 that address. There is even a web service to look at the details for
4950 all transactions. There I can see that my address
4951 &lt;a href=&quot;http://blockexplorer.com/address/15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;
4952 have received 16.06 Bitcoin, the
4953 &lt;a href=&quot;http://blockexplorer.com/address/1LfdGnGuWkpSJgbQySxxCWhv8MHqvwst3&quot;&gt;1LfdGnGuWkpSJgbQySxxCWhv8MHqvwst3&lt;/a&gt;
4954 address of Simon Phipps have received 181.97 BitCoin and the address
4955 &lt;a href=&quot;http://blockexplorer.com/address/1MCwBbhNGp5hRm5rC1Aims2YFRe2SXPYKt&quot;&gt;1MCwBbhNGp5hRm5rC1Aims2YFRe2SXPYKt&lt;/A&gt;
4956 of EFF have received 2447.38 BitCoins so far. Thank you to each and
4957 every one of you that donated bitcoins to support my activity. The
4958 fact that anyone can see how much money was transfered to a given
4959 address make it more obvious why the BitCoin community recommend to
4960 generate and hand out a new address for each transaction. I&#39;m told
4961 there is no way to track which addresses belong to a given person or
4962 organisation without the person or organisation revealing it
4963 themselves, as Simon, EFF and I have done.&lt;/p&gt;
4964
4965 &lt;p&gt;In Norway, and in most other countries, there are laws and
4966 regulations limiting how much money one can transfer across the border
4967 without declaring it. There are money laundering, tax and accounting
4968 laws and regulations I would expect to apply to the use of BitCoin.
4969 If the Skolelinux foundation
4970 (&lt;a href=&quot;http://linuxiskolen.no/slxdebianlabs/donations.html&quot;&gt;SLX
4971 Debian Labs&lt;/a&gt;) were to accept donations in BitCoin in addition to
4972 normal bank transfers like EFF is doing, how should this be accounted?
4973 Given that it is impossible to know if money can across the border or
4974 not, should everything or nothing be declared? What exchange rate
4975 should be used when calculating taxes? Would receivers have to pay
4976 income tax if the foundation were to pay Skolelinux contributors in
4977 BitCoin? I have no idea, but it would be interesting to know.&lt;/p&gt;
4978
4979 &lt;p&gt;For a currency to be useful and successful, it must be trusted and
4980 accepted by a lot of users. It must be possible to get easy access to
4981 the currency (as a wage or using currency exchanges), and it must be
4982 easy to spend it. At the moment BitCoin seem fairly easy to get
4983 access to, but there are very few places to spend it. I am not really
4984 a regular user of any of the vendor types currently accepting BitCoin,
4985 so I wonder when my kind of shop would start accepting BitCoins. I
4986 would like to buy electronics, travels and subway tickets, not herbs
4987 and books. :) The currency is young, and this will improve over time
4988 if it become popular, but I suspect regular banks will start to lobby
4989 to get BitCoin declared illegal if it become popular. I&#39;m sure they
4990 will claim it is helping fund terrorism and money laundering (which
4991 probably would be true, as is any currency in existence), but I
4992 believe the problems should be solved elsewhere and not by blaming
4993 currencies.&lt;/p&gt;
4994
4995 &lt;p&gt;The process of creating new BitCoins is called mining, and it is
4996 CPU intensive process that depend on a bit of luck as well (as one is
4997 competing against all the other miners currently spending CPU cycles
4998 to see which one get the next lump of cash). The &quot;winner&quot; get 50
4999 BitCoin when this happen. Yesterday I came across the obvious way to
5000 join forces to increase ones changes of getting at least some coins,
5001 by coordinating the work on mining BitCoins across several machines
5002 and people, and sharing the result if one is lucky and get the 50
5003 BitCoins. Check out
5004 &lt;a href=&quot;http://www.bluishcoder.co.nz/bitcoin-pool/&quot;&gt;BitCoin Pool&lt;/a&gt;
5005 if this sounds interesting. I have not had time to try to set up a
5006 machine to participate there yet, but have seen that running on ones
5007 own for a few days have not yield any BitCoins througth mining
5008 yet.&lt;/p&gt;
5009
5010 &lt;p&gt;Update 2010-12-15: Found an &lt;a
5011 href=&quot;http://inertia.posterous.com/reply-to-the-underground-economist-why-bitcoi&quot;&gt;interesting
5012 criticism&lt;/a&gt; of bitcoin. Not quite sure how valid it is, but thought
5013 it was interesting to read. The arguments presented seem to be
5014 equally valid for gold, which was used as a currency for many years.&lt;/p&gt;
5015 </description>
5016 </item>
5017
5018 <item>
5019 <title>Now accepting bitcoins - anonymous and distributed p2p crypto-money</title>
5020 <link>http://people.skolelinux.org/pere/blog/Now_accepting_bitcoins___anonymous_and_distributed_p2p_crypto_money.html</link>
5021 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Now_accepting_bitcoins___anonymous_and_distributed_p2p_crypto_money.html</guid>
5022 <pubDate>Fri, 10 Dec 2010 08:20:00 +0100</pubDate>
5023 <description>&lt;p&gt;With this weeks lawless
5024 &lt;a href=&quot;http://www.salon.com/news/opinion/glenn_greenwald/2010/12/06/wikileaks/index.html&quot;&gt;governmental
5025 attacks&lt;/a&gt; on Wikileak and
5026 &lt;a href=&quot;http://www.salon.com/technology/dan_gillmor/2010/12/06/war_on_speech&quot;&gt;free
5027 speech&lt;/a&gt;, it has become obvious that PayPal, visa and mastercard can
5028 not be trusted to handle money transactions.
5029 A blog post from
5030 &lt;a href=&quot;http://webmink.com/2010/12/06/now-accepting-bitcoin/&quot;&gt;Simon
5031 Phipps on bitcoin&lt;/a&gt; reminded me about a project that a friend of
5032 mine mentioned earlier. I decided to follow Simon&#39;s example, and get
5033 involved with &lt;a href=&quot;http://www.bitcoin.org/&quot;&gt;BitCoin&lt;/a&gt;. I got
5034 some help from my friend to get it all running, and he even handed me
5035 some bitcoins to get started. I even donated a few bitcoins to Simon
5036 for helping me remember BitCoin.&lt;/p&gt;
5037
5038 &lt;p&gt;So, what is bitcoins, you probably wonder? It is a digital
5039 crypto-currency, decentralised and handled using peer-to-peer
5040 networks. It allows anonymous transactions and prohibits central
5041 control over the transactions, making it impossible for governments
5042 and companies alike to block donations and other transactions. The
5043 source is free software, and while the key dependency wxWidgets 2.9
5044 for the graphical user interface is missing in Debian, the command
5045 line client builds just fine. Hopefully Jonas
5046 &lt;a href=&quot;http://bugs.debian.org/578157&quot;&gt;will get the package into
5047 Debian&lt;/a&gt; soon.&lt;/p&gt;
5048
5049 &lt;p&gt;Bitcoins can be converted to other currencies, like USD and EUR.
5050 There are &lt;a href=&quot;http://www.bitcoin.org/trade&quot;&gt;companies accepting
5051 bitcoins&lt;/a&gt; when selling services and goods, and there are even
5052 currency &quot;stock&quot; markets where the exchange rate is decided. There
5053 are not many users so far, but the concept seems promising. If you
5054 want to get started and lack a friend with any bitcoins to spare,
5055 you can even get
5056 &lt;a href=&quot;https://freebitcoins.appspot.com/&quot;&gt;some for free&lt;/a&gt; (0.05
5057 bitcoin at the time of writing). Use
5058 &lt;a href=&quot;http://www.bitcoinwatch.com/&quot;&gt;BitcoinWatch&lt;/a&gt; to keep an eye
5059 on the current exchange rates.&lt;/p&gt;
5060
5061 &lt;p&gt;As an experiment, I have decided to set up bitcoind on one of my
5062 machines. If you want to support my activity, please send Bitcoin
5063 donations to the address
5064 &lt;b&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/b&gt;. Thank you!&lt;/p&gt;
5065 </description>
5066 </item>
5067
5068 <item>
5069 <title>Student group continue the work on my Reprap 3D printer</title>
5070 <link>http://people.skolelinux.org/pere/blog/Student_group_continue_the_work_on_my_Reprap_3D_printer.html</link>
5071 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Student_group_continue_the_work_on_my_Reprap_3D_printer.html</guid>
5072 <pubDate>Thu, 9 Dec 2010 19:30:00 +0100</pubDate>
5073 <description>&lt;p&gt;A few days ago, I was introduces to some students in the robot
5074 student assosiation &lt;a href=&quot;http://www.robotica.no/&quot;&gt;Robotica
5075 Osloensis&lt;/a&gt; at the University of Oslo where I work, who planned to
5076 get their own 3D printer. They wanted to learn from me based on my
5077 work in the area. After having a short lunch meeting with them, I
5078 offered them to borrow my reprap kit, as I never had time to complete
5079 the build and this seem unlike to change any time soon. I look
5080 forward to see how this goes. This monday their volunteer driver
5081 picked up my kit and drove it to their lab, and tomorrow I am told the
5082 last exam is over so they can start work on getting the 3D printer
5083 operational.&lt;/p&gt;
5084
5085 &lt;p&gt;The robotic group have already build several robots on their own,
5086 and seem capable of getting the reprap operational. I really look
5087 forward to being able to print all the cool 3D designs published on
5088 &lt;a href=&quot;http://www.thingiverse.com/&quot;&gt;Thingiverse&lt;/a&gt;. I even got
5089 some 3D scans I got made during Dagen@IFI when one of the groups at
5090 the computer science department at the university demonstrated their
5091 very cool 3D scanner.&lt;/p&gt;
5092 </description>
5093 </item>
5094
5095 <item>
5096 <title>Debian Edu development gathering and General Assembly for FRiSK</title>
5097 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_development_gathering_and_General_Assembly_for_FRiSK.html</link>
5098 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_development_gathering_and_General_Assembly_for_FRiSK.html</guid>
5099 <pubDate>Mon, 29 Nov 2010 18:40:00 +0100</pubDate>
5100 <description>&lt;p&gt;On friday, the first Debian Edu / Skolelinux
5101 &lt;a href=&quot;http://www.friprogramvareiskolen.no/Gathering/2010-12-03-05-Oslo&quot;&gt;development
5102 gathering&lt;/a&gt; in a long time take place here in Oslo, Norway. I
5103 really look forward to seeing all the good people working on the
5104 Squeeze release. The gathering is open for everyone interested in
5105 learning more about Debian Edu / Skolelinux.&lt;/p&gt;
5106
5107 &lt;p&gt;On Saturday, the Norwegian member organization taking care of
5108 organizing these development gatherings, Fri Programvare i Skolen,
5109 will hold its
5110 &lt;a href=&quot;http://friprogramvareiskolen.no/Genfors/2010&quot;&gt;General Assembly
5111 for 2010&lt;/a&gt;. Membership is open for all, and currently there are 388
5112 people registered as members. Last year 32 members cast their vote in
5113 the memberdb based election system. I hope more people find time to
5114 vote this year.&lt;/p&gt;
5115 </description>
5116 </item>
5117
5118 <item>
5119 <title>Why isn&#39;t Debian Edu using VLC?</title>
5120 <link>http://people.skolelinux.org/pere/blog/Why_isn_t_Debian_Edu_using_VLC_.html</link>
5121 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Why_isn_t_Debian_Edu_using_VLC_.html</guid>
5122 <pubDate>Sat, 27 Nov 2010 11:30:00 +0100</pubDate>
5123 <description>&lt;p&gt;In the latest issue of Linux Journal, the readers choices were
5124 presented, and the winner among the multimedia player were VLC.
5125 Personally, I like VLC, and it is my player of choice when I first try
5126 to play a video file or stream. Only if VLC fail will I drag out
5127 gmplayer to see if it can do better. The reason is mostly the failure
5128 model and trust. When VLC fail, it normally pop up a error message
5129 reporting the problem. When mplayer fail, it normally segfault or
5130 just hangs. The latter failure mode drain my trust in the program.&lt;p&gt;
5131
5132 &lt;p&gt;But even if VLC is my player of choice, we have choosen to use
5133 mplayer in &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian
5134 Edu/Skolelinux&lt;/a&gt;. The reason is simple. We need a good browser
5135 plugin to play web videos seamlessly, and the VLC browser plugin is
5136 not very good. For example, it lack in-line control buttons, so there
5137 is no way for the user to pause the video. Also, when I
5138 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/BrowserMultimedia&quot;&gt;last
5139 tested the browser plugins&lt;/a&gt; available in Debian, the VLC plugin
5140 failed on several video pages where mplayer based plugins worked. If
5141 the browser plugin for VLC was as good as the gecko-mediaplayer
5142 package (which uses mplayer), we would switch.&lt;/P&gt;
5143
5144 &lt;p&gt;While VLC is a good player, its user interface is slightly
5145 annoying. The most annoying feature is its inconsistent use of
5146 keyboard shortcuts. When the player is in full screen mode, its
5147 shortcuts are different from when it is playing the video in a window.
5148 For example, space only work as pause when in full screen mode. I
5149 wish it had consisten shortcuts and that space also would work when in
5150 window mode. Another nice shortcut in gmplayer is [enter] to restart
5151 the current video. It is very nice when playing short videos from the
5152 web and want to restart it when new people arrive to have a look at
5153 what is going on.&lt;/p&gt;
5154 </description>
5155 </item>
5156
5157 <item>
5158 <title>Lenny-&gt;Squeeze upgrades of the Gnome and KDE desktop, now with apt-get autoremove</title>
5159 <link>http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades_of_the_Gnome_and_KDE_desktop__now_with_apt_get_autoremove.html</link>
5160 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades_of_the_Gnome_and_KDE_desktop__now_with_apt_get_autoremove.html</guid>
5161 <pubDate>Mon, 22 Nov 2010 14:15:00 +0100</pubDate>
5162 <description>&lt;p&gt;Michael Biebl suggested to me on IRC, that I changed my automated
5163 upgrade testing of the
5164 &lt;a href=&quot;http://people.skolelinux.org/~pere/debian-upgrade-testing/&quot;&gt;Lenny
5165 Gnome and KDE Desktop&lt;/a&gt; to do &lt;tt&gt;apt-get autoremove&lt;/tt&gt; when using apt-get.
5166 This seem like a very good idea, so I adjusted by test scripts and
5167 can now present the updated result from today:&lt;/p&gt;
5168
5169 &lt;p&gt;This is for Gnome:&lt;/p&gt;
5170
5171 &lt;p&gt;Installed using apt-get, missing with aptitude&lt;/p&gt;
5172
5173 &lt;blockquote&gt;&lt;p&gt;
5174 apache2.2-bin
5175 aptdaemon
5176 baobab
5177 binfmt-support
5178 browser-plugin-gnash
5179 cheese-common
5180 cli-common
5181 cups-pk-helper
5182 dmz-cursor-theme
5183 empathy
5184 empathy-common
5185 freedesktop-sound-theme
5186 freeglut3
5187 gconf-defaults-service
5188 gdm-themes
5189 gedit-plugins
5190 geoclue
5191 geoclue-hostip
5192 geoclue-localnet
5193 geoclue-manual
5194 geoclue-yahoo
5195 gnash
5196 gnash-common
5197 gnome
5198 gnome-backgrounds
5199 gnome-cards-data
5200 gnome-codec-install
5201 gnome-core
5202 gnome-desktop-environment
5203 gnome-disk-utility
5204 gnome-screenshot
5205 gnome-search-tool
5206 gnome-session-canberra
5207 gnome-system-log
5208 gnome-themes-extras
5209 gnome-themes-more
5210 gnome-user-share
5211 gstreamer0.10-fluendo-mp3
5212 gstreamer0.10-tools
5213 gtk2-engines
5214 gtk2-engines-pixbuf
5215 gtk2-engines-smooth
5216 hamster-applet
5217 libapache2-mod-dnssd
5218 libapr1
5219 libaprutil1
5220 libaprutil1-dbd-sqlite3
5221 libaprutil1-ldap
5222 libart2.0-cil
5223 libboost-date-time1.42.0
5224 libboost-python1.42.0
5225 libboost-thread1.42.0
5226 libchamplain-0.4-0
5227 libchamplain-gtk-0.4-0
5228 libcheese-gtk18
5229 libclutter-gtk-0.10-0
5230 libcryptui0
5231 libdiscid0
5232 libelf1
5233 libepc-1.0-2
5234 libepc-common
5235 libepc-ui-1.0-2
5236 libfreerdp-plugins-standard
5237 libfreerdp0
5238 libgconf2.0-cil
5239 libgdata-common
5240 libgdata7
5241 libgdu-gtk0
5242 libgee2
5243 libgeoclue0
5244 libgexiv2-0
5245 libgif4
5246 libglade2.0-cil
5247 libglib2.0-cil
5248 libgmime2.4-cil
5249 libgnome-vfs2.0-cil
5250 libgnome2.24-cil
5251 libgnomepanel2.24-cil
5252 libgpod-common
5253 libgpod4
5254 libgtk2.0-cil
5255 libgtkglext1
5256 libgtksourceview2.0-common
5257 libmono-addins-gui0.2-cil
5258 libmono-addins0.2-cil
5259 libmono-cairo2.0-cil
5260 libmono-corlib2.0-cil
5261 libmono-i18n-west2.0-cil
5262 libmono-posix2.0-cil
5263 libmono-security2.0-cil
5264 libmono-sharpzip2.84-cil
5265 libmono-system2.0-cil
5266 libmtp8
5267 libmusicbrainz3-6
5268 libndesk-dbus-glib1.0-cil
5269 libndesk-dbus1.0-cil
5270 libopal3.6.8
5271 libpolkit-gtk-1-0
5272 libpt2.6.7
5273 libpython2.6
5274 librpm1
5275 librpmio1
5276 libsdl1.2debian
5277 libsrtp0
5278 libssh-4
5279 libtelepathy-farsight0
5280 libtelepathy-glib0
5281 libtidy-0.99-0
5282 media-player-info
5283 mesa-utils
5284 mono-2.0-gac
5285 mono-gac
5286 mono-runtime
5287 nautilus-sendto
5288 nautilus-sendto-empathy
5289 p7zip-full
5290 pkg-config
5291 python-aptdaemon
5292 python-aptdaemon-gtk
5293 python-axiom
5294 python-beautifulsoup
5295 python-bugbuddy
5296 python-clientform
5297 python-coherence
5298 python-configobj
5299 python-crypto
5300 python-cupshelpers
5301 python-elementtree
5302 python-epsilon
5303 python-evolution
5304 python-feedparser
5305 python-gdata
5306 python-gdbm
5307 python-gst0.10
5308 python-gtkglext1
5309 python-gtksourceview2
5310 python-httplib2
5311 python-louie
5312 python-mako
5313 python-markupsafe
5314 python-mechanize
5315 python-nevow
5316 python-notify
5317 python-opengl
5318 python-openssl
5319 python-pam
5320 python-pkg-resources
5321 python-pyasn1
5322 python-pysqlite2
5323 python-rdflib
5324 python-serial
5325 python-tagpy
5326 python-twisted-bin
5327 python-twisted-conch
5328 python-twisted-core
5329 python-twisted-web
5330 python-utidylib
5331 python-webkit
5332 python-xdg
5333 python-zope.interface
5334 remmina
5335 remmina-plugin-data
5336 remmina-plugin-rdp
5337 remmina-plugin-vnc
5338 rhythmbox-plugin-cdrecorder
5339 rhythmbox-plugins
5340 rpm-common
5341 rpm2cpio
5342 seahorse-plugins
5343 shotwell
5344 software-center
5345 system-config-printer-udev
5346 telepathy-gabble
5347 telepathy-mission-control-5
5348 telepathy-salut
5349 tomboy
5350 totem
5351 totem-coherence
5352 totem-mozilla
5353 totem-plugins
5354 transmission-common
5355 xdg-user-dirs
5356 xdg-user-dirs-gtk
5357 xserver-xephyr
5358 &lt;/p&gt;&lt;/blockquote&gt;
5359
5360 &lt;p&gt;Installed using apt-get, removed with aptitude&lt;/p&gt;
5361
5362 &lt;blockquote&gt;&lt;p&gt;
5363 cheese
5364 ekiga
5365 eog
5366 epiphany-extensions
5367 evolution-exchange
5368 fast-user-switch-applet
5369 file-roller
5370 gcalctool
5371 gconf-editor
5372 gdm
5373 gedit
5374 gedit-common
5375 gnome-games
5376 gnome-games-data
5377 gnome-nettool
5378 gnome-system-tools
5379 gnome-themes
5380 gnuchess
5381 gucharmap
5382 guile-1.8-libs
5383 libavahi-ui0
5384 libdmx1
5385 libgalago3
5386 libgtk-vnc-1.0-0
5387 libgtksourceview2.0-0
5388 liblircclient0
5389 libsdl1.2debian-alsa
5390 libspeexdsp1
5391 libsvga1
5392 rhythmbox
5393 seahorse
5394 sound-juicer
5395 system-config-printer
5396 totem-common
5397 transmission-gtk
5398 vinagre
5399 vino
5400 &lt;/p&gt;&lt;/blockquote&gt;
5401
5402 &lt;p&gt;Installed using aptitude, missing with apt-get&lt;/p&gt;
5403
5404 &lt;blockquote&gt;&lt;p&gt;
5405 gstreamer0.10-gnomevfs
5406 &lt;/p&gt;&lt;/blockquote&gt;
5407
5408 &lt;p&gt;Installed using aptitude, removed with apt-get&lt;/p&gt;
5409
5410 &lt;blockquote&gt;&lt;p&gt;
5411 [nothing]
5412 &lt;/p&gt;&lt;/blockquote&gt;
5413
5414 &lt;p&gt;This is for KDE:&lt;/p&gt;
5415
5416 &lt;p&gt;Installed using apt-get, missing with aptitude&lt;/p&gt;
5417
5418 &lt;blockquote&gt;&lt;p&gt;
5419 ksmserver
5420 &lt;/p&gt;&lt;/blockquote&gt;
5421
5422 &lt;p&gt;Installed using apt-get, removed with aptitude&lt;/p&gt;
5423
5424 &lt;blockquote&gt;&lt;p&gt;
5425 kwin
5426 network-manager-kde
5427 &lt;/p&gt;&lt;/blockquote&gt;
5428
5429 &lt;p&gt;Installed using aptitude, missing with apt-get&lt;/p&gt;
5430
5431 &lt;blockquote&gt;&lt;p&gt;
5432 arts
5433 dolphin
5434 freespacenotifier
5435 google-gadgets-gst
5436 google-gadgets-xul
5437 kappfinder
5438 kcalc
5439 kcharselect
5440 kde-core
5441 kde-plasma-desktop
5442 kde-standard
5443 kde-window-manager
5444 kdeartwork
5445 kdeartwork-emoticons
5446 kdeartwork-style
5447 kdeartwork-theme-icon
5448 kdebase
5449 kdebase-apps
5450 kdebase-workspace
5451 kdebase-workspace-bin
5452 kdebase-workspace-data
5453 kdeeject
5454 kdelibs
5455 kdeplasma-addons
5456 kdeutils
5457 kdewallpapers
5458 kdf
5459 kfloppy
5460 kgpg
5461 khelpcenter4
5462 kinfocenter
5463 konq-plugins-l10n
5464 konqueror-nsplugins
5465 kscreensaver
5466 kscreensaver-xsavers
5467 ktimer
5468 kwrite
5469 libgle3
5470 libkde4-ruby1.8
5471 libkonq5
5472 libkonq5-templates
5473 libnetpbm10
5474 libplasma-ruby
5475 libplasma-ruby1.8
5476 libqt4-ruby1.8
5477 marble-data
5478 marble-plugins
5479 netpbm
5480 nuvola-icon-theme
5481 plasma-dataengines-workspace
5482 plasma-desktop
5483 plasma-desktopthemes-artwork
5484 plasma-runners-addons
5485 plasma-scriptengine-googlegadgets
5486 plasma-scriptengine-python
5487 plasma-scriptengine-qedje
5488 plasma-scriptengine-ruby
5489 plasma-scriptengine-webkit
5490 plasma-scriptengines
5491 plasma-wallpapers-addons
5492 plasma-widget-folderview
5493 plasma-widget-networkmanagement
5494 ruby
5495 sweeper
5496 update-notifier-kde
5497 xscreensaver-data-extra
5498 xscreensaver-gl
5499 xscreensaver-gl-extra
5500 xscreensaver-screensaver-bsod
5501 &lt;/p&gt;&lt;/blockquote&gt;
5502
5503 &lt;p&gt;Installed using aptitude, removed with apt-get&lt;/p&gt;
5504
5505 &lt;blockquote&gt;&lt;p&gt;
5506 ark
5507 google-gadgets-common
5508 google-gadgets-qt
5509 htdig
5510 kate
5511 kdebase-bin
5512 kdebase-data
5513 kdepasswd
5514 kfind
5515 klipper
5516 konq-plugins
5517 konqueror
5518 ksysguard
5519 ksysguardd
5520 libarchive1
5521 libcln6
5522 libeet1
5523 libeina-svn-06
5524 libggadget-1.0-0b
5525 libggadget-qt-1.0-0b
5526 libgps19
5527 libkdecorations4
5528 libkephal4
5529 libkonq4
5530 libkonqsidebarplugin4a
5531 libkscreensaver5
5532 libksgrd4
5533 libksignalplotter4
5534 libkunitconversion4
5535 libkwineffects1a
5536 libmarblewidget4
5537 libntrack-qt4-1
5538 libntrack0
5539 libplasma-geolocation-interface4
5540 libplasmaclock4a
5541 libplasmagenericshell4
5542 libprocesscore4a
5543 libprocessui4a
5544 libqalculate5
5545 libqedje0a
5546 libqtruby4shared2
5547 libqzion0a
5548 libruby1.8
5549 libscim8c2a
5550 libsmokekdecore4-3
5551 libsmokekdeui4-3
5552 libsmokekfile3
5553 libsmokekhtml3
5554 libsmokekio3
5555 libsmokeknewstuff2-3
5556 libsmokeknewstuff3-3
5557 libsmokekparts3
5558 libsmokektexteditor3
5559 libsmokekutils3
5560 libsmokenepomuk3
5561 libsmokephonon3
5562 libsmokeplasma3
5563 libsmokeqtcore4-3
5564 libsmokeqtdbus4-3
5565 libsmokeqtgui4-3
5566 libsmokeqtnetwork4-3
5567 libsmokeqtopengl4-3
5568 libsmokeqtscript4-3
5569 libsmokeqtsql4-3
5570 libsmokeqtsvg4-3
5571 libsmokeqttest4-3
5572 libsmokeqtuitools4-3
5573 libsmokeqtwebkit4-3
5574 libsmokeqtxml4-3
5575 libsmokesolid3
5576 libsmokesoprano3
5577 libtaskmanager4a
5578 libtidy-0.99-0
5579 libweather-ion4a
5580 libxklavier16
5581 libxxf86misc1
5582 okteta
5583 oxygencursors
5584 plasma-dataengines-addons
5585 plasma-scriptengine-superkaramba
5586 plasma-widget-lancelot
5587 plasma-widgets-addons
5588 plasma-widgets-workspace
5589 polkit-kde-1
5590 ruby1.8
5591 systemsettings
5592 update-notifier-common
5593 &lt;/p&gt;&lt;/blockquote&gt;
5594
5595 &lt;p&gt;Running apt-get autoremove made the results using apt-get and
5596 aptitude a bit more similar, but there are still quite a lott of
5597 differences. I have no idea what packages should be installed after
5598 the upgrade, but hope those that do can have a look.&lt;/p&gt;
5599 </description>
5600 </item>
5601
5602 <item>
5603 <title>Migrating Xen virtual machines using LVM to KVM using disk images</title>
5604 <link>http://people.skolelinux.org/pere/blog/Migrating_Xen_virtual_machines_using_LVM_to_KVM_using_disk_images.html</link>
5605 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Migrating_Xen_virtual_machines_using_LVM_to_KVM_using_disk_images.html</guid>
5606 <pubDate>Mon, 22 Nov 2010 11:20:00 +0100</pubDate>
5607 <description>&lt;p&gt;Most of the computers in use by the
5608 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu/Skolelinux project&lt;/a&gt;
5609 are virtual machines. And they have been Xen machines running on a
5610 fairly old IBM eserver xseries 345 machine, and we wanted to migrate
5611 them to KVM on a newer Dell PowerEdge 2950 host machine. This was a
5612 bit harder that it could have been, because we set up the Xen virtual
5613 machines to get the virtual partitions from LVM, which as far as I
5614 know is not supported by KVM. So to migrate, we had to convert
5615 several LVM logical volumes to partitions on a virtual disk file.&lt;/p&gt;
5616
5617 &lt;p&gt;I found
5618 &lt;a href=&quot;http://searchnetworking.techtarget.com.au/articles/35011-Six-steps-for-migrating-Xen-virtual-machines-to-KVM&quot;&gt;a
5619 nice recipe&lt;/a&gt; to do this, and wrote the following script to do the
5620 migration. It uses qemu-img from the qemu package to make the disk
5621 image, parted to partition it, losetup and kpartx to present the disk
5622 image partions as devices, and dd to copy the data. I NFS mounted the
5623 new servers storage area on the old server to do the migration.&lt;/p&gt;
5624
5625 &lt;pre&gt;
5626 #!/bin/sh
5627
5628 # Based on
5629 # http://searchnetworking.techtarget.com.au/articles/35011-Six-steps-for-migrating-Xen-virtual-machines-to-KVM
5630
5631 set -e
5632 set -x
5633
5634 if [ -z &quot;$1&quot; ] ; then
5635 echo &quot;Usage: $0 &amp;lt;hostname&amp;gt;&quot;
5636 exit 1
5637 else
5638 host=&quot;$1&quot;
5639 fi
5640
5641 if [ ! -e /dev/vg_data/$host-disk ] ; then
5642 echo &quot;error: unable to find LVM volume for $host&quot;
5643 exit 1
5644 fi
5645
5646 # Partitions need to be a bit bigger than the LVM LVs. not sure why.
5647 disksize=$( lvs --units m | grep $host-disk | awk &#39;{sum = sum + $4} END { print int(sum * 1.05) }&#39;)
5648 swapsize=$( lvs --units m | grep $host-swap | awk &#39;{sum = sum + $4} END { print int(sum * 1.05) }&#39;)
5649 totalsize=$(( ( $disksize + $swapsize ) ))
5650
5651 img=$host.img
5652 #dd if=/dev/zero of=$img bs=1M count=$(( $disksize + $swapsize ))
5653 qemu-img create $img ${totalsize}MMaking room on the Debian Edu/Sqeeze DVD
5654
5655 parted $img mklabel msdos
5656 parted $img mkpart primary linux-swap 0 $disksize
5657 parted $img mkpart primary ext2 $disksize $totalsize
5658 parted $img set 1 boot on
5659
5660 modprobe dm-mod
5661 losetup /dev/loop0 $img
5662 kpartx -a /dev/loop0
5663
5664 dd if=/dev/vg_data/$host-disk of=/dev/mapper/loop0p1 bs=1M
5665 fsck.ext3 -f /dev/mapper/loop0p1 || true
5666 mkswap /dev/mapper/loop0p2
5667
5668 kpartx -d /dev/loop0
5669 losetup -d /dev/loop0
5670 &lt;/pre&gt;
5671
5672 &lt;p&gt;The script is perhaps so simple that it is not copyrightable, but
5673 if it is, it is licenced using GPL v2 or later at your discretion.&lt;/p&gt;
5674
5675 &lt;p&gt;After doing this, I booted a Debian CD in rescue mode in KVM with
5676 the new disk image attached, installed grub-pc and linux-image-686 and
5677 set up grub to boot from the disk image. After this, the KVM machines
5678 seem to work just fine.&lt;/p&gt;
5679 </description>
5680 </item>
5681
5682 <item>
5683 <title>Lenny-&gt;Squeeze upgrades, apt vs aptitude with the Gnome and KDE desktop</title>
5684 <link>http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_and_KDE_desktop.html</link>
5685 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_and_KDE_desktop.html</guid>
5686 <pubDate>Sat, 20 Nov 2010 22:50:00 +0100</pubDate>
5687 <description>&lt;p&gt;I&#39;m still running upgrade testing of the
5688 &lt;a href=&quot;http://people.skolelinux.org/~pere/debian-upgrade-testing/&quot;&gt;Lenny
5689 Gnome and KDE Desktop&lt;/a&gt;, but have not had time to spend on reporting the
5690 status. Here is a short update based on a test I ran 20101118.&lt;/p&gt;
5691
5692 &lt;p&gt;I still do not know what a correct migration should look like, so I
5693 report any differences between apt and aptitude and hope someone else
5694 can see if anything should be changed.&lt;/p&gt;
5695
5696 &lt;p&gt;This is for Gnome:&lt;/p&gt;
5697
5698 &lt;p&gt;Installed using apt-get, missing with aptitude&lt;/p&gt;
5699
5700 &lt;blockquote&gt;&lt;p&gt;
5701 apache2.2-bin aptdaemon at-spi baobab binfmt-support
5702 browser-plugin-gnash cheese-common cli-common cpp-4.3 cups-pk-helper
5703 dmz-cursor-theme empathy empathy-common finger
5704 freedesktop-sound-theme freeglut3 gconf-defaults-service gdm-themes
5705 gedit-plugins geoclue geoclue-hostip geoclue-localnet geoclue-manual
5706 geoclue-yahoo gnash gnash-common gnome gnome-backgrounds
5707 gnome-cards-data gnome-codec-install gnome-core
5708 gnome-desktop-environment gnome-disk-utility gnome-screenshot
5709 gnome-search-tool gnome-session-canberra gnome-spell
5710 gnome-system-log gnome-themes-extras gnome-themes-more
5711 gnome-user-share gs-common gstreamer0.10-fluendo-mp3
5712 gstreamer0.10-tools gtk2-engines gtk2-engines-pixbuf
5713 gtk2-engines-smooth hal-info hamster-applet libapache2-mod-dnssd
5714 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap
5715 libart2.0-cil libatspi1.0-0 libboost-date-time1.42.0
5716 libboost-python1.42.0 libboost-thread1.42.0 libchamplain-0.4-0
5717 libchamplain-gtk-0.4-0 libcheese-gtk18 libclutter-gtk-0.10-0
5718 libcryptui0 libcupsys2 libdiscid0 libeel2-data libelf1 libepc-1.0-2
5719 libepc-common libepc-ui-1.0-2 libfreerdp-plugins-standard
5720 libfreerdp0 libgail-common libgconf2.0-cil libgdata-common libgdata7
5721 libgdl-1-common libgdu-gtk0 libgee2 libgeoclue0 libgexiv2-0 libgif4
5722 libglade2.0-cil libglib2.0-cil libgmime2.4-cil libgnome-vfs2.0-cil
5723 libgnome2.24-cil libgnomepanel2.24-cil libgnomeprint2.2-data
5724 libgnomeprintui2.2-common libgnomevfs2-bin libgpod-common libgpod4
5725 libgtk2.0-cil libgtkglext1 libgtksourceview-common
5726 libgtksourceview2.0-common libmono-addins-gui0.2-cil
5727 libmono-addins0.2-cil libmono-cairo2.0-cil libmono-corlib2.0-cil
5728 libmono-i18n-west2.0-cil libmono-posix2.0-cil
5729 libmono-security2.0-cil libmono-sharpzip2.84-cil
5730 libmono-system2.0-cil libmtp8 libmusicbrainz3-6
5731 libndesk-dbus-glib1.0-cil libndesk-dbus1.0-cil libopal3.6.8
5732 libpolkit-gtk-1-0 libpt-1.10.10-plugins-alsa
5733 libpt-1.10.10-plugins-v4l libpt2.6.7 libpython2.6 librpm1 librpmio1
5734 libsdl1.2debian libservlet2.4-java libsrtp0 libssh-4
5735 libtelepathy-farsight0 libtelepathy-glib0 libtidy-0.99-0
5736 libxalan2-java libxerces2-java media-player-info mesa-utils
5737 mono-2.0-gac mono-gac mono-runtime nautilus-sendto
5738 nautilus-sendto-empathy openoffice.org-writer2latex
5739 openssl-blacklist p7zip p7zip-full pkg-config python-4suite-xml
5740 python-aptdaemon python-aptdaemon-gtk python-axiom
5741 python-beautifulsoup python-bugbuddy python-clientform
5742 python-coherence python-configobj python-crypto python-cupshelpers
5743 python-cupsutils python-eggtrayicon python-elementtree
5744 python-epsilon python-evolution python-feedparser python-gdata
5745 python-gdbm python-gst0.10 python-gtkglext1 python-gtkmozembed
5746 python-gtksourceview2 python-httplib2 python-louie python-mako
5747 python-markupsafe python-mechanize python-nevow python-notify
5748 python-opengl python-openssl python-pam python-pkg-resources
5749 python-pyasn1 python-pysqlite2 python-rdflib python-serial
5750 python-tagpy python-twisted-bin python-twisted-conch
5751 python-twisted-core python-twisted-web python-utidylib python-webkit
5752 python-xdg python-zope.interface remmina remmina-plugin-data
5753 remmina-plugin-rdp remmina-plugin-vnc rhythmbox-plugin-cdrecorder
5754 rhythmbox-plugins rpm-common rpm2cpio seahorse-plugins shotwell
5755 software-center svgalibg1 system-config-printer-udev
5756 telepathy-gabble telepathy-mission-control-5 telepathy-salut tomboy
5757 totem totem-coherence totem-mozilla totem-plugins
5758 transmission-common xdg-user-dirs xdg-user-dirs-gtk xserver-xephyr
5759 zip
5760 &lt;/p&gt;&lt;/blockquote&gt;
5761
5762 Installed using apt-get, removed with aptitude
5763
5764 &lt;blockquote&gt;&lt;p&gt;
5765 arj bluez-utils cheese dhcdbd djvulibre-desktop ekiga eog
5766 epiphany-extensions epiphany-gecko evolution-exchange
5767 fast-user-switch-applet file-roller gcalctool gconf-editor gdm gedit
5768 gedit-common gnome-app-install gnome-games gnome-games-data
5769 gnome-nettool gnome-system-tools gnome-themes gnome-utils
5770 gnome-vfs-obexftp gnome-volume-manager gnuchess gucharmap
5771 guile-1.8-libs hal libavahi-compat-libdnssd1 libavahi-core5
5772 libavahi-ui0 libbind9-50 libbluetooth2 libcamel1.2-11 libcdio7
5773 libcucul0 libcurl3 libdirectfb-1.0-0 libdmx1 libdvdread3
5774 libedata-cal1.2-6 libedataserver1.2-9 libeel2-2.20 libepc-1.0-1
5775 libepc-ui-1.0-1 libexchange-storage1.2-3 libfaad0 libgadu3
5776 libgalago3 libgd2-noxpm libgda3-3 libgda3-common libggz2 libggzcore9
5777 libggzmod4 libgksu1.2-0 libgksuui1.0-1 libgmyth0 libgnome-desktop-2
5778 libgnome-pilot2 libgnomecups1.0-1 libgnomeprint2.2-0
5779 libgnomeprintui2.2-0 libgpod3 libgraphviz4 libgtk-vnc-1.0-0
5780 libgtkhtml2-0 libgtksourceview1.0-0 libgtksourceview2.0-0
5781 libgucharmap6 libhesiod0 libicu38 libisccc50 libisccfg50 libiw29
5782 libjaxp1.3-java-gcj libkpathsea4 liblircclient0 libltdl3 liblwres50
5783 libmagick++10 libmagick10 libmalaga7 libmozjs1d libmpfr1ldbl libmtp7
5784 libmysqlclient15off libnautilus-burn4 libneon27 libnm-glib0
5785 libnm-util0 libopal-2.2 libosp5 libparted1.8-10 libpisock9
5786 libpisync1 libpoppler-glib3 libpoppler3 libpt-1.10.10 libraw1394-8
5787 libsdl1.2debian-alsa libsensors3 libsexy2 libsmbios2 libsoup2.2-8
5788 libspeexdsp1 libssh2-1 libsuitesparse-3.1.0 libsvga1
5789 libswfdec-0.6-90 libtalloc1 libtotem-plparser10 libtrackerclient0
5790 libvoikko1 libxalan2-java-gcj libxerces2-java-gcj libxklavier12
5791 libxtrap6 libxxf86misc1 libzephyr3 mysql-common rhythmbox seahorse
5792 sound-juicer swfdec-gnome system-config-printer totem-common
5793 totem-gstreamer transmission-gtk vinagre vino w3c-dtd-xhtml wodim
5794 &lt;/p&gt;&lt;/blockquote&gt;
5795
5796 &lt;p&gt;Installed using aptitude, missing with apt-get&lt;/p&gt;
5797
5798 &lt;blockquote&gt;&lt;p&gt;
5799 gstreamer0.10-gnomevfs
5800 &lt;/p&gt;&lt;/blockquote&gt;
5801
5802 &lt;p&gt;Installed using aptitude, removed with apt-get&lt;/p&gt;
5803
5804 &lt;blockquote&gt;&lt;p&gt;
5805 [nothing]
5806 &lt;/p&gt;&lt;/blockquote&gt;
5807
5808 &lt;p&gt;This is for KDE:&lt;/p&gt;
5809
5810 &lt;p&gt;Installed using apt-get, missing with aptitude&lt;/p&gt;
5811
5812 &lt;blockquote&gt;&lt;p&gt;
5813 autopoint bomber bovo cantor cantor-backend-kalgebra cpp-4.3 dcoprss
5814 edict espeak espeak-data eyesapplet fifteenapplet finger gettext
5815 ghostscript-x git gnome-audio gnugo granatier gs-common
5816 gstreamer0.10-pulseaudio indi kaddressbook-plugins kalgebra
5817 kalzium-data kanjidic kapman kate-plugins kblocks kbreakout kbstate
5818 kde-icons-mono kdeaccessibility kdeaddons-kfile-plugins
5819 kdeadmin-kfile-plugins kdeartwork-misc kdeartwork-theme-window
5820 kdeedu kdeedu-data kdeedu-kvtml-data kdegames kdegames-card-data
5821 kdegames-mahjongg-data kdegraphics-kfile-plugins kdelirc
5822 kdemultimedia-kfile-plugins kdenetwork-kfile-plugins
5823 kdepim-kfile-plugins kdepim-kio-plugins kdessh kdetoys kdewebdev
5824 kdiamond kdnssd kfilereplace kfourinline kgeography-data kigo
5825 killbots kiriki klettres-data kmoon kmrml knewsticker-scripts
5826 kollision kpf krosspython ksirk ksmserver ksquares kstars-data
5827 ksudoku kubrick kweather libasound2-plugins libboost-python1.42.0
5828 libcfitsio3 libconvert-binhex-perl libcrypt-ssleay-perl libdb4.6++
5829 libdjvulibre-text libdotconf1.0 liberror-perl libespeak1
5830 libfinance-quote-perl libgail-common libgsl0ldbl libhtml-parser-perl
5831 libhtml-tableextract-perl libhtml-tagset-perl libhtml-tree-perl
5832 libio-stringy-perl libkdeedu4 libkdegames5 libkiten4 libkpathsea5
5833 libkrossui4 libmailtools-perl libmime-tools-perl
5834 libnews-nntpclient-perl libopenbabel3 libportaudio2 libpulse-browse0
5835 libservlet2.4-java libspeechd2 libtiff-tools libtimedate-perl
5836 libunistring0 liburi-perl libwww-perl libxalan2-java libxerces2-java
5837 lirc luatex marble networkstatus noatun-plugins
5838 openoffice.org-writer2latex palapeli palapeli-data parley
5839 parley-data poster psutils pulseaudio pulseaudio-esound-compat
5840 pulseaudio-module-x11 pulseaudio-utils quanta-data rocs rsync
5841 speech-dispatcher step svgalibg1 texlive-binaries texlive-luatex
5842 ttf-sazanami-gothic
5843 &lt;/p&gt;&lt;/blockquote&gt;
5844
5845 &lt;p&gt;Installed using apt-get, removed with aptitude&lt;/p&gt;
5846
5847 &lt;blockquote&gt;&lt;p&gt;
5848 amor artsbuilder atlantik atlantikdesigner blinken bluez-utils cvs
5849 dhcdbd djvulibre-desktop imlib-base imlib11 kalzium kanagram kandy
5850 kasteroids katomic kbackgammon kbattleship kblackbox kbounce kbruch
5851 kcron kdat kdemultimedia-kappfinder-data kdeprint kdict kdvi kedit
5852 keduca kenolaba kfax kfaxview kfouleggs kgeography kghostview
5853 kgoldrunner khangman khexedit kiconedit kig kimagemapeditor
5854 kitchensync kiten kjumpingcube klatin klettres klickety klines
5855 klinkstatus kmag kmahjongg kmailcvt kmenuedit kmid kmilo kmines
5856 kmousetool kmouth kmplot knetwalk kodo kolf kommander konquest kooka
5857 kpager kpat kpdf kpercentage kpilot kpoker kpovmodeler krec
5858 kregexpeditor kreversi ksame ksayit kshisen ksig ksim ksirc ksirtet
5859 ksmiletris ksnake ksokoban kspaceduel kstars ksvg ksysv kteatime
5860 ktip ktnef ktouch ktron kttsd ktuberling kturtle ktux kuickshow
5861 kverbos kview kviewshell kvoctrain kwifimanager kwin kwin4 kwordquiz
5862 kworldclock kxsldbg libakode2 libarts1-akode libarts1-audiofile
5863 libarts1-mpeglib libarts1-xine libavahi-compat-libdnssd1
5864 libavahi-core5 libavc1394-0 libbind9-50 libbluetooth2
5865 libboost-python1.34.1 libcucul0 libcurl3 libcvsservice0
5866 libdirectfb-1.0-0 libdjvulibre21 libdvdread3 libfaad0 libfreebob0
5867 libgd2-noxpm libgraphviz4 libgsmme1c2a libgtkhtml2-0 libicu38
5868 libiec61883-0 libindex0 libisccc50 libisccfg50 libiw29
5869 libjaxp1.3-java-gcj libk3b3 libkcal2b libkcddb1 libkdeedu3
5870 libkdegames1 libkdepim1a libkgantt0 libkleopatra1 libkmime2
5871 libkpathsea4 libkpimexchange1 libkpimidentities1 libkscan1
5872 libksieve0 libktnef1 liblockdev1 libltdl3 liblwres50 libmagick10
5873 libmimelib1c2a libmodplug0c2 libmozjs1d libmpcdec3 libmpfr1ldbl
5874 libneon27 libnm-util0 libopensync0 libpisock9 libpoppler-glib3
5875 libpoppler-qt2 libpoppler3 libraw1394-8 librss1 libsensors3
5876 libsmbios2 libssh2-1 libsuitesparse-3.1.0 libswfdec-0.6-90
5877 libtalloc1 libxalan2-java-gcj libxerces2-java-gcj libxtrap6 lskat
5878 mpeglib network-manager-kde noatun pmount tex-common texlive-base
5879 texlive-common texlive-doc-base texlive-fonts-recommended tidy
5880 ttf-dustin ttf-kochi-gothic ttf-sjfonts
5881 &lt;/p&gt;&lt;/blockquote&gt;
5882
5883 &lt;p&gt;Installed using aptitude, missing with apt-get&lt;/p&gt;
5884
5885 &lt;blockquote&gt;&lt;p&gt;
5886 dolphin kde-core kde-plasma-desktop kde-standard kde-window-manager
5887 kdeartwork kdebase kdebase-apps kdebase-workspace
5888 kdebase-workspace-bin kdebase-workspace-data kdeutils kscreensaver
5889 kscreensaver-xsavers libgle3 libkonq5 libkonq5-templates libnetpbm10
5890 netpbm plasma-widget-folderview plasma-widget-networkmanagement
5891 xscreensaver-data-extra xscreensaver-gl xscreensaver-gl-extra
5892 xscreensaver-screensaver-bsod
5893 &lt;/p&gt;&lt;/blockquote&gt;
5894
5895 &lt;p&gt;Installed using aptitude, removed with apt-get&lt;/p&gt;
5896
5897 &lt;blockquote&gt;&lt;p&gt;
5898 kdebase-bin konq-plugins konqueror
5899 &lt;/p&gt;&lt;/blockquote&gt;
5900 </description>
5901 </item>
5902
5903 <item>
5904 <title>Gnash buildbot slave and Debian kfreebsd</title>
5905 <link>http://people.skolelinux.org/pere/blog/Gnash_buildbot_slave_and_Debian_kfreebsd.html</link>
5906 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Gnash_buildbot_slave_and_Debian_kfreebsd.html</guid>
5907 <pubDate>Sat, 20 Nov 2010 07:20:00 +0100</pubDate>
5908 <description>&lt;p&gt;Answering
5909 &lt;a href=&quot;http://www.listware.net/201011/gnash-dev/67431-gnash-dev-buildbot-looking-for-slaves.html&quot;&gt;the
5910 call from the Gnash project&lt;/a&gt; for
5911 &lt;a href=&quot;http://www.gnashdev.org:8010&quot;&gt;buildbot&lt;/a&gt; slaves to test the
5912 current source, I have set up a virtual KVM machine on the Debian
5913 Edu/Skolelinux virtualization host to test the git source on
5914 Debian/Squeeze. I hope this can help the developers in getting new
5915 releases out more often.&lt;/p&gt;
5916
5917 &lt;p&gt;As the developers want less main-stream build platforms tested to,
5918 I have considered setting up a &lt;a
5919 href=&quot;http://www.debian.org/ports/kfreebsd-gnu/&quot;&gt;Debian/kfreebsd&lt;/a&gt;
5920 machine as well. I have also considered using the kfreebsd
5921 architecture in Debian as a file server in NUUG to get access to the 5
5922 TB zfs volume we currently use to store DV video. Because of this, I
5923 finally got around to do a test installation of Debian/Squeeze with
5924 kfreebsd. Installation went fairly smooth, thought I noticed some
5925 visual glitches in the cdebconf dialogs (black cursor left on the
5926 screen at random locations). Have not gotten very far with the
5927 testing. Noticed cfdisk did not work, but fdisk did so it was not a
5928 fatal problem. Have to spend some more time on it to see if it is
5929 useful as a file server for NUUG. Will try to find time to set up a
5930 gnash buildbot slave on the Debian Edu/Skolelinux this weekend.&lt;/p&gt;
5931 </description>
5932 </item>
5933
5934 <item>
5935 <title>Debian in 3D</title>
5936 <link>http://people.skolelinux.org/pere/blog/Debian_in_3D.html</link>
5937 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_in_3D.html</guid>
5938 <pubDate>Tue, 9 Nov 2010 16:10:00 +0100</pubDate>
5939 <description>&lt;p&gt;&lt;img src=&quot;http://thingiverse-production.s3.amazonaws.com/renders/23/e0/c4/f9/2b/debswagtdose_preview_medium.jpg&quot;&gt;&lt;/p&gt;
5940
5941 &lt;p&gt;3D printing is just great. I just came across this Debian logo in
5942 3D linked in from
5943 &lt;a href=&quot;http://blog.thingiverse.com/2010/11/09/participatory-branding/&quot;&gt;the
5944 thingiverse blog&lt;/a&gt;.&lt;/p&gt;
5945 </description>
5946 </item>
5947
5948 <item>
5949 <title>Making room on the Debian Edu/Sqeeze DVD</title>
5950 <link>http://people.skolelinux.org/pere/blog/Making_room_on_the_Debian_Edu_Sqeeze_DVD.html</link>
5951 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Making_room_on_the_Debian_Edu_Sqeeze_DVD.html</guid>
5952 <pubDate>Sun, 7 Nov 2010 11:45:00 +0100</pubDate>
5953 <description>&lt;p&gt;Prioritising packages for the Debian Edu /
5954 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux&lt;/a&gt; DVD, which is
5955 supposed provide a school with all the services and user applications
5956 needed on the pupils computer network has always been hard. Even
5957 schools without Internet connections should be able to get Debian Edu
5958 working using this DVD.&lt;/p&gt;
5959
5960 &lt;p&gt;The job became a lot harder when apt and aptitude started
5961 installing recommended packages by default. We want the same set of
5962 packages to be installed when using the DVD and the netinst CD, and
5963 that means all recommended packages need to be on the DVD. I created
5964 a patch for debian-cd in &lt;a href=&quot;http://bugs.debian.org/601203&quot;&gt;BTS
5965 report #601203&lt;/a&gt; to do this, and since this change was applied to
5966 the Debian Edu DVD build, we have been seriously short on space.&lt;/p&gt;
5967
5968 &lt;p&gt;A few days ago we decided to drop blender, wxmaxima and kicad from
5969 the default installation to save space on the DVD, believing that
5970 those needing these applications are few and can get them from the
5971 Debian archive.&lt;/p&gt;
5972
5973 &lt;p&gt;Yesterday, I had a look what source packages to see which packages
5974 were using most space. A few large packages are well know;
5975 openoffice.org, openclipart and fluid-soundfont. But I also
5976 discovered that lilypond used 106 MiB and fglrx-driver used 53 MiB.
5977 The lilypond package is pulled in as a dependency for rosegarden, and
5978 when looking a bit closer I discovered that 99 MiB of the 106 MiB were
5979 the documentation package, which is recommended by the binary package.
5980 I decided to drop this documentation package from our DVD, as most of
5981 our users will use the GUI front-ends and do not need the lilypond
5982 documentation. Similarly, I dropped the non-free fglrx-driver package
5983 which might be installed by d-i when its hardware is detected, as the
5984 free X driver should work.&lt;/p&gt;
5985
5986 &lt;p&gt;With this change, we finally got space for the LXDE and Gnome
5987 desktop packages as well as the language specific packages making the
5988 DVD more useful again.&lt;/p&gt;
5989 </description>
5990 </item>
5991
5992 <item>
5993 <title>Software updates 2010-10-24</title>
5994 <link>http://people.skolelinux.org/pere/blog/Software_updates_2010_10_24.html</link>
5995 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Software_updates_2010_10_24.html</guid>
5996 <pubDate>Sun, 24 Oct 2010 22:45:00 +0200</pubDate>
5997 <description>&lt;p&gt;Some updates.&lt;/p&gt;
5998
5999 &lt;p&gt;My &lt;a href=&quot;http://pledgebank.com/gnash-avm2&quot;&gt;gnash pledge&lt;/a&gt; to
6000 raise money for the project is going well. The lower limit of 10
6001 signers was reached in 24 hours, and so far 13 people have signed it.
6002 More signers and more funding is most welcome, and I am really curious
6003 how far we can get before the time limit of December 24 is reached.
6004 :)&lt;/p&gt;
6005
6006 &lt;p&gt;On the #gnash IRC channel on irc.freenode.net, I was just tipped
6007 about what appear to be a great code coverage tool capable of
6008 generating code coverage stats without any changes to the source code.
6009 It is called
6010 &lt;a href=&quot;http://simonkagstrom.github.com/kcov/index.html&quot;&gt;kcov&lt;/a&gt;,
6011 and can be used using &lt;tt&gt;kcov &amp;lt;directory&amp;gt; &amp;lt;binary&amp;gt;&lt;/tt&gt;.
6012 It is missing in Debian, but the git source built just fine in Squeeze
6013 after I installed libelf-dev, libdwarf-dev, pkg-config and
6014 libglib2.0-dev. Failed to build in Lenny, but suspect that is
6015 solvable. I hope kcov make it into Debian soon.&lt;/p&gt;
6016
6017 &lt;p&gt;Finally found time to wrap up the release notes for &lt;a
6018 href=&quot;http://lists.debian.org/debian-edu-announce/2010/10/msg00002.html&quot;&gt;a
6019 new alpha release of Debian Edu&lt;/a&gt;, and just published the second
6020 alpha test release of the Squeeze based Debian Edu /
6021 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux&lt;/a&gt;
6022 release. Give it a try if you need a complete linux solution for your
6023 school, including central infrastructure server, workstations, thin
6024 client servers and diskless workstations. A nice touch added
6025 yesterday is RDP support on the thin client servers, for windows
6026 clients to get a Linux desktop on request.&lt;/p&gt;
6027 </description>
6028 </item>
6029
6030 <item>
6031 <title>Pledge for funding to the Gnash project to get AVM2 support</title>
6032 <link>http://people.skolelinux.org/pere/blog/Pledge_for_funding_to_the_Gnash_project_to_get_AVM2_support.html</link>
6033 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Pledge_for_funding_to_the_Gnash_project_to_get_AVM2_support.html</guid>
6034 <pubDate>Tue, 19 Oct 2010 14:45:00 +0200</pubDate>
6035 <description>&lt;p&gt;&lt;a href=&quot;http://www.getgnash.org/&quot;&gt;The Gnash project&lt;/a&gt; is the
6036 most promising solution for a Free Software Flash implementation. It
6037 has done great so far, but there is still far to go, and recently its
6038 funding has dried up. I believe AVM2 support in Gnash is vital to the
6039 continued progress of the project, as more and more sites show up with
6040 AVM2 flash files.&lt;/p&gt;
6041
6042 &lt;p&gt;To try to get funding for developing such support, I have started
6043 &lt;a href=&quot;http://www.pledgebank.com/gnash-avm2&quot;&gt;a pledge&lt;/a&gt; with the
6044 following text:&lt;/P&gt;
6045
6046 &lt;p&gt;&lt;blockquote&gt;
6047
6048 &lt;p&gt;&quot;I will pay 100$ to the Gnash project to develop AVM2 support but
6049 only if 10 other people will do the same.&quot;&lt;/p&gt;
6050
6051 &lt;p&gt;- Petter Reinholdtsen, free software developer&lt;/p&gt;
6052
6053 &lt;p&gt;Deadline to sign up by: 24th December 2010&lt;/p&gt;
6054
6055 &lt;p&gt;The Gnash project need to get support for the new Flash file
6056 format AVM2 to work with a lot of sites using Flash on the
6057 web. Gnash already work with a lot of Flash sites using the old AVM1
6058 format, but more and more sites are using the AVM2 format these
6059 days. The project web page is available from
6060 http://www.getgnash.org/ . Gnash is a free software implementation
6061 of Adobe Flash, allowing those of us that do not accept the terms of
6062 the Adobe Flash license to get access to Flash sites.&lt;/p&gt;
6063
6064 &lt;p&gt;The project need funding to get developers to put aside enough
6065 time to develop the AVM2 support, and this pledge is my way to try
6066 to get this to happen.&lt;/p&gt;
6067
6068 &lt;p&gt;The project accept donations via the OpenMediaNow foundation,
6069 &lt;a href=&quot;http://www.openmedianow.org/?q=node/32&quot;&gt;http://www.openmedianow.org/?q=node/32&lt;/a&gt; .&lt;/p&gt;
6070
6071 &lt;/blockquote&gt;&lt;/p&gt;
6072
6073 &lt;p&gt;I hope you will support this effort too. I hope more than 10
6074 people will participate to make this happen. The more money the
6075 project gets, the more features it can develop using these funds.
6076 :)&lt;/p&gt;
6077 </description>
6078 </item>
6079
6080 <item>
6081 <title>First version of a Perl library to control the Spykee robot</title>
6082 <link>http://people.skolelinux.org/pere/blog/First_version_of_a_Perl_library_to_control_the_Spykee_robot.html</link>
6083 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/First_version_of_a_Perl_library_to_control_the_Spykee_robot.html</guid>
6084 <pubDate>Sat, 9 Oct 2010 14:00:00 +0200</pubDate>
6085 <description>&lt;p&gt;This summer I got the chance to buy cheap Spykee robots, and since
6086 then I have worked on getting Linux software in place to control them.
6087 The firmware for the robot is available from the producer, and using
6088 that source it was trivial to figure out the protocol specification.
6089 I&#39;ve started on a perl library to control it, and made some demo
6090 programs using this perl library to allow one to control the
6091 robots.&lt;/p&gt;
6092
6093 &lt;p&gt;The library is quite functional already, and capable of controlling
6094 the driving, fetching video, uploading MP3s and play them. There are
6095 a few less important features too.&lt;/p&gt;
6096
6097 &lt;p&gt;Since a few weeks ago, I ran out of time to spend on this project,
6098 but I never got around to releasing the current source. I decided
6099 today that it was time to do something about it, and uploaded the
6100 source to my Debian package store at people.skolelinux.org.&lt;/p&gt;
6101
6102 &lt;p&gt;Because it was simpler for me, I made a Debian package and
6103 published the source and deb. If you got a spykee robot, grab the
6104 source or binary package:&lt;/p&gt;
6105
6106 &lt;p&gt;&lt;ul&gt;
6107 &lt;li&gt;&lt;a href=&quot;http://people.skolelinux.org/~pere/debian/packages/lenny/libspykee-perl_0.0.20101009-1.tar.gz&quot;&gt;libspykee-perl_0.0.20101009-1.tar.gz&lt;/a&gt;&lt;/li&gt;
6108 &lt;li&gt;&lt;a href=&quot;http://people.skolelinux.org/~pere/debian/packages/lenny/libspykee-perl_0.0.20101009-1.dsc&quot;&gt;libspykee-perl_0.0.20101009-1.dsc&lt;/a&gt;&lt;/li&gt;
6109 &lt;li&gt;&lt;a href=&quot;http://people.skolelinux.org/~pere/debian/packages/lenny/libspykee-perl_0.0.20101009-1_all.deb&quot;&gt;libspykee-perl_0.0.20101009-1_all.deb&lt;/a&gt;&lt;/li&gt;
6110 &lt;/ul&gt;&lt;/p&gt;
6111
6112 &lt;p&gt;If you are interested in helping out with developing this library,
6113 please let me know.&lt;/p&gt;
6114 </description>
6115 </item>
6116
6117 <item>
6118 <title>Links for 2010-10-03</title>
6119 <link>http://people.skolelinux.org/pere/blog/Links_for_2010_10_03.html</link>
6120 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Links_for_2010_10_03.html</guid>
6121 <pubDate>Sun, 3 Oct 2010 22:30:00 +0200</pubDate>
6122 <description>&lt;p&gt;&lt;ul&gt;
6123
6124 &lt;li&gt;&lt;a href=&quot;http://arstechnica.com/business/news/2010/09/there-is-no-plan-b-why-the-ipv4-to-ipv6-transition-will-be-ugly.ars&quot;&gt;There
6125 is no Plan B: why the IPv4-to-IPv6 transition will be ugly&lt;/a&gt;&lt;/li&gt;
6126
6127 &lt;li&gt;Scanner looking under clothes
6128 &lt;a href=&quot;http://www.dagbladet.no/2010/10/03/nyheter/utenriks/reise/overvakingskamera/flyplasser/13667192/&quot;&gt;has
6129 already been misused at Heathrow&lt;/a&gt;.&lt;/li&gt;
6130
6131 &lt;li&gt;&lt;a href=&quot;http://wiki.softwarelivre.org/Landell&quot;&gt;Landell
6132 Webcasting&lt;/a&gt; - interesting alternative for
6133 &lt;ahref=&quot;http://dvswitch.alioth.debian.org/wiki/&quot;&gt;DVSwitch&lt;/a&gt; with
6134 simple setup.
6135
6136 &lt;/ul&gt;&lt;/p&gt;
6137 </description>
6138 </item>
6139
6140 <item>
6141 <title>Terms of use for video produced by a Canon IXUS 130 digital camera</title>
6142 <link>http://people.skolelinux.org/pere/blog/Terms_of_use_for_video_produced_by_a_Canon_IXUS_130_digital_camera.html</link>
6143 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Terms_of_use_for_video_produced_by_a_Canon_IXUS_130_digital_camera.html</guid>
6144 <pubDate>Thu, 9 Sep 2010 23:55:00 +0200</pubDate>
6145 <description>&lt;p&gt;A few days ago I had the mixed pleasure of bying a new digital
6146 camera, a Canon IXUS 130. It was instructive and very disturbing to
6147 be able to verify that also this camera producer have the nerve to
6148 specify how I can or can not use the videos produced with the camera.
6149 Even thought I was aware of the issue, the options with new cameras
6150 are limited and I ended up bying the camera anyway. What is the
6151 problem, you might ask? It is software patents, MPEG-4, H.264 and the
6152 MPEG-LA that is the problem, and our right to record our experiences
6153 without asking for permissions that is at risk.
6154
6155 &lt;p&gt;On page 27 of the Danish instruction manual, this section is
6156 written:&lt;/p&gt;
6157
6158 &lt;blockquote&gt;
6159 &lt;p&gt;This product is licensed under AT&amp;T patents for the MPEG-4 standard
6160 and may be used for encoding MPEG-4 compliant video and/or decoding
6161 MPEG-4 compliant video that was encoded only (1) for a personal and
6162 non-commercial purpose or (2) by a video provider licensed under the
6163 AT&amp;T patents to provide MPEG-4 compliant video.&lt;/p&gt;
6164
6165 &lt;p&gt;No license is granted or implied for any other use for MPEG-4
6166 standard.&lt;/p&gt;
6167 &lt;/blockquote&gt;
6168
6169 &lt;p&gt;In short, the camera producer have chosen to use technology
6170 (MPEG-4/H.264) that is only provided if I used it for personal and
6171 non-commercial purposes, or ask for permission from the organisations
6172 holding the knowledge monopoly (patent) for technology used.&lt;/p&gt;
6173
6174 &lt;p&gt;This issue has been brewing for a while, and I recommend you to
6175 read
6176 &quot;&lt;a href=&quot;http://www.osnews.com/story/23236/Why_Our_Civilization_s_Video_Art_and_Culture_is_Threatened_by_the_MPEG-LA&quot;&gt;Why
6177 Our Civilization&#39;s Video Art and Culture is Threatened by the
6178 MPEG-LA&lt;/a&gt;&quot; by Eugenia Loli-Queru and
6179 &quot;&lt;a href=&quot;http://webmink.com/2010/09/03/h-264-and-foss/&quot;&gt;H.264 Is Not
6180 The Sort Of Free That Matters&lt;/a&gt;&quot; by Simon Phipps to learn more about
6181 the issue. The solution is to support the
6182 &lt;a href=&quot;http://www.digistan.org/open-standard:definition&quot;&gt;free and
6183 open standards&lt;/a&gt; for video, like &lt;a href=&quot;http://www.theora.org/&quot;&gt;Ogg
6184 Theora&lt;/a&gt;, and avoid MPEG-4 and H.264 if you can.&lt;/p&gt;
6185 </description>
6186 </item>
6187
6188 <item>
6189 <title>Some notes on Flash in Debian and Debian Edu</title>
6190 <link>http://people.skolelinux.org/pere/blog/Some_notes_on_Flash_in_Debian_and_Debian_Edu.html</link>
6191 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Some_notes_on_Flash_in_Debian_and_Debian_Edu.html</guid>
6192 <pubDate>Sat, 4 Sep 2010 10:10:00 +0200</pubDate>
6193 <description>&lt;p&gt;In the &lt;a href=&quot;http://popcon.debian.org/unknown/by_vote&quot;&gt;Debian
6194 popularity-contest numbers&lt;/a&gt;, the adobe-flashplugin package the
6195 second most popular used package that is missing in Debian. The sixth
6196 most popular is flashplayer-mozilla. This is a clear indication that
6197 working flash is important for Debian users. Around 10 percent of the
6198 users submitting data to popcon.debian.org have this package
6199 installed.&lt;/p&gt;
6200
6201 &lt;p&gt;In the report written by Lars Risan in August 2008
6202&lt;a href=&quot;http://wiki.skolelinux.no/Dokumentasjon/Rapporter?action=AttachFile&amp;do=view&amp;target=Skolelinux_i_bruk_rapport_1.0.pdf&quot;&gt;Skolelinux
6203 i bruk – Rapport for Hurum kommune, Universitetet i Agder og
6204 stiftelsen SLX Debian Labs&lt;/a&gt;»), one of the most important problems
6205 schools experienced with &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian
6206 Edu/Skolelinux&lt;/a&gt; was the lack of working Flash. A lot of educational
6207 web sites require Flash to work, and lacking working Flash support in
6208 the web browser and the problems with installing it was perceived as a
6209 good reason to stay with Windows.&lt;/p&gt;
6210
6211 &lt;p&gt;I once saw a funny and sad comment in a web forum, where Linux was
6212 said to be the retarded cousin that did not really understand
6213 everything you told him but could work fairly well. This was a
6214 comment regarding the problems Linux have with proprietary formats and
6215 non-standard web pages, and is sad because it exposes a fairly common
6216 understanding of whose fault it is if web pages that only work in for
6217 example Internet Explorer 6 fail to work on Firefox, and funny because
6218 it explain very well how annoying it is for users when Linux
6219 distributions do not work with the documents they receive or the web
6220 pages they want to visit.&lt;/p&gt;
6221
6222 &lt;p&gt;This is part of the reason why I believe it is important for Debian
6223 and Debian Edu to have a well working Flash implementation in the
6224 distribution, to get at least popular sites as Youtube and Google
6225 Video to working out of the box. For Squeeze, Debian have the chance
6226 to include the latest version of Gnash that will make this happen, as
6227 the new release 0.8.8 was published a few weeks ago and is resting in
6228 unstable. The new version work with more sites that version 0.8.7.
6229 The Gnash maintainers have asked for a freeze exception, but the
6230 release team have not had time to reply to it yet. I hope they agree
6231 with me that Flash is important for the Debian desktop users, and thus
6232 accept the new package into Squeeze.&lt;/p&gt;
6233 </description>
6234 </item>
6235
6236 <item>
6237 <title>My first perl GUI application - controlling a Spykee robot</title>
6238 <link>http://people.skolelinux.org/pere/blog/My_first_perl_GUI_application___controlling_a_Spykee_robot.html</link>
6239 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/My_first_perl_GUI_application___controlling_a_Spykee_robot.html</guid>
6240 <pubDate>Wed, 1 Sep 2010 21:00:00 +0200</pubDate>
6241 <description>&lt;p&gt;This evening I made my first Perl GUI application. The last few
6242 days I have worked on a Perl module for controlling my recently
6243 aquired Spykee robots, and the module is now getting complete enought
6244 that it is possible to use it to control the robot driving at least.
6245 It was now time to figure out how to use it to create some GUI to
6246 allow me to drive the robot around. I picked PerlQt as I have had
6247 positive experiences with the Qt API before, and spent a few minutes
6248 browsing the web for examples. Using Qt Designer seemed like a short
6249 cut, so I ended up writing the perl GUI using Qt Designer and
6250 compiling it into a perl program using the puic program from
6251 libqt-perl. Nothing fancy yet, but it got buttons to connect and
6252 drive around.&lt;/p&gt;
6253
6254 &lt;p&gt;The perl module I have written provide a object oriented API for
6255 controlling the robot. Here is an small example on how to use it:&lt;/p&gt;
6256
6257 &lt;p&gt;&lt;pre&gt;
6258 use Spykee;
6259 Spykee::discover(sub {$robot{$_[0]} = $_[1]});
6260 my $host = (keys %robot)[0];
6261 my $spykee = Spykee-&gt;new();
6262 $spykee-&gt;contact($host, &quot;admin&quot;, &quot;admin&quot;);
6263 $spykee-&gt;left();
6264 sleep 2;
6265 $spykee-&gt;right();
6266 sleep 2;
6267 $spykee-&gt;forward();
6268 sleep 2;
6269 $spykee-&gt;back();
6270 sleep 2;
6271 $spykee-&gt;stop();
6272 &lt;/pre&gt;&lt;/p&gt;
6273
6274 &lt;p&gt;Thanks to the release of the source of the robot firmware, I could
6275 peek into the implementation at the other end to figure out how to
6276 implement the protocol used by the robot. I&#39;ve implemented several of
6277 the commands the robot understand, but is still missing the camera
6278 support to make it possible to control the robot from remote. First I
6279 want to implement support for uploading new firmware and configuring
6280 the wireless network, to make it possible to bootstrap a Spykee robot
6281 without the producers Windows and MacOSX software (I only have Linux,
6282 so I had to ask a friend to come over to get the robot testing
6283 going. :).&lt;/p&gt;
6284
6285 &lt;p&gt;Will release the source to the public soon, but need to figure out
6286 where to make it available first. I will add a link to
6287 &lt;a href=&quot;http://wiki.nuug.no/grupper/robot/&quot;&gt;the NUUG wiki&lt;/a&gt; for
6288 those that want to check back later to find it.&lt;/p&gt;
6289 </description>
6290 </item>
6291
6292 <item>
6293 <title>Broken hard link handling with sshfs</title>
6294 <link>http://people.skolelinux.org/pere/blog/Broken_hard_link_handling_with_sshfs.html</link>
6295 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Broken_hard_link_handling_with_sshfs.html</guid>
6296 <pubDate>Mon, 30 Aug 2010 19:30:00 +0200</pubDate>
6297 <description>&lt;p&gt;Just got an email from Tobias Gruetzmacher as a followup on my
6298 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html&quot;&gt;previous
6299 post about sshfs&lt;/a&gt;. He reported another problem with sshfs. It
6300 fail to handle hard links properly. A simple way to spot this is to
6301 look at the . and .. entries in the directory tree. These should have
6302 a link count &gt;1, but on sshfs the count is 1. I just tested to see
6303 what happen when trying to hardlink, and this fail as well:&lt;/p&gt;
6304
6305 &lt;pre&gt;
6306 % ln foo bar
6307 ln: creating hard link `bar&#39; =&gt; `foo&#39;: Function not implemented
6308 %
6309 &lt;/pre&gt;
6310
6311 &lt;p&gt;I have not yet found time to implement a test for this in my file
6312 system test code, but believe having working hard links is useful to
6313 avoid surprised unix programs. Not as useful as working file locking
6314 and symlinks, which are required to get a working desktop, but useful
6315 nevertheless. :)&lt;/p&gt;
6316
6317 &lt;p&gt;The latest version of the file system test code is available via
6318 git from
6319 &lt;a href=&quot;http://github.com/gebi/fs-test&quot;&gt;http://github.com/gebi/fs-test&lt;/a&gt;&lt;/p&gt;
6320 </description>
6321 </item>
6322
6323 <item>
6324 <title>Broken umask handling with sshfs</title>
6325 <link>http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html</link>
6326 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html</guid>
6327 <pubDate>Thu, 26 Aug 2010 13:30:00 +0200</pubDate>
6328 <description>&lt;p&gt;My file system sematics program
6329 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html&quot;&gt;presented
6330 a few days ago&lt;/a&gt; is very useful to verify that a file system can
6331 work as a unix home directory,and today I had to extend it a bit. I&#39;m
6332 looking into alternatives for home directory access here at the
6333 University of Oslo, and one of the options is sshfs. My friend
6334 Finn-Arne mentioned a while back that they had used sshfs with Debian
6335 Edu, but stopped because of problems. I asked today what the problems
6336 where, and he mentioned that sshfs failed to handle umask properly.
6337 Trying to detect the problem I wrote this addition to my fs testing
6338 script:&lt;/p&gt;
6339
6340 &lt;pre&gt;
6341 mode_t touch_get_mode(const char *name, mode_t mode) {
6342 mode_t retval = 0;
6343 int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, mode);
6344 if (-1 != fd) {
6345 unlink(name);
6346 struct stat statbuf;
6347 if (-1 != fstat(fd, &amp;statbuf)) {
6348 retval = statbuf.st_mode &amp; 0x1ff;
6349 }
6350 close(fd);
6351 }
6352 return retval;
6353 }
6354
6355 /* Try to detect problem discovered using sshfs */
6356 int test_umask(void) {
6357 printf(&quot;info: testing umask effect on file creation\n&quot;);
6358
6359 mode_t orig_umask = umask(000);
6360 mode_t newmode;
6361 if (0666 != (newmode = touch_get_mode(&quot;foobar&quot;, 0666))) {
6362 printf(&quot; error: Wrong file mode %o when creating using mode 666 and umask 000\n&quot;,
6363 newmode);
6364 }
6365 umask(007);
6366 if (0660 != (newmode = touch_get_mode(&quot;foobar&quot;, 0666))) {
6367 printf(&quot; error: Wrong file mode %o when creating using mode 666 and umask 007\n&quot;,
6368 newmode);
6369 }
6370
6371 umask (orig_umask);
6372 return 0;
6373 }
6374
6375 int main(int argc, char **argv) {
6376 [...]
6377 test_umask();
6378 return 0;
6379 }
6380 &lt;/pre&gt;
6381
6382 &lt;p&gt;Sure enough. On NFS to a netapp, I get this result:&lt;/p&gt;
6383
6384 &lt;pre&gt;
6385 Testing POSIX/Unix sematics on file system
6386 info: testing symlink creation
6387 info: testing subdirectory creation
6388 info: testing fcntl locking
6389 Read-locking 1 byte from 1073741824
6390 Read-locking 510 byte from 1073741826
6391 Unlocking 1 byte from 1073741824
6392 Write-locking 1 byte from 1073741824
6393 Write-locking 510 byte from 1073741826
6394 Unlocking 2 byte from 1073741824
6395 info: testing umask effect on file creation
6396 &lt;/pre&gt;
6397
6398 &lt;p&gt;When mounting the same directory using sshfs, I get this
6399 result:&lt;/p&gt;
6400
6401 &lt;pre&gt;
6402 Testing POSIX/Unix sematics on file system
6403 info: testing symlink creation
6404 info: testing subdirectory creation
6405 info: testing fcntl locking
6406 Read-locking 1 byte from 1073741824
6407 Read-locking 510 byte from 1073741826
6408 Unlocking 1 byte from 1073741824
6409 Write-locking 1 byte from 1073741824
6410 Write-locking 510 byte from 1073741826
6411 Unlocking 2 byte from 1073741824
6412 info: testing umask effect on file creation
6413 error: Wrong file mode 644 when creating using mode 666 and umask 000
6414 error: Wrong file mode 640 when creating using mode 666 and umask 007
6415 &lt;/pre&gt;
6416
6417 &lt;p&gt;So, I can conclude that sshfs is better than smb to a Netapp or a
6418 Windows server, but not good enough to be used as a home
6419 directory.&lt;/p&gt;
6420
6421 &lt;p&gt;Update 2010-08-26: Reported the issue in
6422 &lt;a href=&quot;http://bugs.debian.org/594498&quot;&gt;BTS report #594498&lt;/a&gt;&lt;/p&gt;
6423
6424 &lt;p&gt;Update 2010-08-27: Michael Gebetsroither report that he found the
6425 script so useful that he created a GIT repository and stored it in
6426 &lt;a href=&quot;http://github.com/gebi/fs-test&quot;&gt;http://github.com/gebi/fs-test&lt;/a&gt;.&lt;/p&gt;
6427 </description>
6428 </item>
6429
6430 <item>
6431 <title>Rob Weir: How to Crush Dissent</title>
6432 <link>http://people.skolelinux.org/pere/blog/Rob_Weir__How_to_Crush_Dissent.html</link>
6433 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Rob_Weir__How_to_Crush_Dissent.html</guid>
6434 <pubDate>Sun, 15 Aug 2010 22:20:00 +0200</pubDate>
6435 <description>&lt;p&gt;I found the notes from Rob Weir on
6436 &lt;a href=&quot;http://feedproxy.google.com/~r/robweir/antic-atom/~3/VGb23-kta8c/how-to-crush-dissent.html&quot;&gt;how
6437 to crush dissent&lt;/a&gt; matching my own thoughts on the matter quite
6438 well. Highly recommended for those wondering which road our society
6439 should go down. In my view we have been heading the wrong way for a
6440 long time.&lt;/p&gt;
6441 </description>
6442 </item>
6443
6444 <item>
6445 <title>No hardcoded config on Debian Edu clients</title>
6446 <link>http://people.skolelinux.org/pere/blog/No_hardcoded_config_on_Debian_Edu_clients.html</link>
6447 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/No_hardcoded_config_on_Debian_Edu_clients.html</guid>
6448 <pubDate>Mon, 9 Aug 2010 20:15:00 +0200</pubDate>
6449 <description>&lt;p&gt;As reported earlier, the last few days I have looked at how Debian
6450 Edu clients are configured, and tried to get rid of all hardcoded
6451 configuration settings on the clients. I believe the work to be
6452 mostly done, and the clients seem to work just fine with dynamically
6453 generated configuration.&lt;/p&gt;
6454
6455 &lt;p&gt;What is the point, you might ask? The point is to allow a Debian
6456 Edu desktop to integrate into an existing network infrastructure
6457 without any manual configuration.&lt;/p&gt;
6458
6459 &lt;p&gt;This is what happens when installing a Debian Edu client here at
6460 the University of Oslo using PXE. With the PXE installation, I am
6461 asked for language (Norwegian Bokmål), locality (Norway) and keyboard
6462 layout (no-latin1), Debian Edu profile (Roaming Workstation), if I
6463 accept to reformat the hard drive (yes), if I want to submit info to
6464 popcon.debian.org (no) and root password (secret). After answering
6465 these questions, the installer goes ahead and does its thing, and
6466 after around 50 minutes it is done. I press enter to finish the
6467 installation, and the machine reboots into KDE. When the machine is
6468 ready and kdm asks for login information, I enter my university
6469 username and password, am told by kdm that a local home directory has
6470 been created and that I must log in again, and finally log in with the
6471 same username and password to the KDE 4.4 desktop. At no point during
6472 this process did it ask for university specific settings, and all the
6473 required configuration was dynamically detected using information
6474 fetched via DHCP and DNS. The roaming workstation is now ready for
6475 use.&lt;/p&gt;
6476
6477 &lt;p&gt;How was this done, you might wonder? First of all, here is the
6478 list of things that need to be configured on the client to get it
6479 working properly out of the box:&lt;/p&gt;
6480
6481 &lt;ul&gt;
6482 &lt;li&gt;IP address/netmask and DNS server.&lt;/li&gt;
6483 &lt;li&gt;Web proxy URL.&lt;/li&gt;
6484 &lt;li&gt;LDAP server for NSS directory information (user, group, etc).&lt;/li&gt;
6485 &lt;li&gt;Kerberos server for PAM password checking.&lt;/li&gt;
6486 &lt;li&gt;SMB mount point to access the network home directory. (*)&lt;/li&gt;
6487 &lt;li&gt;Central syslog server to send syslog messages to. (*)&lt;/li&gt;
6488 &lt;li&gt;Sitesummary collector URL to submit info to central server. (*)&lt;/li&gt;
6489 &lt;/ul&gt;
6490
6491 &lt;p&gt;(Hm, did I forget anything? Let me knew if I did.)&lt;/p&gt;
6492
6493 &lt;p&gt;The points marked (*) are not required to be able to use the
6494 machine, but needed to provide central storage and allowing system
6495 administrators to track their machines. Since yesterday, everything
6496 but the sitesummary collector URL is dynamically discovered at boot
6497 and installation time in the svn version of Debian Edu.&lt;/p&gt;
6498
6499 &lt;p&gt;The IP and DNS setup is fetched during boot using DHCP as usual.
6500 When a DHCP update arrives, the proxy setup is updated by looking for
6501 http://wpat/wpad.dat and using the content of this WPAD file to
6502 configure the http and ftp proxy in /etc/environment and
6503 /etc/apt/apt.conf. I decided to update the proxy setup using a DHCP
6504 hook to ensure that the client stops using the Debian Edu proxy when
6505 it is moved outside the Debian Edu network, and instead uses any local
6506 proxy present on the new network when it moves around.&lt;/p&gt;
6507
6508 &lt;p&gt;The DNS names of the LDAP, Kerberos and syslog server and related
6509 configuration are generated using DNS information at boot. First the
6510 installer looks for a host named ldap in the current DNS domain. If
6511 not found, it looks for _ldap._tcp SRV records in DNS instead. If an
6512 LDAP server is found, its root DSE entry is requested and the
6513 attributes namingContexts and defaultNamingContext are used to
6514 determine which LDAP base to use for NSS. If there are several
6515 namingContexts attibutes and the defaultNamingContext is present, that
6516 LDAP subtree is used as the base. If defaultNamingContext is missing,
6517 the subtrees listed as namingContexts are searched in sequence for any
6518 object with class posixAccount or posixGroup, and the first one with
6519 such an object is used as the LDAP base. For Kerberos, a similar
6520 search is done by first looking for a host named kerberos, and then
6521 for the _kerberos._tcp SRV record. I&#39;ve been unable to find a way to
6522 look up the Kerberos realm, so for this the upper case string of the
6523 current DNS domain is used.&lt;/p&gt;
6524
6525 &lt;p&gt;For the syslog server, the hosts syslog and loghost are searched
6526 for, and the _syslog._udp SRV record is consulted if no such host is
6527 found. This algorithm works for both Debian Edu and the University of
6528 Oslo. A similar strategy would work for locating the sitesummary
6529 server, but have not been implemented yet. I decided to fetch and
6530 save these settings during installation, to make sure moving to a
6531 different network does not change the set of users being allowed to
6532 log in nor the passwords required to log in. Usernames and passwords
6533 will be cached by sssd when the user logs in on the Debian Edu
6534 network, and will not change as the laptop move around. For a
6535 non-roaming machine, there is no caching, but given that it is
6536 supposed to stay in place it should not matter much. Perhaps we
6537 should switch those to use sssd too?&lt;/p&gt;
6538
6539 &lt;p&gt;The user&#39;s SMB mount point for the network home directory is
6540 located when the user logs in for the first time. The LDAP server is
6541 consulted to look for the user&#39;s LDAP object and the sambaHomePath
6542 attribute is used if found. If it isn&#39;t found, the home directory
6543 path fetched from NSS is used instead. Assuming the path is of the
6544 form /site/server/directory/username, the second part is looked up in
6545 DNS and used to generate a SMB URL of the form
6546 smb://server.domain/username. This algorithm works for both Debian
6547 edu and the University of Oslo. Perhaps there are better attributes
6548 to use or a better algorithm that works for more sites, but this will
6549 do for now. :)&lt;/p&gt;
6550
6551 &lt;p&gt;This work should make it easier to integrate the Debian Edu clients
6552 into any LDAP/Kerberos infrastructure, and make the current setup even
6553 more flexible than before. I suspect it will also work for thin
6554 client servers, allowing one to easily set up LTSP and hook it into a
6555 existing network infrastructure, but I have not had time to test this
6556 yet.&lt;/p&gt;
6557
6558 &lt;p&gt;If you want to help out with implementing these things for Debian
6559 Edu, please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
6560
6561 &lt;p&gt;Update 2010-08-09: Simon Farnsworth gave me a heads-up on how to
6562 detect Kerberos realm from DNS, by looking for _kerberos TXT entries
6563 before falling back to the upper case DNS domain name. Will have to
6564 implement it for Debian Edu. :)&lt;/p&gt;
6565 </description>
6566 </item>
6567
6568 <item>
6569 <title>Testing if a file system can be used for home directories...</title>
6570 <link>http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html</link>
6571 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html</guid>
6572 <pubDate>Sun, 8 Aug 2010 21:20:00 +0200</pubDate>
6573 <description>&lt;p&gt;A few years ago, I was involved in a project planning to use
6574 Windows file servers as home directory servers for Debian
6575 Edu/Skolelinux machines. This was thought to be no problem, as the
6576 access would be through the SMB network file system protocol, and we
6577 knew other sites used SMB with unix and samba as the file server to
6578 mount home directories without any problems. But, after months of
6579 struggling, we had to conclude that our goal was impossible.&lt;/p&gt;
6580
6581 &lt;p&gt;The reason is simply that while SMB can be used for home
6582 directories when the file server is Samba running on Unix, this only
6583 work because of Samba have some extensions and the fact that the
6584 underlying file system is a unix file system. When using a Windows
6585 file server, the underlying file system do not have POSIX semantics,
6586 and several programs will fail if the users home directory where they
6587 want to store their configuration lack POSIX semantics.&lt;/p&gt;
6588
6589 &lt;p&gt;As part of this work, I wrote a small C program I want to share
6590 with you all, to replicate a few of the problematic applications (like
6591 OpenOffice.org and GCompris) and see if the file system was working as
6592 it should. If you find yourself in spooky file system land, it might
6593 help you find your way out again. This is the fs-test.c source:&lt;/p&gt;
6594
6595 &lt;pre&gt;
6596 /*
6597 * Some tests to check the file system sematics. Used to verify that
6598 * CIFS from a windows server do not work properly as a linux home
6599 * directory.
6600 * License: GPL v2 or later
6601 *
6602 * needs libsqlite3-dev and build-essential installed
6603 * compile with: gcc -Wall -lsqlite3 -DTEST_SQLITE fs-test.c -o fs-test
6604 */
6605
6606 #define _FILE_OFFSET_BITS 64
6607 #define _LARGEFILE_SOURCE 1
6608 #define _LARGEFILE64_SOURCE 1
6609
6610 #define _GNU_SOURCE /* for asprintf() */
6611
6612 #include &amp;lt;errno.h&gt;
6613 #include &amp;lt;fcntl.h&gt;
6614 #include &amp;lt;stdio.h&gt;
6615 #include &amp;lt;string.h&gt;
6616 #include &amp;lt;stdlib.h&gt;
6617 #include &amp;lt;sys/file.h&gt;
6618 #include &amp;lt;sys/stat.h&gt;
6619 #include &amp;lt;sys/types.h&gt;
6620 #include &amp;lt;unistd.h&gt;
6621
6622 #ifdef TEST_SQLITE
6623 /*
6624 * Test sqlite open, as done by gcompris require the libsqlite3-dev
6625 * package and linking with -lsqlite3. A more low level test is
6626 * below.
6627 * See also &amp;lt;URL: http://www.sqlite.org./faq.html#q5 &gt;.
6628 */
6629 #include &amp;lt;sqlite3.h&gt;
6630 #define CREATE_TABLE_USERS \
6631 &quot;CREATE TABLE users (user_id INT UNIQUE, login TEXT, lastname TEXT, firstname TEXT, birthdate TEXT, class_id INT ); &quot;
6632 int test_sqlite_open(void) {
6633 char *zErrMsg;
6634 char *name = &quot;testsqlite.db&quot;;
6635 sqlite3 *db=NULL;
6636 unlink(name);
6637 int rc = sqlite3_open(name, &amp;db);
6638 if( rc ){
6639 printf(&quot;error: sqlite open of %s failed: %s\n&quot;, name, sqlite3_errmsg(db));
6640 sqlite3_close(db);
6641 return -1;
6642 }
6643
6644 /* create tables */
6645 rc = sqlite3_exec(db,CREATE_TABLE_USERS, NULL, 0, &amp;zErrMsg);
6646 if( rc != SQLITE_OK ){
6647 printf(&quot;error: sqlite table create failed: %s\n&quot;, zErrMsg);
6648 sqlite3_close(db);
6649 return -1;
6650 }
6651 printf(&quot;info: sqlite worked\n&quot;);
6652 sqlite3_close(db);
6653 return 0;
6654 }
6655 #endif /* TEST_SQLITE */
6656
6657 /*
6658 * Demonstrate locking issue found in gcompris using sqlite3. This
6659 * work with ext3, but not with cifs server on Windows 2003. This is
6660 * done in the sqlite3 library.
6661 * See also
6662 * &amp;lt;URL:http://www.cygwin.com/ml/cygwin/2001-08/msg00854.html&gt; and the
6663 * POSIX specification
6664 * &amp;lt;URL:http://www.opengroup.org/onlinepubs/009695399/functions/fcntl.html&gt;.
6665 */
6666 int test_gcompris_locking(void) {
6667 struct flock fl;
6668 char *name = &quot;testsqlite.db&quot;;
6669 unlink(name);
6670 int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, 0644);
6671 printf(&quot;info: testing fcntl locking\n&quot;);
6672
6673 fl.l_whence = SEEK_SET;
6674 fl.l_pid = getpid();
6675 printf(&quot; Read-locking 1 byte from 1073741824&quot;);
6676 fl.l_start = 1073741824;
6677 fl.l_len = 1;
6678 fl.l_type = F_RDLCK;
6679 if (0 != fcntl(fd, F_SETLK, &amp;fl) ) printf(&quot; - error!\n&quot;); else printf(&quot;\n&quot;);
6680
6681 printf(&quot; Read-locking 510 byte from 1073741826&quot;);
6682 fl.l_start = 1073741826;
6683 fl.l_len = 510;
6684 fl.l_type = F_RDLCK;
6685 if (0 != fcntl(fd, F_SETLK, &amp;fl) ) printf(&quot; - error!\n&quot;); else printf(&quot;\n&quot;);
6686
6687 printf(&quot; Unlocking 1 byte from 1073741824&quot;);
6688 fl.l_start = 1073741824;
6689 fl.l_len = 1;
6690 fl.l_type = F_UNLCK;
6691 if (0 != fcntl(fd, F_SETLK, &amp;fl) ) printf(&quot; - error!\n&quot;); else printf(&quot;\n&quot;);
6692
6693 printf(&quot; Write-locking 1 byte from 1073741824&quot;);
6694 fl.l_start = 1073741824;
6695 fl.l_len = 1;
6696 fl.l_type = F_WRLCK;
6697 if (0 != fcntl(fd, F_SETLK, &amp;fl) ) printf(&quot; - error!\n&quot;); else printf(&quot;\n&quot;);
6698
6699 printf(&quot; Write-locking 510 byte from 1073741826&quot;);
6700 fl.l_start = 1073741826;
6701 fl.l_len = 510;
6702 if (0 != fcntl(fd, F_SETLK, &amp;fl) ) printf(&quot; - error!\n&quot;); else printf(&quot;\n&quot;);
6703
6704 printf(&quot; Unlocking 2 byte from 1073741824&quot;);
6705 fl.l_start = 1073741824;
6706 fl.l_len = 2;
6707 fl.l_type = F_UNLCK;
6708 if (0 != fcntl(fd, F_SETLK, &amp;fl) ) printf(&quot; - error!\n&quot;); else printf(&quot;\n&quot;);
6709
6710 close(fd);
6711 return 0;
6712 }
6713
6714 /*
6715 * Test if permissions of freshly created directories allow entries
6716 * below them. This was a problem with OpenOffice.org and gcompris.
6717 * Mounting with option &#39;sync&#39; seem to solve this problem while
6718 * slowing down file operations.
6719 */
6720 int test_subdirectory_creation(void) {
6721 #define LEVELS 5
6722 char *path = strdup(&quot;test&quot;);
6723 char *dirs[LEVELS];
6724 int level;
6725 printf(&quot;info: testing subdirectory creation\n&quot;);
6726 for (level = 0; level &amp;lt; LEVELS; level++) {
6727 char *newpath = NULL;
6728 if (-1 == mkdir(path, 0777)) {
6729 printf(&quot; error: Unable to create directory &#39;%s&#39;: %s\n&quot;,
6730 path, strerror(errno));
6731 break;
6732 }
6733 asprintf(&amp;newpath, &quot;%s/%s&quot;, path, &quot;test&quot;);
6734 free(path);
6735 path = newpath;
6736 }
6737 return 0;
6738 }
6739
6740 /*
6741 * Test if symlinks can be created. This was a problem detected with
6742 * KDE.
6743 */
6744 int test_symlinks(void) {
6745 printf(&quot;info: testing symlink creation\n&quot;);
6746 unlink(&quot;symlink&quot;);
6747 if (-1 == symlink(&quot;file&quot;, &quot;symlink&quot;))
6748 printf(&quot; error: Unable to create symlink\n&quot;);
6749 return 0;
6750 }
6751
6752 int main(int argc, char **argv) {
6753 printf(&quot;Testing POSIX/Unix sematics on file system\n&quot;);
6754 test_symlinks();
6755 test_subdirectory_creation();
6756 #ifdef TEST_SQLITE
6757 test_sqlite_open();
6758 #endif /* TEST_SQLITE */
6759 test_gcompris_locking();
6760 return 0;
6761 }
6762 &lt;/pre&gt;
6763
6764 &lt;p&gt;When everything is working, it should print something like
6765 this:&lt;/p&gt;
6766
6767 &lt;pre&gt;
6768 Testing POSIX/Unix sematics on file system
6769 info: testing symlink creation
6770 info: testing subdirectory creation
6771 info: sqlite worked
6772 info: testing fcntl locking
6773 Read-locking 1 byte from 1073741824
6774 Read-locking 510 byte from 1073741826
6775 Unlocking 1 byte from 1073741824
6776 Write-locking 1 byte from 1073741824
6777 Write-locking 510 byte from 1073741826
6778 Unlocking 2 byte from 1073741824
6779 &lt;/pre&gt;
6780
6781 &lt;p&gt;I do not remember the exact details of the problems we saw, but one
6782 of them was with locking, where if I remember correctly, POSIX allow a
6783 read-only lock to be upgraded to a read-write lock without unlocking
6784 the read-only lock (while Windows do not). Another was a bug in the
6785 CIFS/SMB client implementation in the Linux kernel where directory
6786 meta information would be wrong for a fraction of a second, making
6787 OpenOffice.org fail to create its deep directory tree because it was
6788 not allowed to create files in its freshly created directory.&lt;/p&gt;
6789
6790 &lt;p&gt;Anyway, here is a nice tool for your tool box, might you never need
6791 it. :)&lt;/p&gt;
6792
6793 &lt;p&gt;Update 2010-08-27: Michael Gebetsroither report that he found the
6794 script so useful that he created a GIT repository and stored it in
6795 &lt;a href=&quot;http://github.com/gebi/fs-test&quot;&gt;http://github.com/gebi/fs-test&lt;/a&gt;.&lt;/p&gt;
6796 </description>
6797 </item>
6798
6799 <item>
6800 <title>Autodetecting Client setup for roaming workstations in Debian Edu</title>
6801 <link>http://people.skolelinux.org/pere/blog/Autodetecting_Client_setup_for_roaming_workstations_in_Debian_Edu.html</link>
6802 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Autodetecting_Client_setup_for_roaming_workstations_in_Debian_Edu.html</guid>
6803 <pubDate>Sat, 7 Aug 2010 14:45:00 +0200</pubDate>
6804 <description>&lt;p&gt;A few days ago, I
6805 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html&quot;&gt;tried
6806 to install&lt;/a&gt; a Roaming workation profile from Debian Edu/Squeeze
6807 while on the university network here at the University of Oslo, and
6808 noticed how much had to change to get it operational using the
6809 university infrastructure. It was fairly easy, but it occured to me
6810 that Debian Edu would improve a lot if I could get the client to
6811 connect without any changes at all, and thus let the client configure
6812 itself during installation and first boot to use the infrastructure
6813 around it. Now I am a huge step further along that road.&lt;/p&gt;
6814
6815 &lt;p&gt;With our current squeeze-test packages, I can select the roaming
6816 workstation profile and get a working laptop connecting to the
6817 university LDAP server for user and group and our active directory
6818 servers for Kerberos authentication. All this without any
6819 configuration at all during installation. My users home directory got
6820 a bookmark in the KDE menu to mount it via SMB, with the correct URL.
6821 In short, openldap and sssd is correctly configured. In addition to
6822 this, the client look for http://wpad/wpad.dat to configure a web
6823 proxy, and when it fail to find it no proxy settings are stored in
6824 /etc/environment and /etc/apt/apt.conf. Iceweasel and KDE is
6825 configured to look for the same wpad configuration and also do not use
6826 a proxy when at the university network. If the machine is moved to a
6827 network with such wpad setup, it would automatically use it when DHCP
6828 gave it a IP address.&lt;/p&gt;
6829
6830 &lt;p&gt;The LDAP server is located using DNS, by first looking for the DNS
6831 entry ldap.$domain. If this do not exist, it look for the
6832 _ldap._tcp.$domain SRV records and use the first one as the LDAP
6833 server. Next, it connects to the LDAP server and search all
6834 namingContexts entries for posixAccount or posixGroup objects, and
6835 pick the first one as the LDAP base. For Kerberos, a similar
6836 algorithm is used to locate the LDAP server, and the realm is the
6837 uppercase version of $domain.&lt;/p&gt;
6838
6839 &lt;p&gt;So, what is not working, you might ask. SMB mounting my home
6840 directory do not work. No idea why, but suspected the incorrect
6841 Kerberos settings in /etc/krb5.conf and /etc/samba/smb.conf might be
6842 the cause. These are not properly configured during installation, and
6843 had to be hand-edited to get the correct Kerberos realm and server,
6844 but SMB mounting still do not work. :(&lt;/p&gt;
6845
6846 &lt;p&gt;With this automatic configuration in place, I expect a Debian Edu
6847 roaming profile installation would be able to automatically detect and
6848 connect to any site using LDAP and Kerberos for NSS directory and PAM
6849 authentication. It should also work out of the box in a Active
6850 Directory environment providing posixAccount and posixGroup objects
6851 with UID and GID values.&lt;/p&gt;
6852
6853 &lt;p&gt;If you want to help out with implementing these things for Debian
6854 Edu, please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
6855 </description>
6856 </item>
6857
6858 <item>
6859 <title>Debian Edu roaming workstation - at the university of Oslo</title>
6860 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html</link>
6861 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html</guid>
6862 <pubDate>Tue, 3 Aug 2010 23:30:00 +0200</pubDate>
6863 <description>&lt;p&gt;The new roaming workstation profile in Debian Edu/Squeeze is fairly
6864 similar to the laptop setup am I working on using Ubuntu for the
6865 University of Oslo, and just for the heck of it, I tested today how
6866 hard it would be to integrate that profile into the university
6867 infrastructure. In this case, it is the university LDAP server,
6868 Active Directory Kerberos server and SMB mounting from the Netapp file
6869 servers.&lt;/p&gt;
6870
6871 &lt;p&gt;I was pleasantly surprised that the only three files needed to be
6872 changed (/etc/sssd/sssd.conf, /etc/ldap.conf and
6873 /etc/mklocaluser.d/20-debian-edu-config) and one file had to be added
6874 (/usr/share/perl5/Debian/Edu_Local.pm), to get the client working.
6875 Most of the changes were to get the client to use the university LDAP
6876 for NSS and Kerberos server for PAM, but one was to change a hard
6877 coded DNS domain name in the mklocaluser hook from .intern to
6878 .uio.no.&lt;/p&gt;
6879
6880 &lt;p&gt;This testing was so encouraging, that I went ahead and adjusted the
6881 Debian Edu scripts and setup in subversion to centralise the roaming
6882 workstation setup a bit more and avoid the hardcoded DNS domain name,
6883 so that when I test this tomorrow, I expect to get away with modifying
6884 only /etc/sssd/sssd.conf and /etc/ldap.conf to get it to use the
6885 university servers.&lt;/p&gt;
6886
6887 &lt;p&gt;My goal is to get the clients to have no hardcoded settings and
6888 fetch all their initial setup during installation and first boot, to
6889 allow them to be inserted also into environments where the default
6890 setup in Debian Edu has been changed or as with the university, where
6891 the environment is different but provides the protocols Debian Edu
6892 uses.&lt;/p&gt;
6893 </description>
6894 </item>
6895
6896 <item>
6897 <title>Circular package dependencies harms apt recovery</title>
6898 <link>http://people.skolelinux.org/pere/blog/Circular_package_dependencies_harms_apt_recovery.html</link>
6899 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Circular_package_dependencies_harms_apt_recovery.html</guid>
6900 <pubDate>Tue, 27 Jul 2010 23:50:00 +0200</pubDate>
6901 <description>&lt;p&gt;I discovered this while doing
6902 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html&quot;&gt;automated
6903 testing of upgrades from Debian Lenny to Squeeze&lt;/a&gt;. A few packages
6904 in Debian still got circular dependencies, and it is often claimed
6905 that apt and aptitude should be able to handle this just fine, but
6906 some times these dependency loops causes apt to fail.&lt;/p&gt;
6907
6908 &lt;p&gt;An example is from todays
6909 &lt;a href=&quot;http://people.skolelinux.org/~pere/debian-upgrade-testing//test-20100727-lenny-squeeze-kde-aptitude.txt&quot;&gt;upgrade
6910 of KDE using aptitude&lt;/a&gt;. In it, a bug in kdebase-workspace-data
6911 causes perl-modules to fail to upgrade. The cause is simple. If a
6912 package fail to unpack, then only part of packages with the circular
6913 dependency might end up being unpacked when unpacking aborts, and the
6914 ones already unpacked will fail to configure in the recovery phase
6915 because its dependencies are unavailable.&lt;/p&gt;
6916
6917 &lt;p&gt;In this log, the problem manifest itself with this error:&lt;/p&gt;
6918
6919 &lt;blockquote&gt;&lt;pre&gt;
6920 dpkg: dependency problems prevent configuration of perl-modules:
6921 perl-modules depends on perl (&gt;= 5.10.1-1); however:
6922 Version of perl on system is 5.10.0-19lenny2.
6923 dpkg: error processing perl-modules (--configure):
6924 dependency problems - leaving unconfigured
6925 &lt;/pre&gt;&lt;/blockquote&gt;
6926
6927 &lt;p&gt;The perl/perl-modules circular dependency is already
6928 &lt;a href=&quot;http://bugs.debian.org/527917&quot;&gt;reported as a bug&lt;/a&gt;, and will
6929 hopefully be solved as soon as possible, but it is not the only one,
6930 and each one of these loops in the dependency tree can cause similar
6931 failures. Of course, they only occur when there are bugs in other
6932 packages causing the unpacking to fail, but it is rather nasty when
6933 the failure of one package causes the problem to become worse because
6934 of dependency loops.&lt;/p&gt;
6935
6936 &lt;p&gt;Thanks to
6937 &lt;a href=&quot;http://lists.debian.org/debian-devel/2010/06/msg00116.html&quot;&gt;the
6938 tireless effort by Bill Allombert&lt;/a&gt;, the number of circular
6939 dependencies
6940 &lt;a href=&quot;http://debian.semistable.com/debgraph.out.html&quot;&gt;left in Debian
6941 is dropping&lt;/a&gt;, and perhaps it will reach zero one day. :)&lt;/p&gt;
6942
6943 &lt;p&gt;Todays testing also exposed a bug in
6944 &lt;a href=&quot;http://bugs.debian.org/590605&quot;&gt;update-notifier&lt;/a&gt; and
6945 &lt;a href=&quot;http://bugs.debian.org/590604&quot;&gt;different behaviour&lt;/a&gt; between
6946 apt-get and aptitude, the latter possibly caused by some circular
6947 dependency. Reported both to BTS to try to get someone to look at
6948 it.&lt;/p&gt;
6949 </description>
6950 </item>
6951
6952 <item>
6953 <title>First Debian Edu test release (alpha0) based on Squeeze is released</title>
6954 <link>http://people.skolelinux.org/pere/blog/First_Debian_Edu_test_release__alpha0__based_on_Squeeze_is_released.html</link>
6955 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/First_Debian_Edu_test_release__alpha0__based_on_Squeeze_is_released.html</guid>
6956 <pubDate>Tue, 27 Jul 2010 17:45:00 +0200</pubDate>
6957 <description>&lt;p&gt;I just posted this announcement culminating several months of work
6958 with the next Debian Edu release. Not nearly done, but one major step
6959 completed.&lt;/p&gt;
6960
6961 &lt;blockquote&gt;
6962 &lt;p&gt;This is the first test release based on Squeeze. The focus of this
6963 release is to test the user application selection. To have a look,
6964 install the standalone profile and let the developers know if the set
6965 of installed packages i.e. applications should be modified. If some
6966 user application is missing, or if there are some applications that no
6967 longer make sense to be included in Debian Edu, please let us know.
6968 Also, if a useful application is missing the translation for your
6969 language of choice, please let us know too.&lt;/p&gt;
6970
6971 &lt;p&gt;In addition, feedback and help to polish the desktop (menus,
6972 artwork, starters, etc.) is appreciated. We would like to ship a nice
6973 and handy KDE4 desktop targeted for schools out of the box.&lt;/p&gt;
6974
6975 &lt;p&gt;The other profiles should be installable, but there is a lot more
6976 work left to be done before they are ready, so do not expect to
6977 much.&lt;/p&gt;
6978
6979 &lt;p&gt;Changes compared to the lenny based version&lt;/p&gt;
6980
6981 &lt;ul&gt;
6982 &lt;li&gt;Everything from Debian Squeeze
6983 &lt;ul&gt;
6984 &lt;li&gt;Desktop environment KDE 4.4 =&gt; the new KDE desktop in
6985 combination with some new artwork
6986 &lt;li&gt;Web browser Iceweasel 3.5
6987 &lt;li&gt;OpenOffice.org 3.2
6988 &lt;li&gt;Educational toolbox GCompris 9.3
6989 &lt;li&gt;Music creator Rosegarden 10.04.2
6990 &lt;li&gt;Image editor Gimp 2.6.10
6991 &lt;li&gt;Virtual universe Celestia 1.6.0
6992 &lt;li&gt;Virtual stargazer Stellarium 0.10.4
6993 &lt;li&gt;3D modeler Blender 2.49.2 (new application)
6994 &lt;li&gt;Video editor Kdenlive 0.7.7 (new application)
6995 &lt;/ul&gt;&lt;/li&gt;
6996 &lt;li&gt;Now using Kerberos for password checking (migration not finished).
6997 Enabled for:
6998 &lt;ul&gt;
6999 &lt;li&gt;PAM
7000 &lt;li&gt;LDAP
7001 &lt;li&gt;IMAP
7002 &lt;li&gt;SMTP (sender verification)
7003 &lt;/ul&gt;
7004 &lt;/li&gt;
7005 &lt;li&gt;New experimental roaming workstation profile for laptops.&lt;/li&gt;
7006 &lt;li&gt;Show welcome page to users when they first log in. The URL is
7007 fetched from LDAP.&lt;/li&gt;
7008 &lt;li&gt;New LXDE desktop option, in addition to KDE (default) and Gnome.&lt;/li&gt;
7009 &lt;li&gt;General cleanup (not finished)&lt;/li&gt;
7010 &lt;/ul&gt;
7011 &lt;p&gt;The following features are not working as they should&lt;/p&gt;
7012
7013 &lt;ul&gt;
7014 &lt;li&gt;No web based administration tool for creating users and groups. The
7015 scripts ldap-createuser-krb and ldap-add-user-to-group can be used
7016 for testing.&lt;/li&gt;
7017 &lt;li&gt;DVD installs are missing debian-installer images for the PXE boot,
7018 and do not set up the PXE menu on eth0 because of this. LTSP
7019 clients should still boot from eth1 on thin client servers.&lt;/li&gt;
7020 &lt;li&gt;The restructured KDE menu is not implemented.&lt;/li&gt;
7021 &lt;li&gt;The LDAP server setup need to be reviewed for security.&lt;/li&gt;
7022 &lt;li&gt;The LDAP directory structure need to be reworked.&lt;/li&gt;
7023 &lt;li&gt;Different sets of packages are installed when using the DVD and the
7024 netinst CD. More packages are installed using the netinst CD.&lt;/li&gt;
7025 &lt;li&gt;The jackd package fail to install. This is believed to be caused by
7026 some ongoing transition, and hopefully should be solved soon. The
7027 jackd1 package can be installed manually for those that need it.&lt;/li&gt;
7028 &lt;li&gt;Some packages lack translations. See
7029 http://wiki.debian.org/DebianEdu/Status/Squeeze for updated status,
7030 and help out with translations.&lt;/li&gt;
7031 &lt;/ul&gt;
7032
7033 &lt;p&gt;To download this multiarch netinstall release you can use&lt;/p&gt;
7034
7035 &lt;ul&gt;
7036 &lt;li&gt;&lt;a href=&quot;ftp://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso&quot;&gt;ftp://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso&lt;/a&gt;&lt;/li&gt;
7037 &lt;li&gt;&lt;a href=&quot;http://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso&quot;&gt;http://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso&lt;/a&gt;&lt;/li&gt;
7038 &lt;li&gt;rsync -avzP ftp.skolelinux.org::skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso&lt;/li&gt;
7039 &lt;/ul&gt;
7040 &lt;p&gt;To download this multiarch dvd release you can use&lt;/p&gt;
7041
7042 &lt;ul&gt;
7043 &lt;li&gt;&lt;a href=&quot;ftp://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso&quot;&gt;ftp://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso&lt;/a&gt;&lt;/li&gt;
7044 &lt;li&gt;&lt;a href=&quot;http://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso&quot;&gt;http://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso&lt;/a&gt;&lt;/li&gt;
7045 &lt;li&gt;rsync -avzP ftp.skolelinux.org::skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso&lt;/li&gt;
7046 &lt;/ul&gt;
7047
7048 &lt;p&gt;There is no source DVD available yet. It will be prepared when we
7049 get closer to the final release.&lt;/p&gt;
7050
7051 &lt;p&gt;The MD5SUM of these images are&lt;/p&gt;
7052
7053 &lt;ul&gt;
7054 &lt;li&gt;3dbf45d59f42a53518b6e3c9ec3b5eb6 debian-edu-6.0.0+edua0-CD.iso&lt;/li&gt;
7055 &lt;li&gt;22f2cbfce281d1c6e478be452638675d debian-edu-6.0.0+edua0-DVD.iso&lt;/li&gt;
7056 &lt;/ul&gt;
7057
7058 &lt;p&gt;The SHA1SUM of these images are&lt;/p&gt;
7059 &lt;ul&gt;
7060 &lt;li&gt;c53d1b69b40cf37cd27aefaf33f6f6a3821bedf0 debian-edu-6.0.0+edua0-CD.iso&lt;/li&gt;
7061 &lt;li&gt;2ec29d7db676d59d32197b05c277ffe16348376c debian-edu-6.0.0+edua0-DVD.iso&lt;/li&gt;
7062 &lt;/ul&gt;
7063 &lt;p&gt;How to report bugs:
7064 http://wiki.debian.org/DebianEdu/HowTo/ReportBugsInBugzilla&lt;/p&gt;
7065
7066 &lt;p&gt;Please direct replies to debian-edu@lists.debian.org&lt;/p&gt;
7067 &lt;/blockquote&gt;
7068 </description>
7069 </item>
7070
7071 <item>
7072 <title>One step closer to single signon in Debian Edu</title>
7073 <link>http://people.skolelinux.org/pere/blog/One_step_closer_to_single_signon_in_Debian_Edu.html</link>
7074 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/One_step_closer_to_single_signon_in_Debian_Edu.html</guid>
7075 <pubDate>Sun, 25 Jul 2010 10:00:00 +0200</pubDate>
7076 <description>&lt;p&gt;The last few months me and the other Debian Edu developers have
7077 been working hard to get the Debian/Squeeze based version of Debian
7078 Edu/Skolelinux into shape. This future version will use Kerberos for
7079 authentication, and services are slowly migrated to single signon,
7080 getting rid of password questions one at the time.&lt;/p&gt;
7081
7082 &lt;p&gt;It will also feature a roaming workstation profile with local home
7083 directory, for laptops that are only some times on the Skolelinux
7084 network, and for this profile a shortcut is created in Gnome and KDE
7085 to gain access to the users home directory on the file server. This
7086 shortcut uses SMB at the moment, and yesterday I had time to test if
7087 SMB mounting had started working in KDE after we added the cifs-utils
7088 package. I was pleasantly surprised how well it worked.&lt;/p&gt;
7089
7090 &lt;p&gt;Thanks to the recent changes to our samba configuration to get it
7091 to use Kerberos for authentication, there were no question about user
7092 password when mounting the SMB volume. A simple click on the shortcut
7093 in the KDE menu, and a window with the home directory popped
7094 up. :)&lt;/p&gt;
7095
7096 &lt;p&gt;One step closer to a single signon solution out of the box in
7097 Debian Edu. We already had PAM, LDAP, IMAP and SMTP in place, and now
7098 also Samba. Next step is Cups and hopefully also NFS.&lt;/p&gt;
7099
7100 &lt;p&gt;We had planned a alpha0 release of Debian Edu for today, but thanks
7101 to the autobuilder administrators for some architectures being slow to
7102 sign packages, we are still missing the fixed LTSP package we need for
7103 the release. It was uploaded three days ago with urgency=high, and if
7104 it had entered testing yesterday we would have been able to test it in
7105 time for a alpha0 release today. As the binaries for ia64 and powerpc
7106 still not uploaded to the Debian archive, we need to delay the alpha
7107 release another day.&lt;/p&gt;
7108
7109 &lt;p&gt;If you want to help out with implementing Kerberos for Debian Edu,
7110 please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
7111 </description>
7112 </item>
7113
7114 <item>
7115 <title>OpenStreetmap one step closer to having routing on its front page</title>
7116 <link>http://people.skolelinux.org/pere/blog/OpenStreetmap_one_step_closer_to_having_routing_on_its_front_page.html</link>
7117 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/OpenStreetmap_one_step_closer_to_having_routing_on_its_front_page.html</guid>
7118 <pubDate>Sun, 18 Jul 2010 16:45:00 +0200</pubDate>
7119 <description>&lt;p&gt;Thanks to
7120 &lt;a href=&quot;http://feedproxy.google.com/~r/Opengeodata/~3/wUTCzDZk3lc/project-of-the-week-which-way-home&quot;&gt;todays
7121 opengeodata blog entry&lt;/a&gt;, I just discovered that the
7122 OpenStreetmap.org site have gotten
7123 &lt;a href=&quot;http://nroets.dev.openstreetmap.org/demo/index.html?layers=B000FTFTT&quot;&gt;support
7124 for calculating routes&lt;/a&gt;. The support is still experimental and
7125 only available from the development server, until more experience is
7126 gathered on the user interface and any scalability issues.&lt;/p&gt;
7127
7128 &lt;p&gt;Earlier, the routing I knew about using the OpenStreetmap.org data
7129 was provided by &lt;a href=&quot;http://maps.cloudmade.com/&quot;&gt;Cloudmade&lt;/a&gt;,
7130 but having it on the main page is required to make everyone aware of
7131 the issue. I&#39;ve had people reject Openstreetmap.org as a viable
7132 alternative for them because the front page lacked routing support,
7133 and I hope their needs will be catered for when routing show up on the
7134 www.openstreetmap.org front page.&lt;/p&gt;
7135 </description>
7136 </item>
7137
7138 <item>
7139 <title>What are they searching for - PowerDNS and ISC DHCP in LDAP</title>
7140 <link>http://people.skolelinux.org/pere/blog/What_are_they_searching_for___PowerDNS_and_ISC_DHCP_in_LDAP.html</link>
7141 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/What_are_they_searching_for___PowerDNS_and_ISC_DHCP_in_LDAP.html</guid>
7142 <pubDate>Sat, 17 Jul 2010 21:00:00 +0200</pubDate>
7143 <description>&lt;p&gt;This is a
7144 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html&quot;&gt;followup&lt;/a&gt;
7145 on my
7146 &lt;a href=&quot;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&quot;&gt;previous
7147 work&lt;/a&gt; on
7148 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html&quot;&gt;merging
7149 all&lt;/a&gt; the computer related LDAP objects in Debian Edu.&lt;/p&gt;
7150
7151 &lt;p&gt;As a step to try to see if it possible to merge the DNS and DHCP
7152 LDAP objects, I have had a look at how the packages pdns-backend-ldap
7153 and dhcp3-server-ldap in Debian use the LDAP server. The two
7154 implementations are quite different in how they use LDAP.&lt;/p&gt;
7155
7156 To get this information, I started slapd with debugging enabled and
7157 dumped the debug output to a file to get the LDAP searches performed
7158 on a Debian Edu main-server. Here is a summary.
7159
7160 &lt;p&gt;&lt;strong&gt;powerdns&lt;/strong&gt;&lt;/p&gt;
7161
7162 &lt;a href=&quot;http://www.linuxnetworks.de/doc/index.php/PowerDNS_LDAP_Backend&quot;&gt;Clues
7163 on how to&lt;/a&gt; set up PowerDNS to use a LDAP backend is available on
7164 the web.
7165
7166 &lt;p&gt;PowerDNS have two modes of operation using LDAP as its backend.
7167 One &quot;strict&quot; mode where the forward and reverse DNS lookups are done
7168 using the same LDAP objects, and a &quot;tree&quot; mode where the forward and
7169 reverse entries are in two different subtrees in LDAP with a structure
7170 based on the DNS names, as in tjener.intern and
7171 2.2.0.10.in-addr.arpa.&lt;/p&gt;
7172
7173 &lt;p&gt;In tree mode, the server is set up to use a LDAP subtree as its
7174 base, and uses a &quot;base&quot; scoped search for the DNS name by adding
7175 &quot;dc=tjener,dc=intern,&quot; to the base with a filter for
7176 &quot;(associateddomain=tjener.intern)&quot; for the forward entry and
7177 &quot;dc=2,dc=2,dc=0,dc=10,dc=in-addr,dc=arpa,&quot; with a filter for
7178 &quot;(associateddomain=2.2.0.10.in-addr.arpa)&quot; for the reverse entry. For
7179 forward entries, it is looking for attributes named dnsttl, arecord,
7180 nsrecord, cnamerecord, soarecord, ptrrecord, hinforecord, mxrecord,
7181 txtrecord, rprecord, afsdbrecord, keyrecord, aaaarecord, locrecord,
7182 srvrecord, naptrrecord, kxrecord, certrecord, dsrecord, sshfprecord,
7183 ipseckeyrecord, rrsigrecord, nsecrecord, dnskeyrecord, dhcidrecord,
7184 spfrecord and modifytimestamp. For reverse entries it is looking for
7185 the attributes dnsttl, arecord, nsrecord, cnamerecord, soarecord,
7186 ptrrecord, hinforecord, mxrecord, txtrecord, rprecord, aaaarecord,
7187 locrecord, srvrecord, naptrrecord and modifytimestamp. The equivalent
7188 ldapsearch commands could look like this:&lt;/p&gt;
7189
7190 &lt;blockquote&gt;&lt;pre&gt;
7191 ldapsearch -h ldap \
7192 -b dc=tjener,dc=intern,ou=hosts,dc=skole,dc=skolelinux,dc=no \
7193 -s base -x &#39;(associateddomain=tjener.intern)&#39; dNSTTL aRecord nSRecord \
7194 cNAMERecord sOARecord pTRRecord hInfoRecord mXRecord tXTRecord \
7195 rPRecord aFSDBRecord KeyRecord aAAARecord lOCRecord sRVRecord \
7196 nAPTRRecord kXRecord certRecord dSRecord sSHFPRecord iPSecKeyRecord \
7197 rRSIGRecord nSECRecord dNSKeyRecord dHCIDRecord sPFRecord modifyTimestamp
7198
7199 ldapsearch -h ldap \
7200 -b dc=2,dc=2,dc=0,dc=10,dc=in-addr,dc=arpa,ou=hosts,dc=skole,dc=skolelinux,dc=no \
7201 -s base -x &#39;(associateddomain=2.2.0.10.in-addr.arpa)&#39;
7202 dnsttl, arecord, nsrecord, cnamerecord soarecord ptrrecord \
7203 hinforecord mxrecord txtrecord rprecord aaaarecord locrecord \
7204 srvrecord naptrrecord modifytimestamp
7205 &lt;/pre&gt;&lt;/blockquote&gt;
7206
7207 &lt;p&gt;In Debian Edu/Lenny, the PowerDNS tree mode is used with
7208 ou=hosts,dc=skole,dc=skolelinux,dc=no as the base, and these are two
7209 example LDAP objects used there. In addition to these objects, the
7210 parent objects all th way up to ou=hosts,dc=skole,dc=skolelinux,dc=no
7211 also exist.&lt;/p&gt;
7212
7213 &lt;blockquote&gt;&lt;pre&gt;
7214 dn: dc=tjener,dc=intern,ou=hosts,dc=skole,dc=skolelinux,dc=no
7215 objectclass: top
7216 objectclass: dnsdomain
7217 objectclass: domainrelatedobject
7218 dc: tjener
7219 arecord: 10.0.2.2
7220 associateddomain: tjener.intern
7221
7222 dn: dc=2,dc=2,dc=0,dc=10,dc=in-addr,dc=arpa,ou=hosts,dc=skole,dc=skolelinux,dc=no
7223 objectclass: top
7224 objectclass: dnsdomain2
7225 objectclass: domainrelatedobject
7226 dc: 2
7227 ptrrecord: tjener.intern
7228 associateddomain: 2.2.0.10.in-addr.arpa
7229 &lt;/pre&gt;&lt;/blockquote&gt;
7230
7231 &lt;p&gt;In strict mode, the server behaves differently. When looking for
7232 forward DNS entries, it is doing a &quot;subtree&quot; scoped search with the
7233 same base as in the tree mode for a object with filter
7234 &quot;(associateddomain=tjener.intern)&quot; and requests the attributes dnsttl,
7235 arecord, nsrecord, cnamerecord, soarecord, ptrrecord, hinforecord,
7236 mxrecord, txtrecord, rprecord, aaaarecord, locrecord, srvrecord,
7237 naptrrecord and modifytimestamp. For reverse entires it also do a
7238 subtree scoped search but this time the filter is &quot;(arecord=10.0.2.2)&quot;
7239 and the requested attributes are associateddomain, dnsttl and
7240 modifytimestamp. In short, in strict mode the objects with ptrrecord
7241 go away, and the arecord attribute in the forward object is used
7242 instead.&lt;/p&gt;
7243
7244 &lt;p&gt;The forward and reverse searches can be simulated using ldapsearch
7245 like this:&lt;/p&gt;
7246
7247 &lt;blockquote&gt;&lt;pre&gt;
7248 ldapsearch -h ldap -b ou=hosts,dc=skole,dc=skolelinux,dc=no -s sub -x \
7249 &#39;(associateddomain=tjener.intern)&#39; dNSTTL aRecord nSRecord \
7250 cNAMERecord sOARecord pTRRecord hInfoRecord mXRecord tXTRecord \
7251 rPRecord aFSDBRecord KeyRecord aAAARecord lOCRecord sRVRecord \
7252 nAPTRRecord kXRecord certRecord dSRecord sSHFPRecord iPSecKeyRecord \
7253 rRSIGRecord nSECRecord dNSKeyRecord dHCIDRecord sPFRecord modifyTimestamp
7254
7255 ldapsearch -h ldap -b ou=hosts,dc=skole,dc=skolelinux,dc=no -s sub -x \
7256 &#39;(arecord=10.0.2.2)&#39; associateddomain dnsttl modifytimestamp
7257 &lt;/pre&gt;&lt;/blockquote&gt;
7258
7259 &lt;p&gt;In addition to the forward and reverse searches , there is also a
7260 search for SOA records, which behave similar to the forward and
7261 reverse lookups.&lt;/p&gt;
7262
7263 &lt;p&gt;A thing to note with the PowerDNS behaviour is that it do not
7264 specify any objectclass names, and instead look for the attributes it
7265 need to generate a DNS reply. This make it able to work with any
7266 objectclass that provide the needed attributes.&lt;/p&gt;
7267
7268 &lt;p&gt;The attributes are normally provided in the cosine (RFC 1274) and
7269 dnsdomain2 schemas. The latter is used for reverse entries like
7270 ptrrecord and recent DNS additions like aaaarecord and srvrecord.&lt;/p&gt;
7271
7272 &lt;p&gt;In Debian Edu, we have created DNS objects using the object classes
7273 dcobject (for dc), dnsdomain or dnsdomain2 (structural, for the DNS
7274 attributes) and domainrelatedobject (for associatedDomain). The use
7275 of structural object classes make it impossible to combine these
7276 classes with the object classes used by DHCP.&lt;/p&gt;
7277
7278 &lt;p&gt;There are other schemas that could be used too, for example the
7279 dnszone structural object class used by Gosa and bind-sdb for the DNS
7280 attributes combined with the domainrelatedobject object class, but in
7281 this case some unused attributes would have to be included as well
7282 (zonename and relativedomainname).&lt;/p&gt;
7283
7284 &lt;p&gt;My proposal for Debian Edu would be to switch PowerDNS to strict
7285 mode and not use any of the existing objectclasses (dnsdomain,
7286 dnsdomain2 and dnszone) when one want to combine the DNS information
7287 with DHCP information, and instead create a auxiliary object class
7288 defined something like this (using the attributes defined for
7289 dnsdomain and dnsdomain2 or dnszone):&lt;/p&gt;
7290
7291 &lt;blockquote&gt;&lt;pre&gt;
7292 objectclass ( some-oid NAME &#39;dnsDomainAux&#39;
7293 SUP top
7294 AUXILIARY
7295 MAY ( ARecord $ MDRecord $ MXRecord $ NSRecord $ SOARecord $ CNAMERecord $
7296 DNSTTL $ DNSClass $ PTRRecord $ HINFORecord $ MINFORecord $
7297 TXTRecord $ SIGRecord $ KEYRecord $ AAAARecord $ LOCRecord $
7298 NXTRecord $ SRVRecord $ NAPTRRecord $ KXRecord $ CERTRecord $
7299 A6Record $ DNAMERecord
7300 ))
7301 &lt;/pre&gt;&lt;/blockquote&gt;
7302
7303 &lt;p&gt;This will allow any object to become a DNS entry when combined with
7304 the domainrelatedobject object class, and allow any entity to include
7305 all the attributes PowerDNS wants. I&#39;ve sent an email to the PowerDNS
7306 developers asking for their view on this schema and if they are
7307 interested in providing such schema with PowerDNS, and I hope my
7308 message will be accepted into their mailing list soon.&lt;/p&gt;
7309
7310 &lt;p&gt;&lt;strong&gt;ISC dhcp&lt;/strong&gt;&lt;/p&gt;
7311
7312 &lt;p&gt;The DHCP server searches for specific objectclass and requests all
7313 the object attributes, and then uses the attributes it want. This
7314 make it harder to figure out exactly what attributes are used, but
7315 thanks to the working example in Debian Edu I can at least get an idea
7316 what is needed without having to read the source code.&lt;/p&gt;
7317
7318 &lt;p&gt;In the DHCP server configuration, the LDAP base to use and the
7319 search filter to use to locate the correct dhcpServer entity is
7320 stored. These are the relevant entries from
7321 /etc/dhcp3/dhcpd.conf:&lt;/p&gt;
7322
7323 &lt;blockquote&gt;&lt;pre&gt;
7324 ldap-base-dn &quot;dc=skole,dc=skolelinux,dc=no&quot;;
7325 ldap-dhcp-server-cn &quot;dhcp&quot;;
7326 &lt;/pre&gt;&lt;/blockquote&gt;
7327
7328 &lt;p&gt;The DHCP server uses this information to nest all the DHCP
7329 configuration it need. The cn &quot;dhcp&quot; is located using the given LDAP
7330 base and the filter &quot;(&amp;(objectClass=dhcpServer)(cn=dhcp))&quot;. The
7331 search result is this entry:&lt;/p&gt;
7332
7333 &lt;blockquote&gt;&lt;pre&gt;
7334 dn: cn=dhcp,dc=skole,dc=skolelinux,dc=no
7335 cn: dhcp
7336 objectClass: top
7337 objectClass: dhcpServer
7338 dhcpServiceDN: cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
7339 &lt;/pre&gt;&lt;/blockquote&gt;
7340
7341 &lt;p&gt;The content of the dhcpServiceDN attribute is next used to locate the
7342 subtree with DHCP configuration. The DHCP configuration subtree base
7343 is located using a base scope search with base &quot;cn=DHCP
7344 Config,dc=skole,dc=skolelinux,dc=no&quot; and filter
7345 &quot;(&amp;(objectClass=dhcpService)(|(dhcpPrimaryDN=cn=dhcp,dc=skole,dc=skolelinux,dc=no)(dhcpSecondaryDN=cn=dhcp,dc=skole,dc=skolelinux,dc=no)))&quot;.
7346 The search result is this entry:&lt;/p&gt;
7347
7348 &lt;blockquote&gt;&lt;pre&gt;
7349 dn: cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
7350 cn: DHCP Config
7351 objectClass: top
7352 objectClass: dhcpService
7353 objectClass: dhcpOptions
7354 dhcpPrimaryDN: cn=dhcp, dc=skole,dc=skolelinux,dc=no
7355 dhcpStatements: ddns-update-style none
7356 dhcpStatements: authoritative
7357 dhcpOption: smtp-server code 69 = array of ip-address
7358 dhcpOption: www-server code 72 = array of ip-address
7359 dhcpOption: wpad-url code 252 = text
7360 &lt;/pre&gt;&lt;/blockquote&gt;
7361
7362 &lt;p&gt;Next, the entire subtree is processed, one level at the time. When
7363 all the DHCP configuration is loaded, it is ready to receive requests.
7364 The subtree in Debian Edu contain objects with object classes
7365 top/dhcpService/dhcpOptions, top/dhcpSharedNetwork/dhcpOptions,
7366 top/dhcpSubnet, top/dhcpGroup and top/dhcpHost. These provide options
7367 and information about netmasks, dynamic range etc. Leaving out the
7368 details here because it is not relevant for the focus of my
7369 investigation, which is to see if it is possible to merge dns and dhcp
7370 related computer objects.&lt;/p&gt;
7371
7372 &lt;p&gt;When a DHCP request come in, LDAP is searched for the MAC address
7373 of the client (00:00:00:00:00:00 in this example), using a subtree
7374 scoped search with &quot;cn=DHCP Config,dc=skole,dc=skolelinux,dc=no&quot; as
7375 the base and &quot;(&amp;(objectClass=dhcpHost)(dhcpHWAddress=ethernet
7376 00:00:00:00:00:00))&quot; as the filter. This is what a host object look
7377 like:&lt;/p&gt;
7378
7379 &lt;blockquote&gt;&lt;pre&gt;
7380 dn: cn=hostname,cn=group1,cn=THINCLIENTS,cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
7381 cn: hostname
7382 objectClass: top
7383 objectClass: dhcpHost
7384 dhcpHWAddress: ethernet 00:00:00:00:00:00
7385 dhcpStatements: fixed-address hostname
7386 &lt;/pre&gt;&lt;/blockquote&gt;
7387
7388 &lt;p&gt;There is less flexiblity in the way LDAP searches are done here.
7389 The object classes need to have fixed names, and the configuration
7390 need to be stored in a fairly specific LDAP structure. On the
7391 positive side, the invidiual dhcpHost entires can be anywhere without
7392 the DN pointed to by the dhcpServer entries. The latter should make
7393 it possible to group all host entries in a subtree next to the
7394 configuration entries, and this subtree can also be shared with the
7395 DNS server if the schema proposed above is combined with the dhcpHost
7396 structural object class.
7397
7398 &lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;
7399
7400 &lt;p&gt;The PowerDNS implementation seem to be very flexible when it come
7401 to which LDAP schemas to use. While its &quot;tree&quot; mode is rigid when it
7402 come to the the LDAP structure, the &quot;strict&quot; mode is very flexible,
7403 allowing DNS objects to be stored anywhere under the base cn specified
7404 in the configuration.&lt;/p&gt;
7405
7406 &lt;p&gt;The DHCP implementation on the other hand is very inflexible, both
7407 regarding which LDAP schemas to use and which LDAP structure to use.
7408 I guess one could implement ones own schema, as long as the
7409 objectclasses and attributes have the names used, but this do not
7410 really help when the DHCP subtree need to have a fairly fixed
7411 structure.&lt;/p&gt;
7412
7413 &lt;p&gt;Based on the observed behaviour, I suspect a LDAP structure like
7414 this might work for Debian Edu:&lt;/p&gt;
7415
7416 &lt;blockquote&gt;&lt;pre&gt;
7417 ou=services
7418 cn=machine-info (dhcpService) - dhcpServiceDN points here
7419 cn=dhcp (dhcpServer)
7420 cn=dhcp-internal (dhcpSharedNetwork/dhcpOptions)
7421 cn=10.0.2.0 (dhcpSubnet)
7422 cn=group1 (dhcpGroup/dhcpOptions)
7423 cn=dhcp-thinclients (dhcpSharedNetwork/dhcpOptions)
7424 cn=192.168.0.0 (dhcpSubnet)
7425 cn=group1 (dhcpGroup/dhcpOptions)
7426 ou=machines - PowerDNS base points here
7427 cn=hostname (dhcpHost/domainrelatedobject/dnsDomainAux)
7428 &lt;/pre&gt;&lt;/blockquote&gt;
7429
7430 &lt;P&gt;This is not tested yet. If the DHCP server require the dhcpHost
7431 entries to be in the dhcpGroup subtrees, the entries can be stored
7432 there instead of a common machines subtree, and the PowerDNS base
7433 would have to be moved one level up to the machine-info subtree.&lt;/p&gt;
7434
7435 &lt;p&gt;The combined object under the machines subtree would look something
7436 like this:&lt;/p&gt;
7437
7438 &lt;blockquote&gt;&lt;pre&gt;
7439 dn: dc=hostname,ou=machines,cn=machine-info,dc=skole,dc=skolelinux,dc=no
7440 dc: hostname
7441 objectClass: top
7442 objectClass: dhcpHost
7443 objectclass: domainrelatedobject
7444 objectclass: dnsDomainAux
7445 associateddomain: hostname.intern
7446 arecord: 10.11.12.13
7447 dhcpHWAddress: ethernet 00:00:00:00:00:00
7448 dhcpStatements: fixed-address hostname.intern
7449 &lt;/pre&gt;&lt;/blockquote&gt;
7450
7451 &lt;/p&gt;One could even add the LTSP configuration associated with a given
7452 machine, as long as the required attributes are available in a
7453 auxiliary object class.&lt;/p&gt;
7454 </description>
7455 </item>
7456
7457 <item>
7458 <title>Combining PowerDNS and ISC DHCP LDAP objects</title>
7459 <link>http://people.skolelinux.org/pere/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html</link>
7460 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html</guid>
7461 <pubDate>Wed, 14 Jul 2010 23:45:00 +0200</pubDate>
7462 <description>&lt;p&gt;For a while now, I have wanted to find a way to change the DNS and
7463 DHCP services in Debian Edu to use the same LDAP objects for a given
7464 computer, to avoid the possibility of having a inconsistent state for
7465 a computer in LDAP (as in DHCP but no DNS entry or the other way
7466 around) and make it easier to add computers to LDAP.&lt;/p&gt;
7467
7468 &lt;p&gt;I&#39;ve looked at how powerdns and dhcpd is using LDAP, and using this
7469 information finally found a solution that seem to work.&lt;/p&gt;
7470
7471 &lt;p&gt;The old setup required three LDAP objects for a given computer.
7472 One forward DNS entry, one reverse DNS entry and one DHCP entry. If
7473 we switch powerdns to use its strict LDAP method (ldap-method=strict
7474 in pdns-debian-edu.conf), the forward and reverse DNS entries are
7475 merged into one while making it impossible to transfer the reverse map
7476 to a slave DNS server.&lt;/p&gt;
7477
7478 &lt;p&gt;If we also replace the object class used to get the DNS related
7479 attributes to one allowing these attributes to be combined with the
7480 dhcphost object class, we can merge the DNS and DHCP entries into one.
7481 I&#39;ve written such object class in the dnsdomainaux.schema file (need
7482 proper OIDs, but that is a minor issue), and tested the setup. It
7483 seem to work.&lt;/p&gt;
7484
7485 &lt;p&gt;With this test setup in place, we can get away with one LDAP object
7486 for both DNS and DHCP, and even the LTSP configuration I suggested in
7487 an earlier email. The combined LDAP object will look something like
7488 this:&lt;/p&gt;
7489
7490 &lt;blockquote&gt;&lt;pre&gt;
7491 dn: cn=hostname,cn=group1,cn=THINCLIENTS,cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
7492 cn: hostname
7493 objectClass: dhcphost
7494 objectclass: domainrelatedobject
7495 objectclass: dnsdomainaux
7496 associateddomain: hostname.intern
7497 arecord: 10.11.12.13
7498 dhcphwaddress: ethernet 00:00:00:00:00:00
7499 dhcpstatements: fixed-address hostname
7500 ldapconfigsound: Y
7501 &lt;/pre&gt;&lt;/blockquote&gt;
7502
7503 &lt;p&gt;The DNS server uses the associateddomain and arecord entries, while
7504 the DHCP server uses the dhcphwaddress and dhcpstatements entries
7505 before asking DNS to resolve the fixed-adddress. LTSP will use
7506 dhcphwaddress or associateddomain and the ldapconfig* attributes.&lt;/p&gt;
7507
7508 &lt;p&gt;I am not yet sure if I can get the DHCP server to look for its
7509 dhcphost in a different location, to allow us to put the objects
7510 outside the &quot;DHCP Config&quot; subtree, but hope to figure out a way to do
7511 that. If I can&#39;t figure out a way to do that, we can still get rid of
7512 the hosts subtree and move all its content into the DHCP Config tree
7513 (which probably should be renamed to be more related to the new
7514 content. I suspect cn=dnsdhcp,ou=services or something like that
7515 might be a good place to put it.&lt;/p&gt;
7516
7517 &lt;p&gt;If you want to help out with implementing this for Debian Edu,
7518 please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
7519 </description>
7520 </item>
7521
7522 <item>
7523 <title>Idea for storing LTSP configuration in LDAP</title>
7524 <link>http://people.skolelinux.org/pere/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html</link>
7525 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html</guid>
7526 <pubDate>Sun, 11 Jul 2010 22:00:00 +0200</pubDate>
7527 <description>&lt;p&gt;Vagrant mentioned on IRC today that ltsp_config now support
7528 sourcing files from /usr/share/ltsp/ltsp_config.d/ on the thin
7529 clients, and that this can be used to fetch configuration from LDAP if
7530 Debian Edu choose to store configuration there.&lt;/p&gt;
7531
7532 &lt;p&gt;Armed with this information, I got inspired and wrote a test module
7533 to get configuration from LDAP. The idea is to look up the MAC
7534 address of the client in LDAP, and look for attributes on the form
7535 ltspconfigsetting=value, and use this to export SETTING=value to the
7536 LTSP clients.&lt;/p&gt;
7537
7538 &lt;p&gt;The goal is to be able to store the LTSP configuration attributes
7539 in a &quot;computer&quot; LDAP object used by both DNS and DHCP, and thus
7540 allowing us to store all information about a computer in one place.&lt;/p&gt;
7541
7542 &lt;p&gt;This is a untested draft implementation, and I welcome feedback on
7543 this approach. A real LDAP schema for the ltspClientAux objectclass
7544 need to be written. Comments, suggestions, etc?&lt;/p&gt;
7545
7546 &lt;blockquote&gt;&lt;pre&gt;
7547 # Store in /opt/ltsp/$arch/usr/share/ltsp/ltsp_config.d/ldap-config
7548 #
7549 # Fetch LTSP client settings from LDAP based on MAC address
7550 #
7551 # Uses ethernet address as stored in the dhcpHost objectclass using
7552 # the dhcpHWAddress attribute or ethernet address stored in the
7553 # ieee802Device objectclass with the macAddress attribute.
7554 #
7555 # This module is written to be schema agnostic, and only depend on the
7556 # existence of attribute names.
7557 #
7558 # The LTSP configuration variables are saved directly using a
7559 # ltspConfig prefix and uppercasing the rest of the attribute name.
7560 # To set the SERVER variable, set the ltspConfigServer attribute.
7561 #
7562 # Some LDAP schema should be created with all the relevant
7563 # configuration settings. Something like this should work:
7564 #
7565 # objectclass ( 1.1.2.2 NAME &#39;ltspClientAux&#39;
7566 # SUP top
7567 # AUXILIARY
7568 # MAY ( ltspConfigServer $ ltsConfigSound $ ... )
7569
7570 LDAPSERVER=$(debian-edu-ldapserver)
7571 if [ &quot;$LDAPSERVER&quot; ] ; then
7572 LDAPBASE=$(debian-edu-ldapserver -b)
7573 for MAC in $(LANG=C ifconfig |grep -i hwaddr| awk &#39;{print $5}&#39;|sort -u) ; do
7574 filter=&quot;(|(dhcpHWAddress=ethernet $MAC)(macAddress=$MAC))&quot;
7575 ldapsearch -h &quot;$LDAPSERVER&quot; -b &quot;$LDAPBASE&quot; -v -x &quot;$filter&quot; | \
7576 grep &#39;^ltspConfig&#39; | while read attr value ; do
7577 # Remove prefix and convert to upper case
7578 attr=$(echo $attr | sed &#39;s/^ltspConfig//i&#39; | tr a-z A-Z)
7579 # bass value on to clients
7580 eval &quot;$attr=$value; export $attr&quot;
7581 done
7582 done
7583 fi
7584 &lt;/pre&gt;&lt;/blockquote&gt;
7585
7586 &lt;p&gt;I&#39;m not sure this shell construction will work, because I suspect
7587 the while block might end up in a subshell causing the variables set
7588 there to not show up in ltsp-config, but if that is the case I am sure
7589 the code can be restructured to make sure the variables are passed on.
7590 I expect that can be solved with some testing. :)&lt;/p&gt;
7591
7592 &lt;p&gt;If you want to help out with implementing this for Debian Edu,
7593 please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
7594
7595 &lt;p&gt;Update 2010-07-17: I am aware of another effort to store LTSP
7596 configuration in LDAP that was created around year 2000 by
7597 &lt;a href=&quot;http://www.pcxperience.com/thinclient/documentation/ldap.html&quot;&gt;PC
7598 Xperience, Inc., 2000&lt;/a&gt;. I found its
7599 &lt;a href=&quot;http://people.redhat.com/alikins/ltsp/ldap/&quot;&gt;files&lt;/a&gt; on a
7600 personal home page over at redhat.com.&lt;/p&gt;
7601 </description>
7602 </item>
7603
7604 <item>
7605 <title>jXplorer, a very nice LDAP GUI</title>
7606 <link>http://people.skolelinux.org/pere/blog/jXplorer__a_very_nice_LDAP_GUI.html</link>
7607 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/jXplorer__a_very_nice_LDAP_GUI.html</guid>
7608 <pubDate>Fri, 9 Jul 2010 12:55:00 +0200</pubDate>
7609 <description>&lt;p&gt;Since
7610 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/LUMA__a_very_nice_LDAP_GUI.html&quot;&gt;my
7611 last post&lt;/a&gt; about available LDAP tools in Debian, I was told about a
7612 LDAP GUI that is even better than luma. The java application
7613 &lt;a href=&quot;http://jxplorer.org/&quot;&gt;jXplorer&lt;/a&gt; is claimed to be capable of
7614 moving LDAP objects and subtrees using drag-and-drop, and can
7615 authenticate using Kerberos. I have only tested the Kerberos
7616 authentication, but do not have a LDAP setup allowing me to rewrite
7617 LDAP with my test user yet. It is
7618 &lt;a href=&quot;http://packages.qa.debian.org/j/jxplorer.html&quot;&gt;available in
7619 Debian&lt;/a&gt; testing and unstable at the moment. The only problem I
7620 have with it is how it handle errors. If something go wrong, its
7621 non-intuitive behaviour require me to go through some query work list
7622 and remove the failing query. Nothing big, but very annoying.&lt;/p&gt;
7623 </description>
7624 </item>
7625
7626 <item>
7627 <title>Lenny-&gt;Squeeze upgrades, apt vs aptitude with the Gnome desktop</title>
7628 <link>http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_desktop.html</link>
7629 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_desktop.html</guid>
7630 <pubDate>Sat, 3 Jul 2010 23:55:00 +0200</pubDate>
7631 <description>&lt;p&gt;Here is a short update on my &lt;a
7632 href=&quot;http://people.skolelinux.org/~pere/debian-upgrade-testing/&quot;&gt;my
7633 Debian Lenny-&gt;Squeeze upgrade testing&lt;/a&gt;. Here is a summary of the
7634 difference for Gnome when it is upgraded by apt-get and aptitude. I&#39;m
7635 not reporting the status for KDE, because the upgrade crashes when
7636 aptitude try because of missing conflicts
7637 (&lt;a href=&quot;http://bugs.debian.org/584861&quot;&gt;#584861&lt;/a&gt; and
7638 &lt;a href=&quot;http://bugs.debian.org/585716&quot;&gt;#585716&lt;/a&gt;).&lt;/p&gt;
7639
7640 &lt;p&gt;At the end of the upgrade test script, dpkg -l is executed to get a
7641 complete list of the installed packages. Based on this I see these
7642 differences when I did a test run today. As usual, I do not really
7643 know what the correct set of packages would be, but thought it best to
7644 publish the difference.&lt;/p&gt;
7645
7646 &lt;p&gt;Installed using apt-get, missing with aptitude&lt;/p&gt;
7647
7648 &lt;blockquote&gt;&lt;p&gt;
7649 at-spi cpp-4.3 finger gnome-spell gstreamer0.10-gnomevfs
7650 libatspi1.0-0 libcupsys2 libeel2-data libgail-common libgdl-1-common
7651 libgnomeprint2.2-data libgnomeprintui2.2-common libgnomevfs2-bin
7652 libgtksourceview-common libpt-1.10.10-plugins-alsa
7653 libpt-1.10.10-plugins-v4l libservlet2.4-java libxalan2-java
7654 libxerces2-java openoffice.org-writer2latex openssl-blacklist p7zip
7655 python-4suite-xml python-eggtrayicon python-gtkhtml2
7656 python-gtkmozembed svgalibg1 xserver-xephyr zip
7657 &lt;/p&gt;&lt;/blockquote&gt;
7658
7659 &lt;p&gt;Installed using apt-get, removed with aptitude&lt;/p&gt;
7660
7661 &lt;blockquote&gt;&lt;p&gt;
7662 bluez-utils dhcdbd djvulibre-desktop epiphany-gecko
7663 gnome-app-install gnome-mount gnome-vfs-obexftp gnome-volume-manager
7664 libao2 libavahi-compat-libdnssd1 libavahi-core5 libbind9-50
7665 libbluetooth2 libcamel1.2-11 libcdio7 libcucul0 libcurl3
7666 libdirectfb-1.0-0 libdvdread3 libedata-cal1.2-6 libedataserver1.2-9
7667 libeel2-2.20 libepc-1.0-1 libepc-ui-1.0-1 libexchange-storage1.2-3
7668 libfaad0 libgd2-noxpm libgda3-3 libgda3-common libggz2 libggzcore9
7669 libggzmod4 libgksu1.2-0 libgksuui1.0-1 libgmyth0 libgnome-desktop-2
7670 libgnome-pilot2 libgnomecups1.0-1 libgnomeprint2.2-0
7671 libgnomeprintui2.2-0 libgpod3 libgraphviz4 libgtkhtml2-0
7672 libgtksourceview1.0-0 libgucharmap6 libhesiod0 libicu38 libisccc50
7673 libisccfg50 libiw29 libkpathsea4 libltdl3 liblwres50 libmagick++10
7674 libmagick10 libmalaga7 libmtp7 libmysqlclient15off libnautilus-burn4
7675 libneon27 libnm-glib0 libnm-util0 libopal-2.2 libosp5
7676 libparted1.8-10 libpisock9 libpisync1 libpoppler-glib3 libpoppler3
7677 libpt-1.10.10 libraw1394-8 libsensors3 libsmbios2 libsoup2.2-8
7678 libssh2-1 libsuitesparse-3.1.0 libswfdec-0.6-90 libtalloc1
7679 libtotem-plparser10 libtrackerclient0 libvoikko1 libxalan2-java-gcj
7680 libxerces2-java-gcj libxklavier12 libxtrap6 libxxf86misc1 libzephyr3
7681 mysql-common swfdec-gnome totem-gstreamer wodim
7682 &lt;/p&gt;&lt;/blockquote&gt;
7683
7684 &lt;p&gt;Installed using aptitude, missing with apt-get&lt;/p&gt;
7685
7686 &lt;blockquote&gt;&lt;p&gt;
7687 gnome gnome-desktop-environment hamster-applet python-gnomeapplet
7688 python-gnomekeyring python-wnck rhythmbox-plugins xorg
7689 xserver-xorg-input-all xserver-xorg-input-evdev
7690 xserver-xorg-input-kbd xserver-xorg-input-mouse
7691 xserver-xorg-input-synaptics xserver-xorg-video-all
7692 xserver-xorg-video-apm xserver-xorg-video-ark xserver-xorg-video-ati
7693 xserver-xorg-video-chips xserver-xorg-video-cirrus
7694 xserver-xorg-video-dummy xserver-xorg-video-fbdev
7695 xserver-xorg-video-glint xserver-xorg-video-i128
7696 xserver-xorg-video-i740 xserver-xorg-video-mach64
7697 xserver-xorg-video-mga xserver-xorg-video-neomagic
7698 xserver-xorg-video-nouveau xserver-xorg-video-nv
7699 xserver-xorg-video-r128 xserver-xorg-video-radeon
7700 xserver-xorg-video-radeonhd xserver-xorg-video-rendition
7701 xserver-xorg-video-s3 xserver-xorg-video-s3virge
7702 xserver-xorg-video-savage xserver-xorg-video-siliconmotion
7703 xserver-xorg-video-sis xserver-xorg-video-sisusb
7704 xserver-xorg-video-tdfx xserver-xorg-video-tga
7705 xserver-xorg-video-trident xserver-xorg-video-tseng
7706 xserver-xorg-video-vesa xserver-xorg-video-vmware
7707 xserver-xorg-video-voodoo
7708 &lt;/p&gt;&lt;/blockquote&gt;
7709
7710 &lt;p&gt;Installed using aptitude, removed with apt-get&lt;/p&gt;
7711
7712 &lt;blockquote&gt;&lt;p&gt;
7713 deskbar-applet xserver-xorg xserver-xorg-core
7714 xserver-xorg-input-wacom xserver-xorg-video-intel
7715 xserver-xorg-video-openchrome
7716 &lt;/p&gt;&lt;/blockquote&gt;
7717
7718 &lt;p&gt;I was told on IRC that the xorg-xserver package was
7719 &lt;a href=&quot;http://git.debian.org/?p=pkg-xorg/xserver/xorg-server.git;a=commit;h=9c8080d06c457932d3bfec021c69ac000aa60120&quot;&gt;changed
7720 in git&lt;/a&gt; today to try to get apt-get to not remove xorg completely.
7721 No idea when it hits Squeeze, but when it does I hope it will reduce
7722 the difference somewhat.
7723 </description>
7724 </item>
7725
7726 <item>
7727 <title>Caching password, user and group on a roaming Debian laptop</title>
7728 <link>http://people.skolelinux.org/pere/blog/Caching_password__user_and_group_on_a_roaming_Debian_laptop.html</link>
7729 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Caching_password__user_and_group_on_a_roaming_Debian_laptop.html</guid>
7730 <pubDate>Thu, 1 Jul 2010 11:40:00 +0200</pubDate>
7731 <description>&lt;p&gt;For a laptop, centralized user directories and password checking is
7732 a bit troubling. Laptops are typically used also when not connected
7733 to the network, and it is vital for a user to be able to log in or
7734 unlock the screen saver also when a central server is unavailable.
7735 This is possible by caching passwords and directory information (user
7736 and group attributes) locally, and the packages to do so are available
7737 in Debian. Here follow two recipes to set this up in Debian/Squeeze.
7738 It is also possible to set up in Debian/Lenny, but require more manual
7739 setup there because pam-auth-update is missing in Lenny.&lt;/p&gt;
7740
7741 &lt;h2&gt;LDAP/Kerberos + nscd + libpam-ccreds + libpam-mklocaluser/pam_mkhomedir&lt;/h2&gt;
7742
7743 This is the traditional method with a twist. The password caching is
7744 provided by libpam-ccreds (version 10-4 or later is needed on
7745 Squeeze), and the directory caching is done by nscd. The directory
7746 lookup and password checking is done using LDAP. If one want to use
7747 Kerberos for password checking the libpam-ldapd package can be
7748 replaced with libpam-krb5 or libpam-heimdal. If one is happy having a
7749 local home directory with the path listed in LDAP, one can use the
7750 pam_mkhomedir module from pam-modules to make this happen instead of
7751 using libpam-mklocaluser. A setup for pam-auth-update to enable
7752 pam_mkhomedir will have to be written until a fix for
7753 &lt;a href=&quot;http://bugs.debian.org/568577&quot;&gt;bug #568577&lt;/a&gt; is in the
7754 archive. Because I believe it is a bad idea to have local home
7755 directories using misleading paths like /site/server/partition/, I
7756 prefer to create a local user with the home directory in /home/. This
7757 is done using the libpam-mklocaluser package.&lt;/p&gt;
7758
7759 &lt;p&gt;These packages need to be installed and configured&lt;/p&gt;
7760
7761 &lt;blockquote&gt;&lt;pre&gt;
7762 libnss-ldapd libpam-ldapd nscd libpam-ccreds libpam-mklocaluser
7763 &lt;/pre&gt;&lt;/blockquote&gt;
7764
7765 &lt;p&gt;The ldapd packages will ask for LDAP connection information, and
7766 one have to fill in the values that fits ones own site. Make sure the
7767 PAM part uses encrypted connections, to make sure the password is not
7768 sent in clear text to the LDAP server. I&#39;ve been unable to get TLS
7769 certificate checking for a self signed certificate working, which make
7770 LDAP authentication unsafe for Debian Edu (nslcd is not checking if it
7771 is talking to the correct LDAP server), and very much welcome feedback
7772 on how to get this working.&lt;/p&gt;
7773
7774 &lt;p&gt;Because nscd do not have a default configuration fit for offline
7775 caching until &lt;a href=&quot;http://bugs.debian.org/485282&quot;&gt;bug #485282&lt;/a&gt;
7776 is fixed, this configuration should be used instead of the one
7777 currently in /etc/nscd.conf. The changes are in the fields
7778 reload-count and positive-time-to-live, and is based on the
7779 instructions I found in the
7780 &lt;a href=&quot;http://www.flyn.org/laptopldap/&quot;&gt;LDAP for Mobile Laptops&lt;/a&gt;
7781 instructions by Flyn Computing.&lt;/p&gt;
7782
7783 &lt;blockquote&gt;&lt;pre&gt;
7784 debug-level 0
7785 reload-count unlimited
7786 paranoia no
7787
7788 enable-cache passwd yes
7789 positive-time-to-live passwd 2592000
7790 negative-time-to-live passwd 20
7791 suggested-size passwd 211
7792 check-files passwd yes
7793 persistent passwd yes
7794 shared passwd yes
7795 max-db-size passwd 33554432
7796 auto-propagate passwd yes
7797
7798 enable-cache group yes
7799 positive-time-to-live group 2592000
7800 negative-time-to-live group 20
7801 suggested-size group 211
7802 check-files group yes
7803 persistent group yes
7804 shared group yes
7805 max-db-size group 33554432
7806 auto-propagate group yes
7807
7808 enable-cache hosts no
7809 positive-time-to-live hosts 2592000
7810 negative-time-to-live hosts 20
7811 suggested-size hosts 211
7812 check-files hosts yes
7813 persistent hosts yes
7814 shared hosts yes
7815 max-db-size hosts 33554432
7816
7817 enable-cache services yes
7818 positive-time-to-live services 2592000
7819 negative-time-to-live services 20
7820 suggested-size services 211
7821 check-files services yes
7822 persistent services yes
7823 shared services yes
7824 max-db-size services 33554432
7825 &lt;/pre&gt;&lt;/blockquote&gt;
7826
7827 &lt;p&gt;While we wait for a mechanism to update /etc/nsswitch.conf
7828 automatically like the one provided in
7829 &lt;a href=&quot;http://bugs.debian.org/496915&quot;&gt;bug #496915&lt;/a&gt;, the file
7830 content need to be manually replaced to ensure LDAP is used as the
7831 directory service on the machine. /etc/nsswitch.conf should normally
7832 look like this:&lt;/p&gt;
7833
7834 &lt;blockquote&gt;&lt;pre&gt;
7835 passwd: files ldap
7836 group: files ldap
7837 shadow: files ldap
7838 hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
7839 networks: files
7840 protocols: files
7841 services: files
7842 ethers: files
7843 rpc: files
7844 netgroup: files ldap
7845 &lt;/pre&gt;&lt;/blockquote&gt;
7846
7847 &lt;p&gt;The important parts are that ldap is listed last for passwd, group,
7848 shadow and netgroup.&lt;/p&gt;
7849
7850 &lt;p&gt;With these changes in place, any user in LDAP will be able to log
7851 in locally on the machine using for example kdm, get a local home
7852 directory created and have the password as well as user and group
7853 attributes cached.
7854
7855 &lt;h2&gt;LDAP/Kerberos + nss-updatedb + libpam-ccreds +
7856 libpam-mklocaluser/pam_mkhomedir&lt;/h2&gt;
7857
7858 &lt;p&gt;Because nscd have had its share of problems, and seem to have
7859 problems doing proper caching, I&#39;ve seen suggestions and recipes to
7860 use nss-updatedb to copy parts of the LDAP database locally when the
7861 LDAP database is available. I have not tested such setup, because I
7862 discovered sssd.&lt;/p&gt;
7863
7864 &lt;h2&gt;LDAP/Kerberos + sssd + libpam-mklocaluser&lt;/h2&gt;
7865
7866 &lt;p&gt;A more flexible and robust setup than the nscd combination
7867 mentioned earlier that has shown up recently, is the
7868 &lt;a href=&quot;https://fedorahosted.org/sssd/&quot;&gt;sssd&lt;/a&gt; package from Redhat.
7869 It is part of the &lt;a href=&quot;http://www.freeipa.org/&quot;&gt;FreeIPA&lt;/A&gt; project
7870 to provide a Active Directory like directory service for Linux
7871 machines. The sssd system combines the caching of passwords and user
7872 information into one package, and remove the need for nscd and
7873 libpam-ccreds. It support LDAP and Kerberos, but not NIS. Version
7874 1.2 do not support netgroups, but it is said that it will support this
7875 in version 1.5 expected to show up later in 2010. Because the
7876 &lt;a href=&quot;http://packages.qa.debian.org/s/sssd.html&quot;&gt;sssd package&lt;/a&gt;
7877 was missing in Debian, I ended up co-maintaining it with Werner, and
7878 version 1.2 is now in testing.
7879
7880 &lt;p&gt;These packages need to be installed and configured to get the
7881 roaming setup I want&lt;/p&gt;
7882
7883 &lt;blockquote&gt;&lt;pre&gt;
7884 libpam-sss libnss-sss libpam-mklocaluser
7885 &lt;/pre&gt;&lt;/blockquote&gt;
7886
7887 The complete setup of sssd is done by editing/creating
7888 &lt;tt&gt;/etc/sssd/sssd.conf&lt;/tt&gt;.
7889
7890 &lt;blockquote&gt;&lt;pre&gt;
7891 [sssd]
7892 config_file_version = 2
7893 reconnection_retries = 3
7894 sbus_timeout = 30
7895 services = nss, pam
7896 domains = INTERN
7897
7898 [nss]
7899 filter_groups = root
7900 filter_users = root
7901 reconnection_retries = 3
7902
7903 [pam]
7904 reconnection_retries = 3
7905
7906 [domain/INTERN]
7907 enumerate = false
7908 cache_credentials = true
7909
7910 id_provider = ldap
7911 auth_provider = ldap
7912 chpass_provider = ldap
7913
7914 ldap_uri = ldap://ldap
7915 ldap_search_base = dc=skole,dc=skolelinux,dc=no
7916 ldap_tls_reqcert = never
7917 ldap_tls_cacert = /etc/ssl/certs/ca-certificates.crt
7918 &lt;/pre&gt;&lt;/blockquote&gt;
7919
7920 &lt;p&gt;I got the same problem here with certificate checking. Had to set
7921 &quot;ldap_tls_reqcert = never&quot; to get it working.&lt;/p&gt;
7922
7923 &lt;p&gt;With the libnss-sss package in testing at the moment, the
7924 nsswitch.conf file is update automatically, so there is no need to
7925 modify it manually.&lt;/p&gt;
7926
7927 &lt;p&gt;If you want to help out with implementing this for Debian Edu,
7928 please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
7929 </description>
7930 </item>
7931
7932 <item>
7933 <title>LUMA, a very nice LDAP GUI</title>
7934 <link>http://people.skolelinux.org/pere/blog/LUMA__a_very_nice_LDAP_GUI.html</link>
7935 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/LUMA__a_very_nice_LDAP_GUI.html</guid>
7936 <pubDate>Mon, 28 Jun 2010 00:30:00 +0200</pubDate>
7937 <description>&lt;p&gt;The last few days I have been looking into the status of the LDAP
7938 directory in Debian Edu, and in the process I started to miss a GUI
7939 tool to browse the LDAP tree. The only one I was able to find in
7940 Debian/Squeeze and Lenny is
7941 &lt;a href=&quot;http://luma.sourceforge.net/&quot;&gt;LUMA&lt;/a&gt;, which has proved to
7942 be a great tool to get a overview of the current LDAP directory
7943 populated by default in Skolelinux. Thanks to it, I have been able to
7944 find empty and obsolete subtrees, misplaced objects and duplicate
7945 objects. It will be installed by default in Debian/Squeeze. If you
7946 are working with LDAP, give it a go. :)&lt;/p&gt;
7947
7948 &lt;p&gt;I did notice one problem with it I have not had time to report to
7949 the BTS yet. There is no .desktop file in the package, so the tool do
7950 not show up in the Gnome and KDE menus, but only deep down in in the
7951 Debian submenu in KDE. I hope that can be fixed before Squeeze is
7952 released.&lt;/p&gt;
7953
7954 &lt;p&gt;I have not yet been able to get it to modify the tree yet. I would
7955 like to move objects and remove subtrees directly in the GUI, but have
7956 not found a way to do that with LUMA yet. So in the mean time, I use
7957 &lt;a href=&quot;http://www.lichteblau.com/ldapvi/&quot;&gt;ldapvi&lt;/a&gt; for that.&lt;/p&gt;
7958
7959 &lt;p&gt;If you have tips on other GUI tools for LDAP that might be useful
7960 in Debian Edu, please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
7961
7962 &lt;p&gt;Update 2010-06-29: Ross Reedstrom tipped us about the
7963 &lt;a href=&quot;http://packages.qa.debian.org/g/gq.html&quot;&gt;gq&lt;/a&gt; package as a
7964 useful GUI alternative. It seem like a good tool, but is unmaintained
7965 in Debian and got a RC bug keeping it out of Squeeze. Unless that
7966 changes, it will not be an option for Debian Edu based on Squeeze.&lt;/p&gt;
7967 </description>
7968 </item>
7969
7970 <item>
7971 <title>Idea for a change to LDAP schemas allowing DNS and DHCP info to be combined into one object</title>
7972 <link>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</link>
7973 <guid isPermaLink="true">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</guid>
7974 <pubDate>Thu, 24 Jun 2010 00:35:00 +0200</pubDate>
7975 <description>&lt;p&gt;A while back, I
7976 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html&quot;&gt;complained
7977 about the fact&lt;/a&gt; that it is not possible with the provided schemas
7978 for storing DNS and DHCP information in LDAP to combine the two sets
7979 of information into one LDAP object representing a computer.&lt;/p&gt;
7980
7981 &lt;p&gt;In the mean time, I discovered that a simple fix would be to make
7982 the dhcpHost object class auxiliary, to allow it to be combined with
7983 the dNSDomain object class, and thus forming one object for one
7984 computer when storing both DHCP and DNS information in LDAP.&lt;/p&gt;
7985
7986 &lt;p&gt;If I understand this correctly, it is not safe to do this change
7987 without also changing the assigned number for the object class, and I
7988 do not know enough about LDAP schema design to do that properly for
7989 Debian Edu.&lt;/p&gt;
7990
7991 &lt;p&gt;Anyway, for future reference, this is how I believe we could change
7992 the
7993 &lt;a href=&quot;http://tools.ietf.org/html/draft-ietf-dhc-ldap-schema-00&quot;&gt;DHCP
7994 schema&lt;/a&gt; to solve at least part of the problem with the LDAP schemas
7995 available today from IETF.&lt;/p&gt;
7996
7997 &lt;pre&gt;
7998 --- dhcp.schema (revision 65192)
7999 +++ dhcp.schema (working copy)
8000 @@ -376,7 +376,7 @@
8001 objectclass ( 2.16.840.1.113719.1.203.6.6
8002 NAME &#39;dhcpHost&#39;
8003 DESC &#39;This represents information about a particular client&#39;
8004 - SUP top
8005 + SUP top AUXILIARY
8006 MUST cn
8007 MAY (dhcpLeaseDN $ dhcpHWAddress $ dhcpOptionsDN $ dhcpStatements $ dhcpComments $ dhcpOption)
8008 X-NDS_CONTAINMENT (&#39;dhcpService&#39; &#39;dhcpSubnet&#39; &#39;dhcpGroup&#39;) )
8009 &lt;/pre&gt;
8010
8011 &lt;p&gt;I very much welcome clues on how to do this properly for Debian
8012 Edu/Squeeze. We provide the DHCP schema in our debian-edu-config
8013 package, and should thus be free to rewrite it as we see fit.&lt;/p&gt;
8014
8015 &lt;p&gt;If you want to help out with implementing this for Debian Edu,
8016 please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
8017 </description>
8018 </item>
8019
8020 <item>
8021 <title>Calling tasksel like the installer, while still getting useful output</title>
8022 <link>http://people.skolelinux.org/pere/blog/Calling_tasksel_like_the_installer__while_still_getting_useful_output.html</link>
8023 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Calling_tasksel_like_the_installer__while_still_getting_useful_output.html</guid>
8024 <pubDate>Wed, 16 Jun 2010 14:55:00 +0200</pubDate>
8025 <description>&lt;p&gt;A few times I have had the need to simulate the way tasksel
8026 installs packages during the normal debian-installer run. Until now,
8027 I have ended up letting tasksel do the work, with the annoying problem
8028 of not getting any feedback at all when something fails (like a
8029 conffile question from dpkg or a download that fails), using code like
8030 this:
8031
8032 &lt;blockquote&gt;&lt;pre&gt;
8033 export DEBIAN_FRONTEND=noninteractive
8034 tasksel --new-install
8035 &lt;/pre&gt;&lt;/blockquote&gt;
8036
8037 This would invoke tasksel, let its automatic task selection pick the
8038 tasks to install, and continue to install the requested tasks without
8039 any output what so ever.
8040
8041 Recently I revisited this problem while working on the automatic
8042 package upgrade testing, because tasksel would some times hang without
8043 any useful feedback, and I want to see what is going on when it
8044 happen. Then it occured to me, I can parse the output from tasksel
8045 when asked to run in test mode, and use that aptitude command line
8046 printed by tasksel then to simulate the tasksel run. I ended up using
8047 code like this:
8048
8049 &lt;blockquote&gt;&lt;pre&gt;
8050 export DEBIAN_FRONTEND=noninteractive
8051 cmd=&quot;$(in_target tasksel -t --new-install | sed &#39;s/debconf-apt-progress -- //&#39;)&quot;
8052 $cmd
8053 &lt;/pre&gt;&lt;/blockquote&gt;
8054
8055 &lt;p&gt;The content of $cmd is typically something like &quot;&lt;tt&gt;aptitude -q
8056 --without-recommends -o APT::Install-Recommends=no -y install
8057 ~t^desktop$ ~t^gnome-desktop$ ~t^laptop$ ~pstandard ~prequired
8058 ~pimportant&lt;/tt&gt;&quot;, which will install the gnome desktop task, the
8059 laptop task and all packages with priority standard , required and
8060 important, just like tasksel would have done it during
8061 installation.&lt;/p&gt;
8062
8063 &lt;p&gt;A better approach is probably to extend tasksel to be able to
8064 install packages without using debconf-apt-progress, for use cases
8065 like this.&lt;/p&gt;
8066 </description>
8067 </item>
8068
8069 <item>
8070 <title>Officeshots taking shape</title>
8071 <link>http://people.skolelinux.org/pere/blog/Officeshots_taking_shape.html</link>
8072 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Officeshots_taking_shape.html</guid>
8073 <pubDate>Sun, 13 Jun 2010 11:40:00 +0200</pubDate>
8074 <description>&lt;p&gt;For those of us caring about document exchange and
8075 interoperability, &lt;a href=&quot;http://www.officeshots.org/&quot;&gt;OfficeShots&lt;/a&gt;
8076 is a great service. It is to ODF documents what
8077 &lt;a href=&quot;http://browsershots.org/&quot;&gt;BrowserShots&lt;/a&gt; is for web
8078 pages.&lt;/p&gt;
8079
8080 &lt;p&gt;A while back, I was contacted by Knut Yrvin at the part of Nokia
8081 that used to be Trolltech, who wanted to help the OfficeShots project
8082 and wondered if the University of Oslo where I work would be
8083 interested in supporting the project. I helped him to navigate his
8084 request to the right people at work, and his request was answered with
8085 a spot in the machine room with power and network connected, and Knut
8086 arranged funding for a machine to fill the spot. The machine is
8087 administrated by the OfficeShots people, so I do not have daily
8088 contact with its progress, and thus from time to time check back to
8089 see how the project is doing.&lt;/p&gt;
8090
8091 &lt;p&gt;Today I had a look, and was happy to see that the Dell box in our
8092 machine room now is the host for several virtual machines running as
8093 OfficeShots factories, and the project is able to render ODF documents
8094 in 17 different document processing implementation on Linux and
8095 Windows. This is great.&lt;/p&gt;
8096 </description>
8097 </item>
8098
8099 <item>
8100 <title>Lenny-&gt;Squeeze upgrades, removals by apt and aptitude</title>
8101 <link>http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__removals_by_apt_and_aptitude.html</link>
8102 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__removals_by_apt_and_aptitude.html</guid>
8103 <pubDate>Sun, 13 Jun 2010 09:05:00 +0200</pubDate>
8104 <description>&lt;p&gt;My
8105 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html&quot;&gt;testing
8106 of Debian upgrades&lt;/a&gt; from Lenny to Squeeze continues, and I&#39;ve
8107 finally made the upgrade logs available from
8108 &lt;a href=&quot;http://people.skolelinux.org/pere/debian-upgrade-testing/&quot;&gt;http://people.skolelinux.org/pere/debian-upgrade-testing/&lt;/a&gt;.
8109 I am now testing dist-upgrade of Gnome and KDE in a chroot using both
8110 apt and aptitude, and found their differences interesting. This time
8111 I will only focus on their removal plans.&lt;/p&gt;
8112
8113 &lt;p&gt;After installing a Gnome desktop and the laptop task, apt-get wants
8114 to remove 72 packages when dist-upgrading from Lenny to Squeeze. The
8115 surprising part is that it want to remove xorg and all
8116 xserver-xorg-video* drivers. Clearly not a good choice, but I am not
8117 sure why. When asking aptitude to do the same, it want to remove 129
8118 packages, but most of them are library packages I suspect are no
8119 longer needed. Both of them want to remove bluetooth packages, which
8120 I do not know. Perhaps these bluetooth packages are obsolete?&lt;/p&gt;
8121
8122 &lt;p&gt;For KDE, apt-get want to remove 82 packages, among them kdebase
8123 which seem like a bad idea and xorg the same way as with Gnome. Asking
8124 aptitude for the same, it wants to remove 192 packages, none which are
8125 too surprising.&lt;/p&gt;
8126
8127 &lt;p&gt;I guess the removal of xorg during upgrades should be investigated
8128 and avoided, and perhaps others as well. Here are the complete list
8129 of planned removals. The complete logs is available from the URL
8130 above. Note if you want to repeat these tests, that the upgrade test
8131 for kde+apt-get hung in the tasksel setup because of dpkg asking
8132 conffile questions. No idea why. I worked around it by using
8133 &#39;&lt;tt&gt;echo &gt;&gt; /proc/&lt;em&gt;pidofdpkg&lt;/em&gt;/fd/0&lt;/tt&gt;&#39; to tell dpkg to
8134 continue.&lt;/p&gt;
8135
8136 &lt;p&gt;&lt;b&gt;apt-get gnome 72&lt;/b&gt;
8137 &lt;br&gt;bluez-gnome cupsddk-drivers deskbar-applet gnome
8138 gnome-desktop-environment gnome-network-admin gtkhtml3.14
8139 iceweasel-gnome-support libavcodec51 libdatrie0 libgdl-1-0
8140 libgnomekbd2 libgnomekbdui2 libmetacity0 libslab0 libxcb-xlib0
8141 nautilus-cd-burner python-gnome2-desktop python-gnome2-extras
8142 serpentine swfdec-mozilla update-manager xorg xserver-xorg
8143 xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-evdev
8144 xserver-xorg-input-kbd xserver-xorg-input-mouse
8145 xserver-xorg-input-synaptics xserver-xorg-input-wacom
8146 xserver-xorg-video-all xserver-xorg-video-apm xserver-xorg-video-ark
8147 xserver-xorg-video-ati xserver-xorg-video-chips
8148 xserver-xorg-video-cirrus xserver-xorg-video-cyrix
8149 xserver-xorg-video-dummy xserver-xorg-video-fbdev
8150 xserver-xorg-video-glint xserver-xorg-video-i128
8151 xserver-xorg-video-i740 xserver-xorg-video-imstt
8152 xserver-xorg-video-intel xserver-xorg-video-mach64
8153 xserver-xorg-video-mga xserver-xorg-video-neomagic
8154 xserver-xorg-video-nsc xserver-xorg-video-nv
8155 xserver-xorg-video-openchrome xserver-xorg-video-r128
8156 xserver-xorg-video-radeon xserver-xorg-video-radeonhd
8157 xserver-xorg-video-rendition xserver-xorg-video-s3
8158 xserver-xorg-video-s3virge xserver-xorg-video-savage
8159 xserver-xorg-video-siliconmotion xserver-xorg-video-sis
8160 xserver-xorg-video-sisusb xserver-xorg-video-tdfx
8161 xserver-xorg-video-tga xserver-xorg-video-trident
8162 xserver-xorg-video-tseng xserver-xorg-video-v4l
8163 xserver-xorg-video-vesa xserver-xorg-video-vga
8164 xserver-xorg-video-vmware xserver-xorg-video-voodoo xulrunner-1.9
8165 xulrunner-1.9-gnome-support&lt;/p&gt;
8166
8167 &lt;p&gt;&lt;b&gt;aptitude gnome 129&lt;/b&gt;
8168
8169 &lt;br&gt;bluez-gnome bluez-utils cpp-4.3 cupsddk-drivers dhcdbd
8170 djvulibre-desktop finger gnome-app-install gnome-mount
8171 gnome-network-admin gnome-spell gnome-vfs-obexftp
8172 gnome-volume-manager gstreamer0.10-gnomevfs gtkhtml3.14 libao2
8173 libavahi-compat-libdnssd1 libavahi-core5 libavcodec51 libbluetooth2
8174 libcamel1.2-11 libcdio7 libcucul0 libcupsys2 libcurl3 libdatrie0
8175 libdirectfb-1.0-0 libdvdread3 libedataserver1.2-9 libeel2-2.20
8176 libeel2-data libepc-1.0-1 libepc-ui-1.0-1 libfaad0 libgail-common
8177 libgd2-noxpm libgda3-3 libgda3-common libgdl-1-0 libgdl-1-common
8178 libggz2 libggzcore9 libggzmod4 libgksu1.2-0 libgksuui1.0-1 libgmyth0
8179 libgnomecups1.0-1 libgnomekbd2 libgnomekbdui2 libgnomeprint2.2-0
8180 libgnomeprint2.2-data libgnomeprintui2.2-0 libgnomeprintui2.2-common
8181 libgnomevfs2-bin libgpod3 libgraphviz4 libgtkhtml2-0
8182 libgtksourceview-common libgtksourceview1.0-0 libgucharmap6
8183 libhesiod0 libicu38 libiw29 libkpathsea4 libltdl3 libmagick++10
8184 libmagick10 libmalaga7 libmetacity0 libmtp7 libmysqlclient15off
8185 libnautilus-burn4 libneon27 libnm-glib0 libnm-util0 libopal-2.2
8186 libosp5 libparted1.8-10 libpoppler-glib3 libpoppler3 libpt-1.10.10
8187 libpt-1.10.10-plugins-alsa libpt-1.10.10-plugins-v4l libraw1394-8
8188 libsensors3 libslab0 libsmbios2 libsoup2.2-8 libssh2-1
8189 libsuitesparse-3.1.0 libswfdec-0.6-90 libtalloc1 libtotem-plparser10
8190 libtrackerclient0 libxalan2-java libxalan2-java-gcj libxcb-xlib0
8191 libxerces2-java libxerces2-java-gcj libxklavier12 libxtrap6
8192 libxxf86misc1 libzephyr3 mysql-common nautilus-cd-burner
8193 openoffice.org-writer2latex openssl-blacklist p7zip
8194 python-4suite-xml python-eggtrayicon python-gnome2-desktop
8195 python-gnome2-extras python-gtkhtml2 python-gtkmozembed
8196 python-numeric python-sexy serpentine svgalibg1 swfdec-gnome
8197 swfdec-mozilla totem-gstreamer update-manager wodim
8198 xserver-xorg-video-cyrix xserver-xorg-video-imstt
8199 xserver-xorg-video-nsc xserver-xorg-video-v4l xserver-xorg-video-vga
8200 zip&lt;/p&gt;
8201
8202 &lt;p&gt;&lt;b&gt;apt-get kde 82&lt;/b&gt;
8203
8204 &lt;br&gt;cupsddk-drivers karm kaudiocreator kcoloredit kcontrol kde kde-core
8205 kdeaddons kdeartwork kdebase kdebase-bin kdebase-bin-kde3
8206 kdebase-kio-plugins kdesktop kdeutils khelpcenter kicker
8207 kicker-applets knewsticker kolourpaint konq-plugins konqueror korn
8208 kpersonalizer kscreensaver ksplash libavcodec51 libdatrie0 libkiten1
8209 libxcb-xlib0 quanta superkaramba texlive-base-bin xorg xserver-xorg
8210 xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-evdev
8211 xserver-xorg-input-kbd xserver-xorg-input-mouse
8212 xserver-xorg-input-synaptics xserver-xorg-input-wacom
8213 xserver-xorg-video-all xserver-xorg-video-apm xserver-xorg-video-ark
8214 xserver-xorg-video-ati xserver-xorg-video-chips
8215 xserver-xorg-video-cirrus xserver-xorg-video-cyrix
8216 xserver-xorg-video-dummy xserver-xorg-video-fbdev
8217 xserver-xorg-video-glint xserver-xorg-video-i128
8218 xserver-xorg-video-i740 xserver-xorg-video-imstt
8219 xserver-xorg-video-intel xserver-xorg-video-mach64
8220 xserver-xorg-video-mga xserver-xorg-video-neomagic
8221 xserver-xorg-video-nsc xserver-xorg-video-nv
8222 xserver-xorg-video-openchrome xserver-xorg-video-r128
8223 xserver-xorg-video-radeon xserver-xorg-video-radeonhd
8224 xserver-xorg-video-rendition xserver-xorg-video-s3
8225 xserver-xorg-video-s3virge xserver-xorg-video-savage
8226 xserver-xorg-video-siliconmotion xserver-xorg-video-sis
8227 xserver-xorg-video-sisusb xserver-xorg-video-tdfx
8228 xserver-xorg-video-tga xserver-xorg-video-trident
8229 xserver-xorg-video-tseng xserver-xorg-video-v4l
8230 xserver-xorg-video-vesa xserver-xorg-video-vga
8231 xserver-xorg-video-vmware xserver-xorg-video-voodoo xulrunner-1.9&lt;/p&gt;
8232
8233 &lt;p&gt;&lt;b&gt;aptitude kde 192&lt;/b&gt;
8234 &lt;br&gt;bluez-utils cpp-4.3 cupsddk-drivers cvs dcoprss dhcdbd
8235 djvulibre-desktop dosfstools eyesapplet fifteenapplet finger gettext
8236 ghostscript-x imlib-base imlib11 indi kandy karm kasteroids
8237 kaudiocreator kbackgammon kbstate kcoloredit kcontrol kcron kdat
8238 kdeadmin-kfile-plugins kdeartwork-misc kdeartwork-theme-window
8239 kdebase-bin-kde3 kdebase-kio-plugins kdeedu-data
8240 kdegraphics-kfile-plugins kdelirc kdemultimedia-kappfinder-data
8241 kdemultimedia-kfile-plugins kdenetwork-kfile-plugins
8242 kdepim-kfile-plugins kdepim-kio-plugins kdeprint kdesktop kdessh
8243 kdict kdnssd kdvi kedit keduca kenolaba kfax kfaxview kfouleggs
8244 kghostview khelpcenter khexedit kiconedit kitchensync klatin
8245 klickety kmailcvt kmenuedit kmid kmilo kmoon kmrml kodo kolourpaint
8246 kooka korn kpager kpdf kpercentage kpf kpilot kpoker kpovmodeler
8247 krec kregexpeditor ksayit ksim ksirc ksirtet ksmiletris ksmserver
8248 ksnake ksokoban ksplash ksvg ksysv ktip ktnef kuickshow kverbos
8249 kview kviewshell kvoctrain kwifimanager kwin kwin4 kworldclock
8250 kxsldbg libakode2 libao2 libarts1-akode libarts1-audiofile
8251 libarts1-mpeglib libarts1-xine libavahi-compat-libdnssd1
8252 libavahi-core5 libavc1394-0 libavcodec51 libbluetooth2
8253 libboost-python1.34.1 libcucul0 libcurl3 libcvsservice0 libdatrie0
8254 libdirectfb-1.0-0 libdjvulibre21 libdvdread3 libfaad0 libfreebob0
8255 libgail-common libgd2-noxpm libgraphviz4 libgsmme1c2a libgtkhtml2-0
8256 libicu38 libiec61883-0 libindex0 libiw29 libk3b3 libkcal2b libkcddb1
8257 libkdeedu3 libkdepim1a libkgantt0 libkiten1 libkleopatra1 libkmime2
8258 libkpathsea4 libkpimexchange1 libkpimidentities1 libkscan1
8259 libksieve0 libktnef1 liblockdev1 libltdl3 libmagick10 libmimelib1c2a
8260 libmozjs1d libmpcdec3 libneon27 libnm-util0 libopensync0 libpisock9
8261 libpoppler-glib3 libpoppler-qt2 libpoppler3 libraw1394-8 libsmbios2
8262 libssh2-1 libsuitesparse-3.1.0 libtalloc1 libtiff-tools
8263 libxalan2-java libxalan2-java-gcj libxcb-xlib0 libxerces2-java
8264 libxerces2-java-gcj libxtrap6 mpeglib networkstatus
8265 openoffice.org-writer2latex pmount poster psutils quanta quanta-data
8266 superkaramba svgalibg1 tex-common texlive-base texlive-base-bin
8267 texlive-common texlive-doc-base texlive-fonts-recommended
8268 xserver-xorg-video-cyrix xserver-xorg-video-imstt
8269 xserver-xorg-video-nsc xserver-xorg-video-v4l xserver-xorg-video-vga
8270 xulrunner-1.9&lt;/p&gt;
8271
8272 </description>
8273 </item>
8274
8275 <item>
8276 <title>Automatic upgrade testing from Lenny to Squeeze</title>
8277 <link>http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html</link>
8278 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html</guid>
8279 <pubDate>Fri, 11 Jun 2010 22:50:00 +0200</pubDate>
8280 <description>&lt;p&gt;The last few days I have done some upgrade testing in Debian, to
8281 see if the upgrade from Lenny to Squeeze will go smoothly. A few bugs
8282 have been discovered and reported in the process
8283 (&lt;a href=&quot;http://bugs.debian.org/585410&quot;&gt;#585410&lt;/a&gt; in nagios3-cgi,
8284 &lt;a href=&quot;http://bugs.debian.org/584879&quot;&gt;#584879&lt;/a&gt; already fixed in
8285 enscript and &lt;a href=&quot;http://bugs.debian.org/584861&quot;&gt;#584861&lt;/a&gt; in
8286 kdebase-workspace-data), and to get a more regular testing going on, I
8287 am working on a script to automate the test.&lt;/p&gt;
8288
8289 &lt;p&gt;The idea is to create a Lenny chroot and use tasksel to install a
8290 Gnome or KDE desktop installation inside the chroot before upgrading
8291 it. To ensure no services are started in the chroot, a policy-rc.d
8292 script is inserted. To make sure tasksel believe it is to install a
8293 desktop on a laptop, the tasksel tests are replaced in the chroot
8294 (only acceptable because this is a throw-away chroot).&lt;/p&gt;
8295
8296 &lt;p&gt;A naive upgrade from Lenny to Squeeze using aptitude dist-upgrade
8297 currently always fail because udev refuses to upgrade with the kernel
8298 in Lenny, so to avoid that problem the file /etc/udev/kernel-upgrade
8299 is created. The bug report
8300 &lt;a href=&quot;http://bugs.debian.org/566000&quot;&gt;#566000&lt;/a&gt; make me suspect
8301 this problem do not trigger in a chroot, but I touch the file anyway
8302 to make sure the upgrade go well. Testing on virtual and real
8303 hardware have failed me because of udev so far, and creating this file
8304 do the trick in such settings anyway. This is a
8305 &lt;a href=&quot;http://www.linuxquestions.org/questions/debian-26/failed-dist-upgrade-due-to-udev-config_sysfs_deprecated-nonsense-804130/&quot;&gt;known
8306 issue&lt;/a&gt; and the current udev behaviour is intended by the udev
8307 maintainer because he lack the resources to rewrite udev to keep
8308 working with old kernels or something like that. I really wish the
8309 udev upstream would keep udev backwards compatible, to avoid such
8310 upgrade problem, but given that they fail to do so, I guess
8311 documenting the way out of this mess is the best option we got for
8312 Debian Squeeze.&lt;/p&gt;
8313
8314 &lt;p&gt;Anyway, back to the task at hand, testing upgrades. This test
8315 script, which I call &lt;tt&gt;upgrade-test&lt;/tt&gt; for now, is doing the
8316 trick:&lt;/p&gt;
8317
8318 &lt;blockquote&gt;&lt;pre&gt;
8319 #!/bin/sh
8320 set -ex
8321
8322 if [ &quot;$1&quot; ] ; then
8323 desktop=$1
8324 else
8325 desktop=gnome
8326 fi
8327
8328 from=lenny
8329 to=squeeze
8330
8331 exec &amp;lt; /dev/null
8332 unset LANG
8333 mirror=http://ftp.skolelinux.org/debian
8334 tmpdir=chroot-$from-upgrade-$to-$desktop
8335 fuser -mv .
8336 debootstrap $from $tmpdir $mirror
8337 chroot $tmpdir aptitude update
8338 cat &gt; $tmpdir/usr/sbin/policy-rc.d &amp;lt;&amp;lt;EOF
8339 #!/bin/sh
8340 exit 101
8341 EOF
8342 chmod a+rx $tmpdir/usr/sbin/policy-rc.d
8343 exit_cleanup() {
8344 umount $tmpdir/proc
8345 }
8346 mount -t proc proc $tmpdir/proc
8347 # Make sure proc is unmounted also on failure
8348 trap exit_cleanup EXIT INT
8349
8350 chroot $tmpdir aptitude -y install debconf-utils
8351
8352 # Make sure tasksel autoselection trigger. It need the test scripts
8353 # to return the correct answers.
8354 echo tasksel tasksel/desktop multiselect $desktop | \
8355 chroot $tmpdir debconf-set-selections
8356
8357 # Include the desktop and laptop task
8358 for test in desktop laptop ; do
8359 echo &gt; $tmpdir/usr/lib/tasksel/tests/$test &amp;lt;&amp;lt;EOF
8360 #!/bin/sh
8361 exit 2
8362 EOF
8363 chmod a+rx $tmpdir/usr/lib/tasksel/tests/$test
8364 done
8365
8366 DEBIAN_FRONTEND=noninteractive
8367 DEBIAN_PRIORITY=critical
8368 export DEBIAN_FRONTEND DEBIAN_PRIORITY
8369 chroot $tmpdir tasksel --new-install
8370
8371 echo deb $mirror $to main &gt; $tmpdir/etc/apt/sources.list
8372 chroot $tmpdir aptitude update
8373 touch $tmpdir/etc/udev/kernel-upgrade
8374 chroot $tmpdir aptitude -y dist-upgrade
8375 fuser -mv
8376 &lt;/pre&gt;&lt;/blockquote&gt;
8377
8378 &lt;p&gt;I suspect it would be useful to test upgrades with both apt-get and
8379 with aptitude, but I have not had time to look at how they behave
8380 differently so far. I hope to get a cron job running to do the test
8381 regularly and post the result on the web. The Gnome upgrade currently
8382 work, while the KDE upgrade fail because of the bug in
8383 kdebase-workspace-data&lt;/p&gt;
8384
8385 &lt;p&gt;I am not quite sure what kind of extract from the huge upgrade logs
8386 (KDE 167 KiB, Gnome 516 KiB) it make sense to include in this blog
8387 post, so I will refrain from trying. I can report that for Gnome,
8388 aptitude report 760 packages upgraded, 448 newly installed, 129 to
8389 remove and 1 not upgraded and 1024MB need to be downloaded while for
8390 KDE the same numbers are 702 packages upgraded, 507 newly installed,
8391 193 to remove and 0 not upgraded and 1117MB need to be downloaded&lt;/p&gt;
8392
8393 &lt;p&gt;I am very happy to notice that the Gnome desktop + laptop upgrade
8394 is able to migrate to dependency based boot sequencing and parallel
8395 booting without a hitch. Was unsure if there were still bugs with
8396 packages failing to clean up their obsolete init.d script during
8397 upgrades, and no such problem seem to affect the Gnome desktop+laptop
8398 packages.&lt;/p&gt;
8399 </description>
8400 </item>
8401
8402 <item>
8403 <title>Upstart or sysvinit - as init.d scripts see it</title>
8404 <link>http://people.skolelinux.org/pere/blog/Upstart_or_sysvinit___as_init_d_scripts_see_it.html</link>
8405 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Upstart_or_sysvinit___as_init_d_scripts_see_it.html</guid>
8406 <pubDate>Sun, 6 Jun 2010 23:55:00 +0200</pubDate>
8407 <description>&lt;p&gt;If Debian is to migrate to upstart on Linux, I expect some init.d
8408 scripts to migrate (some of) their operations to upstart job while
8409 keeping the init.d for hurd and kfreebsd. The packages with such
8410 needs will need a way to get their init.d scripts to behave
8411 differently when used with sysvinit and with upstart. Because of
8412 this, I had a look at the environment variables set when a init.d
8413 script is running under upstart, and when it is not.&lt;/p&gt;
8414
8415 &lt;p&gt;With upstart, I notice these environment variables are set when a
8416 script is started from rcS.d/ (ignoring some irrelevant ones like
8417 COLUMNS):&lt;/p&gt;
8418
8419 &lt;blockquote&gt;&lt;pre&gt;
8420 DEFAULT_RUNLEVEL=2
8421 previous=N
8422 PREVLEVEL=
8423 RUNLEVEL=
8424 runlevel=S
8425 UPSTART_EVENTS=startup
8426 UPSTART_INSTANCE=
8427 UPSTART_JOB=rc-sysinit
8428 &lt;/pre&gt;&lt;/blockquote&gt;
8429
8430 &lt;p&gt;With sysvinit, these environment variables are set for the same
8431 script.&lt;/p&gt;
8432
8433 &lt;blockquote&gt;&lt;pre&gt;
8434 INIT_VERSION=sysvinit-2.88
8435 previous=N
8436 PREVLEVEL=N
8437 RUNLEVEL=S
8438 runlevel=S
8439 &lt;/pre&gt;&lt;/blockquote&gt;
8440
8441 &lt;p&gt;The RUNLEVEL and PREVLEVEL environment variables passed on from
8442 sysvinit are not set by upstart. Not sure if it is intentional or not
8443 to not be compatible with sysvinit in this regard.&lt;/p&gt;
8444
8445 &lt;p&gt;For scripts needing to behave differently when upstart is used,
8446 looking for the UPSTART_JOB environment variable seem to be a good
8447 choice.&lt;/p&gt;
8448 </description>
8449 </item>
8450
8451 <item>
8452 <title>A manual for standards wars...</title>
8453 <link>http://people.skolelinux.org/pere/blog/A_manual_for_standards_wars___.html</link>
8454 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/A_manual_for_standards_wars___.html</guid>
8455 <pubDate>Sun, 6 Jun 2010 14:15:00 +0200</pubDate>
8456 <description>&lt;p&gt;Via the
8457 &lt;a href=&quot;http://feedproxy.google.com/~r/robweir/antic-atom/~3/QzU4RgoAGMg/weekly-links-10.html&quot;&gt;blog
8458 of Rob Weir&lt;/a&gt; I came across the very interesting essay named
8459 &lt;a href=&quot;http://faculty.haas.berkeley.edu/shapiro/wars.pdf&quot;&gt;The Art of
8460 Standards Wars&lt;/a&gt; (PDF 25 pages). I recommend it for everyone
8461 following the standards wars of today.&lt;/p&gt;
8462 </description>
8463 </item>
8464
8465 <item>
8466 <title>Sitesummary tip: Listing computer hardware models used at site</title>
8467 <link>http://people.skolelinux.org/pere/blog/Sitesummary_tip__Listing_computer_hardware_models_used_at_site.html</link>
8468 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Sitesummary_tip__Listing_computer_hardware_models_used_at_site.html</guid>
8469 <pubDate>Thu, 3 Jun 2010 12:05:00 +0200</pubDate>
8470 <description>&lt;p&gt;When using sitesummary at a site to track machines, it is possible
8471 to get a list of the machine types in use thanks to the DMI
8472 information extracted from each machine. The script to do so is
8473 included in the sitesummary package, and here is example output from
8474 the Skolelinux build servers:&lt;/p&gt;
8475
8476 &lt;blockquote&gt;&lt;pre&gt;
8477 maintainer:~# /usr/lib/sitesummary/hardware-model-summary
8478 vendor count
8479 Dell Computer Corporation 1
8480 PowerEdge 1750 1
8481 IBM 1
8482 eserver xSeries 345 -[8670M1X]- 1
8483 Intel 2
8484 [no-dmi-info] 3
8485 maintainer:~#
8486 &lt;/pre&gt;&lt;/blockquote&gt;
8487
8488 &lt;p&gt;The quality of the report depend on the quality of the DMI tables
8489 provided in each machine. Here there are Intel machines without model
8490 information listed with Intel as vendor and no model, and virtual Xen
8491 machines listed as [no-dmi-info]. One can add -l as a command line
8492 option to list the individual machines.&lt;/p&gt;
8493
8494 &lt;p&gt;A larger list is
8495 &lt;a href=&quot;http://narvikskolen.no/sitesummary/&quot;&gt;available from the the
8496 city of Narvik&lt;/a&gt;, which uses Skolelinux on all their shools and also
8497 provide the basic sitesummary report publicly. In their report there
8498 are ~1400 machines. I know they use both Ubuntu and Skolelinux on
8499 their machines, and as sitesummary is available in both distributions,
8500 it is trivial to get all of them to report to the same central
8501 collector.&lt;/p&gt;
8502 </description>
8503 </item>
8504
8505 <item>
8506 <title>KDM fail at boot with NVidia cards - and no one try to fix it?</title>
8507 <link>http://people.skolelinux.org/pere/blog/KDM_fail_at_boot_with_NVidia_cards___and_no_one_try_to_fix_it_.html</link>
8508 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/KDM_fail_at_boot_with_NVidia_cards___and_no_one_try_to_fix_it_.html</guid>
8509 <pubDate>Tue, 1 Jun 2010 17:05:00 +0200</pubDate>
8510 <description>&lt;p&gt;It is strange to watch how a bug in Debian causing KDM to fail to
8511 start at boot when an NVidia video card is used is handled. The
8512 problem seem to be that the nvidia X.org driver uses a long time to
8513 initialize, and this duration is longer than kdm is configured to
8514 wait.&lt;/p&gt;
8515
8516 &lt;p&gt;I came across two bugs related to this issue,
8517 &lt;a href=&quot;http://bugs.debian.org/583312&quot;&gt;#583312&lt;/a&gt; initially filed
8518 against initscripts and passed on to nvidia-glx when it became obvious
8519 that the nvidia drivers were involved, and
8520 &lt;a href=&quot;http://bugs.debian.org/524751&quot;&gt;#524751&lt;/a&gt; initially filed against
8521 kdm and passed on to src:nvidia-graphics-drivers for unknown reasons.&lt;/p&gt;
8522
8523 &lt;p&gt;To me, it seem that no-one is interested in actually solving the
8524 problem nvidia video card owners experience and make sure the Debian
8525 distribution work out of the box for these users. The nvidia driver
8526 maintainers expect kdm to be set up to wait longer, while kdm expect
8527 the nvidia driver maintainers to fix the driver to start faster, and
8528 while they wait for each other I guess the users end up switching to a
8529 distribution that work for them. I have no idea what the solution is,
8530 but I am pretty sure that waiting for each other is not it.&lt;/p&gt;
8531
8532 &lt;p&gt;I wonder why we end up handling bugs this way.&lt;/p&gt;
8533 </description>
8534 </item>
8535
8536 <item>
8537 <title>Parallellized boot seem to hold up well in Debian/testing</title>
8538 <link>http://people.skolelinux.org/pere/blog/Parallellized_boot_seem_to_hold_up_well_in_Debian_testing.html</link>
8539 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Parallellized_boot_seem_to_hold_up_well_in_Debian_testing.html</guid>
8540 <pubDate>Thu, 27 May 2010 23:55:00 +0200</pubDate>
8541 <description>&lt;p&gt;A few days ago, parallel booting was enabled in Debian/testing.
8542 The feature seem to hold up pretty well, but three fairly serious
8543 issues are known and should be solved:
8544
8545 &lt;p&gt;&lt;ul&gt;
8546
8547 &lt;li&gt;The wicd package seen to
8548 &lt;a href=&quot;http://bugs.debian.org/508289&quot;&gt;break NFS mounting&lt;/a&gt; and
8549 &lt;a href=&quot;http://bugs.debian.org/581586&quot;&gt;network setup&lt;/a&gt; when
8550 parallel booting is enabled. No idea why, but the wicd maintainer
8551 seem to be on the case.&lt;/li&gt;
8552
8553 &lt;li&gt;The nvidia X driver seem to
8554 &lt;a href=&quot;http://bugs.debian.org/583312&quot;&gt;have a race condition&lt;/a&gt;
8555 triggered more easily when parallel booting is in effect. The
8556 maintainer is on the case.&lt;/li&gt;
8557
8558 &lt;li&gt;The sysv-rc package fail to properly enable dependency based boot
8559 sequencing (the shutdown is broken) when old file-rc users
8560 &lt;a href=&quot;http://bugs.debian.org/575080&quot;&gt;try to switch back&lt;/a&gt; to
8561 sysv-rc. One way to solve it would be for file-rc to create
8562 /etc/init.d/.legacy-bootordering, and another is to try to make
8563 sysv-rc more robust. Will investigate some more and probably upload a
8564 workaround in sysv-rc to help those trying to move from file-rc to
8565 sysv-rc get a working shutdown.&lt;/li&gt;
8566
8567 &lt;/ul&gt;&lt;/p&gt;
8568
8569 &lt;p&gt;All in all not many surprising issues, and all of them seem
8570 solvable before Squeeze is released. In addition to these there are
8571 some packages with bugs in their dependencies and run level settings,
8572 which I expect will be fixed in a reasonable time span.&lt;/p&gt;
8573
8574 &lt;p&gt;If you report any problems with dependencies in init.d scripts to
8575 the BTS, please usertag the report to get it to show up at
8576 &lt;a href=&quot;http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org&quot;&gt;the
8577 list of usertagged bugs related to this&lt;/a&gt;.&lt;/p&gt;
8578
8579 &lt;p&gt;Update: Correct bug number to file-rc issue.&lt;/p&gt;
8580 </description>
8581 </item>
8582
8583 <item>
8584 <title>More flexible firmware handling in debian-installer</title>
8585 <link>http://people.skolelinux.org/pere/blog/More_flexible_firmware_handling_in_debian_installer.html</link>
8586 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/More_flexible_firmware_handling_in_debian_installer.html</guid>
8587 <pubDate>Sat, 22 May 2010 21:30:00 +0200</pubDate>
8588 <description>&lt;p&gt;After a long break from debian-installer development, I finally
8589 found time today to return to the project. Having to spend less time
8590 working dependency based boot in debian, as it is almost complete now,
8591 definitely helped freeing some time.&lt;/p&gt;
8592
8593 &lt;p&gt;A while back, I ran into a problem while working on Debian Edu. We
8594 include some firmware packages on the Debian Edu CDs, those needed to
8595 get disk and network controllers working. Without having these
8596 firmware packages available during installation, it is impossible to
8597 install Debian Edu on the given machine, and because our target group
8598 are non-technical people, asking them to provide firmware packages on
8599 an external medium is a support pain. Initially, I expected it to be
8600 enough to include the firmware packages on the CD to get
8601 debian-installer to find and use them. This proved to be wrong.
8602 Next, I hoped it was enough to symlink the relevant firmware packages
8603 to some useful location on the CD (tried /cdrom/ and
8604 /cdrom/firmware/). This also proved to not work, and at this point I
8605 found time to look at the debian-installer code to figure out what was
8606 going to work.&lt;/p&gt;
8607
8608 &lt;p&gt;The firmware loading code is in the hw-detect package, and a closer
8609 look revealed that it would only look for firmware packages outside
8610 the installation media, so the CD was never checked for firmware
8611 packages. It would only check USB sticks, floppies and other
8612 &quot;external&quot; media devices. Today I changed it to also look in the
8613 /cdrom/firmware/ directory on the mounted CD or DVD, which should
8614 solve the problem I ran into with Debian edu. I also changed it to
8615 look in /firmware/, to make sure the installer also find firmware
8616 provided in the initrd when booting the installer via PXE, to allow us
8617 to provide the same feature in the PXE setup included in Debian
8618 Edu.&lt;/p&gt;
8619
8620 &lt;p&gt;To make sure firmware deb packages with a license questions are not
8621 activated without asking if the license is accepted, I extended
8622 hw-detect to look for preinst scripts in the firmware packages, and
8623 run these before activating the firmware during installation. The
8624 license question is asked using debconf in the preinst, so this should
8625 solve the issue for the firmware packages I have looked at so far.&lt;/p&gt;
8626
8627 &lt;p&gt;If you want to discuss the details of these features, please
8628 contact us on debian-boot@lists.debian.org.&lt;/p&gt;
8629 </description>
8630 </item>
8631
8632 <item>
8633 <title>Pieces of the roaming laptop puzzle in Debian</title>
8634 <link>http://people.skolelinux.org/pere/blog/Pieces_of_the_roaming_laptop_puzzle_in_Debian.html</link>
8635 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Pieces_of_the_roaming_laptop_puzzle_in_Debian.html</guid>
8636 <pubDate>Wed, 19 May 2010 19:00:00 +0200</pubDate>
8637 <description>&lt;p&gt;Today, the last piece of the puzzle for roaming laptops in Debian
8638 Edu finally entered the Debian archive. Today, the new
8639 &lt;a href=&quot;http://packages.qa.debian.org/libp/libpam-mklocaluser.html&quot;&gt;libpam-mklocaluser&lt;/a&gt;
8640 package was accepted. Two days ago, two other pieces was accepted
8641 into unstable. The
8642 &lt;a href=&quot;http://packages.qa.debian.org/p/pam-python.html&quot;&gt;pam-python&lt;/a&gt;
8643 package needed by libpam-mklocaluser, and the
8644 &lt;a href=&quot;http://packages.qa.debian.org/s/sssd.html&quot;&gt;sssd&lt;/a&gt; package
8645 passed NEW on Monday. In addition, the
8646 &lt;a href=&quot;http://packages.qa.debian.org/libp/libpam-ccreds.html&quot;&gt;libpam-ccreds&lt;/a&gt;
8647 package we need is in experimental (version 10-4) since Saturday, and
8648 hopefully will be moved to unstable soon.&lt;/p&gt;
8649
8650 &lt;p&gt;This collection of packages allow for two different setups for
8651 roaming laptops. The traditional setup would be using libpam-ccreds,
8652 nscd and libpam-mklocaluser with LDAP or Kerberos authentication,
8653 which should work out of the box if the configuration changes proposed
8654 for nscd in &lt;a href=&quot;http://bugs.debian.org/485282&quot;&gt;BTS report
8655 #485282&lt;/a&gt; is implemented. The alternative setup is to use sssd with
8656 libpam-mklocaluser to connect to LDAP or Kerberos and let sssd take
8657 care of the caching of passwords and group information.&lt;/p&gt;
8658
8659 &lt;p&gt;I have so far been unable to get sssd to work with the LDAP server
8660 at the University, but suspect the issue is some SSL/GnuTLS related
8661 problem with the server certificate. I plan to update the Debian
8662 package to version 1.2, which is scheduled for next week, and hope to
8663 find time to make sure the next release will include both the
8664 Debian/Ubuntu specific patches. Upstream is friendly and responsive,
8665 and I am sure we will find a good solution.&lt;/p&gt;
8666
8667 &lt;p&gt;The idea is to set up the roaming laptops to authenticate using
8668 LDAP or Kerberos and create a local user with home directory in /home/
8669 when a usre in LDAP logs in via KDM or GDM for the first time, and
8670 cache the password for offline checking, as well as caching group
8671 memberhips and other relevant LDAP information. The
8672 libpam-mklocaluser package was created to make sure the local home
8673 directory is in /home/, instead of /site/server/directory/ which would
8674 be the home directory if pam_mkhomedir was used. To avoid confusion
8675 with support requests and configuration, we do not want local laptops
8676 to have users in a path that is used for the same users home directory
8677 on the home directory servers.&lt;/p&gt;
8678
8679 &lt;p&gt;One annoying problem with gdm is that it do not show the PAM
8680 message passed to the user from libpam-mklocaluser when the local user
8681 is created. Instead gdm simply reject the login with some generic
8682 message. The message is shown in kdm, ssh and login, so I guess it is
8683 a bug in gdm. Have not investigated if there is some other message
8684 type that can be used instead to get gdm to also show the message.&lt;/p&gt;
8685
8686 &lt;p&gt;If you want to help out with implementing this for Debian Edu,
8687 please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
8688 </description>
8689 </item>
8690
8691 <item>
8692 <title>Parallellized boot is now the default in Debian/unstable</title>
8693 <link>http://people.skolelinux.org/pere/blog/Parallellized_boot_is_now_the_default_in_Debian_unstable.html</link>
8694 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Parallellized_boot_is_now_the_default_in_Debian_unstable.html</guid>
8695 <pubDate>Fri, 14 May 2010 22:40:00 +0200</pubDate>
8696 <description>&lt;p&gt;Since this evening, parallel booting is the default in
8697 Debian/unstable for machines using dependency based boot sequencing.
8698 Apparently the testing of concurrent booting has been wider than
8699 expected, if I am to believe the
8700 &lt;a href=&quot;http://lists.debian.org/debian-devel/2010/05/msg00122.html&quot;&gt;input
8701 on debian-devel@&lt;/a&gt;, and I concluded a few days ago to move forward
8702 with the feature this weekend, to give us some time to detect any
8703 remaining problems before Squeeze is frozen. If serious problems are
8704 detected, it is simple to change the default back to sequential boot.
8705 The upload of the new sysvinit package also activate a new upstream
8706 version.&lt;/p&gt;
8707
8708 More information about
8709 &lt;a href=&quot;http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot&quot;&gt;dependency
8710 based boot sequencing&lt;/a&gt; is available from the Debian wiki. It is
8711 currently possible to disable parallel booting when one run into
8712 problems caused by it, by adding this line to /etc/default/rcS:&lt;/p&gt;
8713
8714 &lt;blockquote&gt;&lt;pre&gt;
8715 CONCURRENCY=none
8716 &lt;/pre&gt;&lt;/blockquote&gt;
8717
8718 &lt;p&gt;If you report any problems with dependencies in init.d scripts to
8719 the BTS, please usertag the report to get it to show up at
8720 &lt;a href=&quot;http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org&quot;&gt;the
8721 list of usertagged bugs related to this&lt;/a&gt;.&lt;/p&gt;
8722 </description>
8723 </item>
8724
8725 <item>
8726 <title>Sitesummary tip: Listing MAC address of all clients</title>
8727 <link>http://people.skolelinux.org/pere/blog/Sitesummary_tip__Listing_MAC_address_of_all_clients.html</link>
8728 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Sitesummary_tip__Listing_MAC_address_of_all_clients.html</guid>
8729 <pubDate>Fri, 14 May 2010 21:10:00 +0200</pubDate>
8730 <description>&lt;p&gt;In the recent Debian Edu versions, the
8731 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/HowTo/SiteSummary&quot;&gt;sitesummary
8732 system&lt;/a&gt; is used to keep track of the machines in the school
8733 network. Each machine will automatically report its status to the
8734 central server after boot and once per night. The network setup is
8735 also reported, and using this information it is possible to get the
8736 MAC address of all network interfaces in the machines. This is useful
8737 to update the DHCP configuration.&lt;/p&gt;
8738
8739 &lt;p&gt;To give some idea how to use sitesummary, here is a one-liner to
8740 ist all MAC addresses of all machines reporting to sitesummary. Run
8741 this on the collector host:&lt;/p&gt;
8742
8743 &lt;blockquote&gt;&lt;pre&gt;
8744 perl -MSiteSummary -e &#39;for_all_hosts(sub { print join(&quot; &quot;, get_macaddresses(shift)), &quot;\n&quot;; });&#39;
8745 &lt;/pre&gt;&lt;/blockquote&gt;
8746
8747 &lt;p&gt;This will list all MAC addresses assosiated with all machine, one
8748 line per machine and with space between the MAC addresses.&lt;/p&gt;
8749
8750 &lt;p&gt;To allow system administrators easier job at adding static DHCP
8751 addresses for hosts, it would be possible to extend this to fetch
8752 machine information from sitesummary and update the DHCP and DNS
8753 tables in LDAP using this information. Such tool is unfortunately not
8754 written yet.&lt;/p&gt;
8755 </description>
8756 </item>
8757
8758 <item>
8759 <title>systemd, an interesting alternative to upstart</title>
8760 <link>http://people.skolelinux.org/pere/blog/systemd__an_interesting_alternative_to_upstart.html</link>
8761 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/systemd__an_interesting_alternative_to_upstart.html</guid>
8762 <pubDate>Thu, 13 May 2010 22:20:00 +0200</pubDate>
8763 <description>&lt;p&gt;The last few days a new boot system called
8764 &lt;a href=&quot;http://www.freedesktop.org/wiki/Software/systemd&quot;&gt;systemd&lt;/a&gt;
8765 has been
8766 &lt;a href=&quot;http://0pointer.de/blog/projects/systemd.html&quot;&gt;introduced&lt;/a&gt;
8767
8768 to the free software world. I have not yet had time to play around
8769 with it, but it seem to be a very interesting alternative to
8770 &lt;a href=&quot;http://upstart.ubuntu.com/&quot;&gt;upstart&lt;/a&gt;, and might prove to be
8771 a good alternative for Debian when we are able to switch to an event
8772 based boot system. Tollef is
8773 &lt;a href=&quot;http://bugs.debian.org/580814&quot;&gt;in the process&lt;/a&gt; of getting
8774 systemd into Debian, and I look forward to seeing how well it work. I
8775 like the fact that systemd handles init.d scripts with dependency
8776 information natively, allowing them to run in parallel where upstart
8777 at the moment do not.&lt;/p&gt;
8778
8779 &lt;p&gt;Unfortunately do systemd have the same problem as upstart regarding
8780 platform support. It only work on recent Linux kernels, and also need
8781 some new kernel features enabled to function properly. This means
8782 kFreeBSD and Hurd ports of Debian will need a port or a different boot
8783 system. Not sure how that will be handled if systemd proves to be the
8784 way forward.&lt;/p&gt;
8785
8786 &lt;p&gt;In the mean time, based on the
8787 &lt;a href=&quot;http://lists.debian.org/debian-devel/2010/05/msg00122.html&quot;&gt;input
8788 on debian-devel@&lt;/a&gt; regarding parallel booting in Debian, I have
8789 decided to enable full parallel booting as the default in Debian as
8790 soon as possible (probably this weekend or early next week), to see if
8791 there are any remaining serious bugs in the init.d dependencies. A
8792 new version of the sysvinit package implementing this change is
8793 already in experimental. If all go well, Squeeze will be released
8794 with parallel booting enabled by default.&lt;/p&gt;
8795 </description>
8796 </item>
8797
8798 <item>
8799 <title>Parallellizing the boot in Debian Squeeze - ready for wider testing</title>
8800 <link>http://people.skolelinux.org/pere/blog/Parallellizing_the_boot_in_Debian_Squeeze___ready_for_wider_testing.html</link>
8801 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Parallellizing_the_boot_in_Debian_Squeeze___ready_for_wider_testing.html</guid>
8802 <pubDate>Thu, 6 May 2010 23:25:00 +0200</pubDate>
8803 <description>&lt;p&gt;These days, the init.d script dependencies in Squeeze are quite
8804 complete, so complete that it is actually possible to run all the
8805 init.d scripts in parallell based on these dependencies. If you want
8806 to test your Squeeze system, make sure
8807 &lt;a href=&quot;http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot&quot;&gt;dependency
8808 based boot sequencing&lt;/a&gt; is enabled, and add this line to
8809 /etc/default/rcS:&lt;/p&gt;
8810
8811 &lt;blockquote&gt;&lt;pre&gt;
8812 CONCURRENCY=makefile
8813 &lt;/pre&gt;&lt;/blockquote&gt;
8814
8815 &lt;p&gt;That is it. It will cause sysv-rc to use the startpar tool to run
8816 scripts in parallel using the dependency information stored in
8817 /etc/init.d/.depend.boot, /etc/init.d/.depend.start and
8818 /etc/init.d/.depend.stop to order the scripts. Startpar is configured
8819 to try to start the kdm and gdm scripts as early as possible, and will
8820 start the facilities required by kdm or gdm as early as possible to
8821 make this happen.&lt;/p&gt;
8822
8823 &lt;p&gt;Give it a try, and see if you like the result. If some services
8824 fail to start properly, it is most likely because they have incomplete
8825 init.d script dependencies in their startup script (or some of their
8826 dependent scripts have incomplete dependencies). Report bugs and get
8827 the package maintainers to fix it. :)&lt;/p&gt;
8828
8829 &lt;p&gt;Running scripts in parallel could be the default in Debian when we
8830 manage to get the init.d script dependencies complete and correct. I
8831 expect we will get there in Squeeze+1, if we get manage to test and
8832 fix the remaining issues.&lt;/p&gt;
8833
8834 &lt;p&gt;If you report any problems with dependencies in init.d scripts to
8835 the BTS, please usertag the report to get it to show up at
8836 &lt;a href=&quot;http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org&quot;&gt;the
8837 list of usertagged bugs related to this&lt;/a&gt;.&lt;/p&gt;
8838 </description>
8839 </item>
8840
8841 <item>
8842 <title>Forcing new users to change their password on first login</title>
8843 <link>http://people.skolelinux.org/pere/blog/Forcing_new_users_to_change_their_password_on_first_login.html</link>
8844 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Forcing_new_users_to_change_their_password_on_first_login.html</guid>
8845 <pubDate>Sun, 2 May 2010 13:47:00 +0200</pubDate>
8846 <description>&lt;p&gt;One interesting feature in Active Directory, is the ability to
8847 create a new user with an expired password, and thus force the user to
8848 change the password on the first login attempt.&lt;/p&gt;
8849
8850 &lt;p&gt;I&#39;m not quite sure how to do that with the LDAP setup in Debian
8851 Edu, but did some initial testing with a local account. The account
8852 and password aging information is available in /etc/shadow, but
8853 unfortunately, it is not possible to specify an expiration time for
8854 passwords, only a maximum age for passwords.&lt;/p&gt;
8855
8856 &lt;p&gt;A freshly created account (using adduser test) will have these
8857 settings in /etc/shadow:&lt;/p&gt;
8858
8859 &lt;blockquote&gt;&lt;pre&gt;
8860 root@tjener:~# chage -l test
8861 Last password change : May 02, 2010
8862 Password expires : never
8863 Password inactive : never
8864 Account expires : never
8865 Minimum number of days between password change : 0
8866 Maximum number of days between password change : 99999
8867 Number of days of warning before password expires : 7
8868 root@tjener:~#
8869 &lt;/pre&gt;&lt;/blockquote&gt;
8870
8871 &lt;p&gt;The only way I could come up with to create a user with an expired
8872 account, is to change the date of the last password change to the
8873 lowest value possible (January 1th 1970), and the maximum password age
8874 to the difference in days between that date and today. To make it
8875 simple, I went for 30 years (30 * 365 = 10950) and January 2th (to
8876 avoid testing if 0 is a valid value).&lt;/p&gt;
8877
8878 &lt;p&gt;After using these commands to set it up, it seem to work as
8879 intended:&lt;/p&gt;
8880
8881 &lt;blockquote&gt;&lt;pre&gt;
8882 root@tjener:~# chage -d 1 test; chage -M 10950 test
8883 root@tjener:~# chage -l test
8884 Last password change : Jan 02, 1970
8885 Password expires : never
8886 Password inactive : never
8887 Account expires : never
8888 Minimum number of days between password change : 0
8889 Maximum number of days between password change : 10950
8890 Number of days of warning before password expires : 7
8891 root@tjener:~#
8892 &lt;/pre&gt;&lt;/blockquote&gt;
8893
8894 &lt;p&gt;So far I have tested this with ssh and console, and kdm (in
8895 Squeeze) login, and all ask for a new password before login in the
8896 user (with ssh, I was thrown out and had to log in again).&lt;/p&gt;
8897
8898 &lt;p&gt;Perhaps we should set up something similar for Debian Edu, to make
8899 sure only the user itself have the account password?&lt;/p&gt;
8900
8901 &lt;p&gt;If you want to comment on or help out with implementing this for
8902 Debian Edu, please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
8903
8904 &lt;p&gt;Update 2010-05-02 17:20: Paul Tötterman tells me on IRC that the
8905 shadow(8) page in Debian/testing now state that setting the date of
8906 last password change to zero (0) will force the password to be changed
8907 on the first login. This was not mentioned in the manual in Lenny, so
8908 I did not notice this in my initial testing. I have tested it on
8909 Squeeze, and &#39;&lt;tt&gt;chage -d 0 username&lt;/tt&gt;&#39; do work there. I have not
8910 tested it on Lenny yet.&lt;/p&gt;
8911
8912 &lt;p&gt;Update 2010-05-02-19:05: Jim Paris tells me via email that an
8913 equivalent command to expire a password is &#39;&lt;tt&gt;passwd -e
8914 username&lt;/tt&gt;&#39;, which insert zero into the date of the last password
8915 change.&lt;/p&gt;
8916 </description>
8917 </item>
8918
8919 <item>
8920 <title>Thoughts on roaming laptop setup for Debian Edu</title>
8921 <link>http://people.skolelinux.org/pere/blog/Thoughts_on_roaming_laptop_setup_for_Debian_Edu.html</link>
8922 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Thoughts_on_roaming_laptop_setup_for_Debian_Edu.html</guid>
8923 <pubDate>Wed, 28 Apr 2010 20:40:00 +0200</pubDate>
8924 <description>&lt;p&gt;For some years now, I have wondered how we should handle laptops in
8925 Debian Edu. The Debian Edu infrastructure is mostly designed to
8926 handle stationary computers, and less suited for computers that come
8927 and go.&lt;/p&gt;
8928
8929 &lt;p&gt;Now I finally believe I have an sensible idea on how to adjust
8930 Debian Edu for laptops, by introducing a new profile for them, for
8931 example called Roaming Workstations. Here are my thought on this.
8932 The setup would consist of the following:&lt;/p&gt;
8933
8934 &lt;ul&gt;
8935
8936 &lt;li&gt;During installation, the user name of the owner / primary user of
8937 the laptop is requested and a local home directory is set up for
8938 the user, with uid and gid information fetched from the LDAP
8939 server. This allow the user to work also when offline. The
8940 central home directory can be available in a subdirectory on
8941 request, for example mounted via CIFS. It could be mounted
8942 automatically when a user log in while on the Debian Edu network,
8943 and unmounted when the machine is taken away (network down,
8944 hibernate, etc), it can be set up to do automatic mounting on
8945 request (using autofs), or perhaps some GUI button on the desktop
8946 can be used to access it when needed. Perhaps it is enough to use
8947 the fish protocol in KDE?&lt;/li&gt;
8948
8949 &lt;li&gt;Password checking is set up to use LDAP or Kerberos
8950 authentication when the machine is on the Debian Edu network, and
8951 to cache the password for offline checking when the machine unable
8952 to reach the LDAP or Kerberos server. This can be done using
8953 &lt;a href=&quot;http://www.padl.com/OSS/pam_ccreds.html&quot;&gt;libpam-ccreds&lt;/a&gt;
8954 or the Fedora developed
8955 &lt;a href=&quot;https://fedoraproject.org/wiki/Features/SSSD&quot;&gt;System
8956 Security Services Daemon&lt;/a&gt; packages.&lt;/li&gt;
8957
8958 &lt;li&gt;File synchronisation with the central home directory is set up
8959 using a shared directory in both the local and the central home
8960 directory, using unison.&lt;/li&gt;
8961
8962 &lt;li&gt;Printing should be set up to print to all printers broadcasting
8963 their existence on the local network, and should then work out of
8964 the box with CUPS. For sites needing accurate printer quotas, some
8965 system with Kerberos authentication or printing via ssh could be
8966 implemented.&lt;/li&gt;
8967
8968 &lt;li&gt;For users that should have local root access to their laptop,
8969 sudo should be used to allow this to the local user.&lt;/li&gt;
8970
8971 &lt;li&gt;It would be nice if user and group information from LDAP is
8972 cached on the client, but given that there are entries for the
8973 local user and primary group in /etc/, it should not be needed.&lt;/li&gt;
8974
8975 &lt;/ul&gt;
8976
8977 &lt;p&gt;I believe all the pieces to implement this are in Debian/testing at
8978 the moment. If we work quickly, we should be able to get this ready
8979 in time for the Squeeze release to freeze. Some of the pieces need
8980 tweaking, like libpam-ccreds should get support for pam-auth-update
8981 (&lt;a href=&quot;http://bugs.debian.org/566718&quot;&gt;#566718&lt;/a&gt;) and nslcd (or
8982 perhaps debian-edu-config) should get some integration code to stop
8983 its daemon when the LDAP server is unavailable to avoid long timeouts
8984 when disconnected from the net. If we get Kerberos enabled, we need
8985 to make sure we avoid long timeouts there too.&lt;/p&gt;
8986
8987 &lt;p&gt;If you want to help out with implementing this for Debian Edu,
8988 please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
8989 </description>
8990 </item>
8991
8992 <item>
8993 <title>Great book: &quot;Content: Selected Essays on Technology, Creativity, Copyright, and the Future of the Future&quot;</title>
8994 <link>http://people.skolelinux.org/pere/blog/Great_book___Content__Selected_Essays_on_Technology__Creativity__Copyright__and_the_Future_of_the_Future_.html</link>
8995 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Great_book___Content__Selected_Essays_on_Technology__Creativity__Copyright__and_the_Future_of_the_Future_.html</guid>
8996 <pubDate>Mon, 19 Apr 2010 17:10:00 +0200</pubDate>
8997 <description>&lt;p&gt;The last few weeks i have had the pleasure of reading a
8998 thought-provoking collection of essays by Cory Doctorow, on topics
8999 touching copyright, virtual worlds, the future of man when the
9000 conscience mind can be duplicated into a computer and many more. The
9001 book titled &quot;Content: Selected Essays on Technology, Creativity,
9002 Copyright, and the Future of the Future&quot; is available with few
9003 restrictions on the web, for example from
9004 &lt;a href=&quot;http://craphound.com/content/&quot;&gt;his own site&lt;/a&gt;. I read the
9005 epub-version from
9006 &lt;a href=&quot;http://www.feedbooks.com/book/2883&quot;&gt;feedbooks&lt;/a&gt; using
9007 &lt;a href=&quot;http://www.fbreader.org/&quot;&gt;fbreader&lt;/a&gt; and my N810. I
9008 strongly recommend this book.&lt;/p&gt;
9009 </description>
9010 </item>
9011
9012 <item>
9013 <title>Kerberos for Debian Edu/Squeeze?</title>
9014 <link>http://people.skolelinux.org/pere/blog/Kerberos_for_Debian_Edu_Squeeze_.html</link>
9015 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Kerberos_for_Debian_Edu_Squeeze_.html</guid>
9016 <pubDate>Wed, 14 Apr 2010 17:20:00 +0200</pubDate>
9017 <description>&lt;p&gt;&lt;a href=&quot;http://www.nuug.no/aktiviteter/20100413-kerberos/&quot;&gt;Yesterdays
9018 NUUG presentation&lt;/a&gt; about Kerberos was inspiring, and reminded me
9019 about the need to start using Kerberos in Skolelinux. Setting up a
9020 Kerberos server seem to be straight forward, and if we get this in
9021 place a long time before the Squeeze version of Debian freezes, we
9022 have a chance to migrate Skolelinux away from NFSv3 for the home
9023 directories, and over to an architecture where the infrastructure do
9024 not have to trust IP addresses and machines, and instead can trust
9025 users and cryptographic keys instead.&lt;/p&gt;
9026
9027 &lt;p&gt;A challenge will be integration and administration. Is there a
9028 Kerberos implementation for Debian where one can control the
9029 administration access in Kerberos using LDAP groups? With it, the
9030 school administration will have to maintain access control using flat
9031 files on the main server, which give a huge potential for errors.&lt;/p&gt;
9032
9033 &lt;p&gt;A related question I would like to know is how well Kerberos and
9034 pam-ccreds (offline password check) work together. Anyone know?&lt;/p&gt;
9035
9036 &lt;p&gt;Next step will be to use Kerberos for access control in Lwat and
9037 Nagios. I have no idea how much work that will be to implement. We
9038 would also need to document how to integrate with Windows AD, as such
9039 shared network will require two Kerberos realms that need to cooperate
9040 to work properly.&lt;/p&gt;
9041
9042 &lt;p&gt;I believe a good start would be to start using Kerberos on the
9043 skolelinux.no machines, and this way get ourselves experience with
9044 configuration and integration. A natural starting point would be
9045 setting up ldap.skolelinux.no as the Kerberos server, and migrate the
9046 rest of the machines from PAM via LDAP to PAM via Kerberos one at the
9047 time.&lt;/p&gt;
9048
9049 &lt;p&gt;If you would like to contribute to get this working in Skolelinux,
9050 I recommend you to see the video recording from yesterdays NUUG
9051 presentation, and start using Kerberos at home. The video show show
9052 up in a few days.&lt;/p&gt;
9053 </description>
9054 </item>
9055
9056 <item>
9057 <title>After 6 years of waiting, the Xreset.d feature is implemented</title>
9058 <link>http://people.skolelinux.org/pere/blog/After_6_years_of_waiting__the_Xreset_d_feature_is_implemented.html</link>
9059 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/After_6_years_of_waiting__the_Xreset_d_feature_is_implemented.html</guid>
9060 <pubDate>Sat, 6 Mar 2010 18:15:00 +0100</pubDate>
9061 <description>&lt;p&gt;6 years ago, as part of the Debian Edu development I am involved
9062 in, I asked for a hook in the kdm and gdm setup to run scripts as root
9063 when the user log out. A bug was submitted against the xfree86-common
9064 package in 2004 (&lt;a href=&quot;http://bugs.debian.org/230422&quot;&gt;#230422&lt;/a&gt;),
9065 and revisited every time Debian Edu was working on a new release.
9066 Today, this finally paid off.&lt;/p&gt;
9067
9068 &lt;p&gt;The framework for this feature was today commited to the git
9069 repositry for the xorg package, and the git repository for xdm has
9070 been updated to use this framework. Next on my agenda is to make sure
9071 kdm and gdm also add code to use this framework.&lt;/p&gt;
9072
9073 &lt;p&gt;In Debian Edu, we want to ability to run commands as root when the
9074 user log out, to get rid of runaway processes and do general cleanup
9075 after a user. With this framework in place, we finally can do that in
9076 a generic way that work with all display managers using this
9077 framework. My goal is to get all display managers in Debian use it,
9078 similar to how they use the Xsession.d framework today.&lt;p&gt;
9079 </description>
9080 </item>
9081
9082 <item>
9083 <title>Debian Edu / Skolelinux based on Lenny released, work continues</title>
9084 <link>http://people.skolelinux.org/pere/blog/Debian_Edu___Skolelinux_based_on_Lenny_released__work_continues.html</link>
9085 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu___Skolelinux_based_on_Lenny_released__work_continues.html</guid>
9086 <pubDate>Thu, 11 Feb 2010 17:15:00 +0100</pubDate>
9087 <description>&lt;p&gt;On Tuesday, the Debian/Lenny based version of
9088 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux&lt;/a&gt; was finally
9089 shipped. This was a major leap forward for the project, and I am very
9090 pleased that we finally got the release wrapped up. Work on the first
9091 point release starts imediately, as we plan to get that one out a
9092 month after the major release, to include all fixes for bugs we found
9093 and fixed too late in the release process to include last Tuesday.&lt;/p&gt;
9094
9095 &lt;p&gt;Perhaps it even is time for some partying?&lt;/p&gt;
9096
9097 &lt;p&gt;After this first point release, my plan is to focus again on the
9098 next major release, based on Squeeze. We will try to get as many of
9099 the fixes we need into the official Debian packages before the freeze,
9100 and have just a few weeks or months to make it happen.&lt;/p&gt;
9101 </description>
9102 </item>
9103
9104 <item>
9105 <title>Automatic Munin and Nagios configuration</title>
9106 <link>http://people.skolelinux.org/pere/blog/Automatic_Munin_and_Nagios_configuration.html</link>
9107 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Automatic_Munin_and_Nagios_configuration.html</guid>
9108 <pubDate>Wed, 27 Jan 2010 15:15:00 +0100</pubDate>
9109 <description>&lt;p&gt;One of the new features in the next Debian/Lenny based release of
9110 Debian Edu/Skolelinux, which is scheduled for release in the next few
9111 days, is automatic configuration of the service monitoring system
9112 Nagios. The previous release had automatic configuration of trend
9113 analysis using Munin, and this Lenny based release take that a step
9114 further.&lt;/p&gt;
9115
9116 &lt;p&gt;When installing a Debian Edu Main-server, it is automatically
9117 configured as a Munin and Nagios server. In addition, it is
9118 configured to be a server for the
9119 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/HowTo/SiteSummary&quot;&gt;SiteSummary
9120 system&lt;/a&gt; I have written for use in Debian Edu. The SiteSummary
9121 system is inspired by a system used by the University of Oslo where I
9122 work. In short, the system provide a centralised collector of
9123 information about the computers on the network, and a client on each
9124 computer submitting information to this collector. This allow for
9125 automatic information on which packages are installed on each machine,
9126 which kernel the machines are using, what kind of configuration the
9127 packages got etc. This also allow us to automatically generate Munin
9128 and Nagios configuration.&lt;/p&gt;
9129
9130 &lt;p&gt;All computers reporting to the sitesummary collector with the
9131 munin-node package installed is automatically enabled as a Munin
9132 client and graphs from the statistics collected from that machine show
9133 up automatically on http://www/munin/ on the Main-server.&lt;/p&gt;
9134
9135 &lt;p&gt;All non-laptop computers reporting to the sitesummary collector are
9136 automatically monitored for network presence (ping and any network
9137 services detected). In addition, all computers (also laptops) with
9138 the nagios-nrpe-server package installed and configured the way
9139 sitesummary would configure it, are monitored for full disks, software
9140 raid status, swap free and other checks that need to run locally on
9141 the machine.&lt;/p&gt;
9142
9143 &lt;p&gt;The result is that the administrator on a school using Debian Edu
9144 based on Lenny will be able to check the health of his installation
9145 with one look at the Nagios settings, without having to spend any time
9146 keeping the Nagios configuration up-to-date.&lt;/p&gt;
9147
9148 &lt;p&gt;The only configuration one need to do to get Nagios up and running
9149 is to set the password used to get access via HTTP. The system
9150 administrator need to run &quot;&lt;tt&gt;htpasswd /etc/nagios3/htpasswd.users
9151 nagiosadmin&lt;/tt&gt;&quot; to create a nagiosadmin user and set a password for
9152 it to be able to log into the Nagios web pages. After that,
9153 everything is taken care of.&lt;/p&gt;
9154 </description>
9155 </item>
9156
9157 <item>
9158 <title>Relative popularity of document formats (MS Office vs. ODF)</title>
9159 <link>http://people.skolelinux.org/pere/blog/Relative_popularity_of_document_formats__MS_Office_vs__ODF_.html</link>
9160 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Relative_popularity_of_document_formats__MS_Office_vs__ODF_.html</guid>
9161 <pubDate>Wed, 12 Aug 2009 15:50:00 +0200</pubDate>
9162 <description>&lt;p&gt;Just for fun, I did a search right now on Google for a few file ODF
9163 and MS Office based formats (not to be mistaken for ISO or ECMA
9164 OOXML), to get an idea of their relative usage. I searched using
9165 &#39;filetype:odt&#39; and equvalent terms, and got these results:&lt;/P&gt;
9166
9167 &lt;table&gt;
9168 &lt;tr&gt;&lt;th&gt;Type&lt;/th&gt;&lt;th&gt;ODF&lt;/th&gt;&lt;th&gt;MS Office&lt;/th&gt;&lt;/tr&gt;
9169 &lt;tr&gt;&lt;td&gt;Tekst&lt;/td&gt; &lt;td&gt;odt:282000&lt;/td&gt; &lt;td&gt;docx:308000&lt;/td&gt;&lt;/tr&gt;
9170 &lt;tr&gt;&lt;td&gt;Presentasjon&lt;/td&gt; &lt;td&gt;odp:75600&lt;/td&gt; &lt;td&gt;pptx:183000&lt;/td&gt;&lt;/tr&gt;
9171 &lt;tr&gt;&lt;td&gt;Regneark&lt;/td&gt; &lt;td&gt;ods:26500 &lt;/td&gt; &lt;td&gt;xlsx:145000&lt;/td&gt;&lt;/tr&gt;
9172 &lt;/table&gt;
9173
9174 &lt;p&gt;Next, I added a &#39;site:no&#39; limit to get the numbers for Norway, and
9175 got these numbers:&lt;/p&gt;
9176
9177 &lt;table&gt;
9178 &lt;tr&gt;&lt;th&gt;Type&lt;/th&gt;&lt;th&gt;ODF&lt;/th&gt;&lt;th&gt;MS Office&lt;/th&gt;&lt;/tr&gt;
9179 &lt;tr&gt;&lt;td&gt;Tekst&lt;/td&gt; &lt;td&gt;odt:2480 &lt;/td&gt; &lt;td&gt;docx:4460&lt;/td&gt;&lt;/tr&gt;
9180 &lt;tr&gt;&lt;td&gt;Presentasjon&lt;/td&gt; &lt;td&gt;odp:299 &lt;/td&gt; &lt;td&gt;pptx:741&lt;/td&gt;&lt;/tr&gt;
9181 &lt;tr&gt;&lt;td&gt;Regneark&lt;/td&gt; &lt;td&gt;ods:187 &lt;/td&gt; &lt;td&gt;xlsx:372&lt;/td&gt;&lt;/tr&gt;
9182 &lt;/table&gt;
9183
9184 &lt;p&gt;I wonder how these numbers change over time.&lt;/p&gt;
9185
9186 &lt;p&gt;I am aware of Google returning different results and numbers based
9187 on where the search is done, so I guess these numbers will differ if
9188 they are conduced in another country. Because of this, I did the same
9189 search from a machine in California, USA, a few minutes after the
9190 search done from a machine here in Norway.&lt;/p&gt;
9191
9192
9193 &lt;table&gt;
9194 &lt;tr&gt;&lt;th&gt;Type&lt;/th&gt;&lt;th&gt;ODF&lt;/th&gt;&lt;th&gt;MS Office&lt;/th&gt;&lt;/tr&gt;
9195 &lt;tr&gt;&lt;td&gt;Tekst&lt;/td&gt; &lt;td&gt;odt:129000&lt;/td&gt; &lt;td&gt;docx:308000&lt;/td&gt;&lt;/tr&gt;
9196 &lt;tr&gt;&lt;td&gt;Presentasjon&lt;/td&gt; &lt;td&gt;odp:44200&lt;/td&gt; &lt;td&gt;pptx:93900&lt;/td&gt;&lt;/tr&gt;
9197 &lt;tr&gt;&lt;td&gt;Regneark&lt;/td&gt; &lt;td&gt;ods:26500 &lt;/td&gt; &lt;td&gt;xlsx:82400&lt;/td&gt;&lt;/tr&gt;
9198 &lt;/table&gt;
9199
9200 &lt;p&gt;And with &#39;site:no&#39;:
9201
9202 &lt;table&gt;
9203 &lt;tr&gt;&lt;th&gt;Type&lt;/th&gt;&lt;th&gt;ODF&lt;/th&gt;&lt;th&gt;MS Office&lt;/th&gt;&lt;/tr&gt;
9204 &lt;tr&gt;&lt;td&gt;Tekst&lt;/td&gt; &lt;td&gt;odt:2480&lt;/td&gt; &lt;td&gt;docx:3410&lt;/td&gt;&lt;/tr&gt;
9205 &lt;tr&gt;&lt;td&gt;Presentasjon&lt;/td&gt; &lt;td&gt;odp:175&lt;/td&gt; &lt;td&gt;pptx:604&lt;/td&gt;&lt;/tr&gt;
9206 &lt;tr&gt;&lt;td&gt;Regneark&lt;/td&gt; &lt;td&gt;ods:186 &lt;/td&gt; &lt;td&gt;xlsx:296&lt;/td&gt;&lt;/tr&gt;
9207 &lt;/table&gt;
9208
9209 &lt;p&gt;Interesting difference, not sure what to conclude from these
9210 numbers.&lt;/p&gt;
9211 </description>
9212 </item>
9213
9214 <item>
9215 <title>ISO still hope to fix OOXML</title>
9216 <link>http://people.skolelinux.org/pere/blog/ISO_still_hope_to_fix_OOXML.html</link>
9217 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/ISO_still_hope_to_fix_OOXML.html</guid>
9218 <pubDate>Sat, 8 Aug 2009 14:00:00 +0200</pubDate>
9219 <description>&lt;p&gt;According to &lt;a
9220 href=&quot;http://twerner.blogspot.com/2009/08/defects-of-office-open-xml.html&quot;&gt;a
9221 blog post from Torsten Werner&lt;/a&gt;, the current defect report for ISO
9222 29500 (ISO OOXML) is 809 pages. His interesting point is that the
9223 defect report is 71 pages more than the full ODF 1.1 specification.
9224 Personally I find it more interesting that ISO still believe ISO OOXML
9225 can be fixed in ISO. Personally, I believe it is broken beyon repair,
9226 and I completely lack any trust in ISO for being able to get anywhere
9227 close to solving the problems. I was part of the Norwegian committee
9228 involved in the OOXML fast track process, and was not impressed with
9229 Standard Norway and ISO in how they handled it.&lt;/p&gt;
9230
9231 &lt;p&gt;These days I focus on ODF instead, which seem like a specification
9232 with the future ahead of it. We are working in NUUG to organise a ODF
9233 seminar this autumn.&lt;/p&gt;
9234 </description>
9235 </item>
9236
9237 <item>
9238 <title>Debian has switched to dependency based boot sequencing</title>
9239 <link>http://people.skolelinux.org/pere/blog/Debian_has_switched_to_dependency_based_boot_sequencing.html</link>
9240 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_has_switched_to_dependency_based_boot_sequencing.html</guid>
9241 <pubDate>Mon, 27 Jul 2009 23:50:00 +0200</pubDate>
9242 <description>&lt;p&gt;Since this evening, with the upload of sysvinit version 2.87dsf-2,
9243 and the upload of insserv version 1.12.0-10 yesterday, Debian unstable
9244 have been migrated to using dependency based boot sequencing. This
9245 conclude work me and others have been doing for the last three days.
9246 It feels great to see this finally part of the default Debian
9247 installation. Now we just need to weed out the last few problems that
9248 are bound to show up, to get everything ready for Squeeze.&lt;/p&gt;
9249
9250 &lt;p&gt;The next step is migrating /sbin/init from sysvinit to upstart, and
9251 fixing the more fundamental problem of handing the event based
9252 non-predictable kernel in the early boot.&lt;/p&gt;
9253 </description>
9254 </item>
9255
9256 <item>
9257 <title>Taking over sysvinit development</title>
9258 <link>http://people.skolelinux.org/pere/blog/Taking_over_sysvinit_development.html</link>
9259 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Taking_over_sysvinit_development.html</guid>
9260 <pubDate>Wed, 22 Jul 2009 23:00:00 +0200</pubDate>
9261 <description>&lt;p&gt;After several years of frustration with the lack of activity from
9262 the existing sysvinit upstream developer, I decided a few weeks ago to
9263 take over the package and become the new upstream. The number of
9264 patches to track for the Debian package was becoming a burden, and the
9265 lack of synchronization between the distribution made it hard to keep
9266 the package up to date.&lt;/p&gt;
9267
9268 &lt;p&gt;On the new sysvinit team is the SuSe maintainer Dr. Werner Fink,
9269 and my Debian co-maintainer Kel Modderman. About 10 days ago, I made
9270 a new upstream tarball with version number 2.87dsf (for Debian, SuSe
9271 and Fedora), based on the patches currently in use in these
9272 distributions. We Debian maintainers plan to move to this tarball as
9273 the new upstream as soon as we find time to do the merge. Since the
9274 new tarball was created, we agreed with Werner at SuSe to make a new
9275 upstream project at &lt;a href=&quot;http://savannah.nongnu.org/&quot;&gt;Savannah&lt;/a&gt;, and continue
9276 development there. The project is registered and currently waiting
9277 for approval by the Savannah administrators, and as soon as it is
9278 approved, we will import the old versions from svn and continue
9279 working on the future release.&lt;/p&gt;
9280
9281 &lt;p&gt;It is a bit ironic that this is done now, when some of the involved
9282 distributions are moving to upstart as a syvinit replacement.&lt;/p&gt;
9283 </description>
9284 </item>
9285
9286 <item>
9287 <title>Debian boots quicker and quicker</title>
9288 <link>http://people.skolelinux.org/pere/blog/Debian_boots_quicker_and_quicker.html</link>
9289 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_boots_quicker_and_quicker.html</guid>
9290 <pubDate>Wed, 24 Jun 2009 21:40:00 +0200</pubDate>
9291 <description>&lt;p&gt;I spent Monday and tuesday this week in London with a lot of the
9292 people involved in the boot system on Debian and Ubuntu, to see if we
9293 could find more ways to speed up the boot system. This was an Ubuntu
9294 funded
9295 &lt;a href=&quot;https://wiki.ubuntu.com/FoundationsTeam/BootPerformance/DebianUbuntuSprint&quot;&gt;developer
9296 gathering&lt;/a&gt;. It was quite productive. We also discussed the future
9297 of boot systems, and ways to handle the increasing number of boot
9298 issues introduced by the Linux kernel becoming more and more
9299 asynchronous and event base. The Ubuntu approach using udev and
9300 upstart might be a good way forward. Time will show.&lt;/p&gt;
9301
9302 &lt;p&gt;Anyway, there are a few ways at the moment to speed up the boot
9303 process in Debian. All of these should be applied to get a quick
9304 boot:&lt;/p&gt;
9305
9306 &lt;ul&gt;
9307
9308 &lt;li&gt;Use dash as /bin/sh.&lt;/li&gt;
9309
9310 &lt;li&gt;Disable the init.d/hwclock*.sh scripts and make sure the hardware
9311 clock is in UTC.&lt;/li&gt;
9312
9313 &lt;li&gt;Install and activate the insserv package to enable
9314 &lt;a href=&quot;http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot&quot;&gt;dependency
9315 based boot sequencing&lt;/a&gt;, and enable concurrent booting.&lt;/li&gt;
9316
9317 &lt;/ul&gt;
9318
9319 These points are based on the Google summer of code work done by
9320 &lt;a href=&quot;http://initscripts-ng.alioth.debian.org/soc2006-bootsystem/&quot;&gt;Carlos
9321 Villegas&lt;/a&gt;.
9322
9323 &lt;p&gt;Support for makefile-style concurrency during boot was uploaded to
9324 unstable yesterday. When we tested it, we were able to cut 6 seconds
9325 from the boot sequence. It depend on very correct dependency
9326 declaration in all init.d scripts, so I expect us to find edge cases
9327 where the dependences in some scripts are slightly wrong when we start
9328 using this.&lt;/p&gt;
9329
9330 &lt;p&gt;On our IRC channel for this effort, #pkg-sysvinit, a new idea was
9331 introduced by Raphael Geissert today, one that could affect the
9332 startup speed as well. Instead of starting some scripts concurrently
9333 from rcS.d/ and another set of scripts from rc2.d/, it would be
9334 possible to run a of them in the same process. A quick way to test
9335 this would be to enable insserv and run &#39;mv /etc/rc2.d/S* /etc/rcS.d/;
9336 insserv&#39;. Will need to test if that work. :)&lt;/p&gt;
9337 </description>
9338 </item>
9339
9340 <item>
9341 <title>Two projects that have improved the quality of free software a lot</title>
9342 <link>http://people.skolelinux.org/pere/blog/Two_projects_that_have_improved_the_quality_of_free_software_a_lot.html</link>
9343 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Two_projects_that_have_improved_the_quality_of_free_software_a_lot.html</guid>
9344 <pubDate>Sat, 2 May 2009 15:00:00 +0200</pubDate>
9345 <description>&lt;p&gt;There are two software projects that have had huge influence on the
9346 quality of free software, and I wanted to mention both in case someone
9347 do not yet know them.&lt;/p&gt;
9348
9349 &lt;p&gt;The first one is &lt;a href=&quot;http://valgrind.org/&quot;&gt;valgrind&lt;/a&gt;, a
9350 tool to detect and expose errors in the memory handling of programs.
9351 It is easy to use, all one need to do is to run &#39;valgrind program&#39;,
9352 and it will report any problems on stdout. It is even better if the
9353 program include debug information. With debug information, it is able
9354 to report the source file name and line number where the problem
9355 occurs. It can report things like &#39;reading past memory block in file
9356 X line N, the memory block was allocated in file Y, line M&#39;, and
9357 &#39;using uninitialised value in control logic&#39;. This tool has made it
9358 trivial to investigate reproducible crash bugs in programs, and have
9359 reduced the number of this kind of bugs in free software a lot.
9360
9361 &lt;p&gt;The second one is
9362 &lt;a href=&quot;http://en.wikipedia.org/wiki/Coverity&quot;&gt;Coverity&lt;/a&gt; which is
9363 a source code checker. It is able to process the source of a program
9364 and find problems in the logic without running the program. It
9365 started out as the Stanford Checker and became well known when it was
9366 used to find bugs in the Linux kernel. It is now a commercial tool
9367 and the company behind it is running
9368 &lt;a href=&quot;http://www.scan.coverity.com/&quot;&gt;a community service&lt;/a&gt; for the
9369 free software community, where a lot of free software projects get
9370 their source checked for free. Several thousand defects have been
9371 found and fixed so far. It can find errors like &#39;lock L taken in file
9372 X line N is never released if exiting in line M&#39;, or &#39;the code in file
9373 Y lines O to P can never be executed&#39;. The projects included in the
9374 community service project have managed to get rid of a lot of
9375 reliability problems thanks to Coverity.&lt;/p&gt;
9376
9377 &lt;p&gt;I believe tools like this, that are able to automatically find
9378 errors in the source, are vital to improve the quality of software and
9379 make sure we can get rid of the crashing and failing software we are
9380 surrounded by today.&lt;/p&gt;
9381 </description>
9382 </item>
9383
9384 <item>
9385 <title>No patch is not better than a useless patch</title>
9386 <link>http://people.skolelinux.org/pere/blog/No_patch_is_not_better_than_a_useless_patch.html</link>
9387 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/No_patch_is_not_better_than_a_useless_patch.html</guid>
9388 <pubDate>Tue, 28 Apr 2009 09:30:00 +0200</pubDate>
9389 <description>&lt;p&gt;Julien Blache
9390 &lt;a href=&quot;http://blog.technologeek.org/2009/04/12/214&quot;&gt;claim that no
9391 patch is better than a useless patch&lt;/a&gt;. I completely disagree, as a
9392 patch allow one to discuss a concrete and proposed solution, and also
9393 prove that the issue at hand is important enough for someone to spent
9394 time on fixing it. No patch do not provide any of these positive
9395 properties.&lt;/p&gt;
9396 </description>
9397 </item>
9398
9399 <item>
9400 <title>Recording video from cron using VLC</title>
9401 <link>http://people.skolelinux.org/pere/blog/Recording_video_from_cron_using_VLC.html</link>
9402 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Recording_video_from_cron_using_VLC.html</guid>
9403 <pubDate>Sun, 5 Apr 2009 10:00:00 +0200</pubDate>
9404 <description>&lt;p&gt;One think I have wanted to figure out for a along time is how to
9405 run vlc from cron to do recording of video streams on the net. The
9406 task is trivial with mplayer, but I do not really trust the security
9407 of mplayer (it crashes too often on strange input), and thus prefer
9408 vlc. I finally found a way to do it today. I spent an hour or so
9409 searching the web for recipes and reading the documentation. The
9410 hardest part was to get rid of the GUI window, but after finding the
9411 dummy interface, the command line finally presented itself:&lt;/p&gt;
9412
9413 &lt;blockquote&gt;&lt;pre&gt;URL=http://www.ping.uio.no/video/rms-oslo_2009.ogg
9414 SAVEFILE=rms.ogg
9415 DISPLAY= vlc -q $URL \
9416 --sout=&quot;#duplicate{dst=std{access=file,url=&#39;$SAVEFILE&#39;},dst=nodisplay}&quot; \
9417 --intf=dummy&lt;/pre&gt;&lt;/blockquote&gt;
9418
9419 &lt;p&gt;The command stream the URL and store it in the SAVEFILE by
9420 duplicating the output stream to &quot;nodisplay&quot; and the file, using the
9421 dummy interface. The dummy interface and the nodisplay output make
9422 sure no X interface is needed.&lt;/p&gt;
9423
9424 &lt;p&gt;The cron job then need to start this job with the appropriate URL
9425 and file name to save, sleep for the duration wanted, and then kill
9426 the vlc process with SIGTERM. Here is a complete script
9427 &lt;tt&gt;vlc-record&lt;/tt&gt; to use from &lt;tt&gt;at&lt;/tt&gt; or &lt;tt&gt;cron&lt;/tt&gt;:&lt;/p&gt;
9428
9429 &lt;blockquote&gt;&lt;pre&gt;#!/bin/sh
9430 set -e
9431 URL=&quot;$1&quot;
9432 SAVEFILE=&quot;$2&quot;
9433 DURATION=&quot;$3&quot;
9434 DISPLAY= vlc -q &quot;$URL&quot; \
9435 --sout=&quot;#duplicate{dst=std{access=file,url=&#39;$SAVEFILE&#39;},dst=nodisplay}&quot; \
9436 --intf=dummy &lt; /dev/null &gt; /dev/null 2&gt;&amp;1 &amp;
9437 pid=$!
9438 sleep $DURATION
9439 kill $pid
9440 wait $pid&lt;/pre&gt;&lt;/blockquote&gt;
9441 </description>
9442 </item>
9443
9444 <item>
9445 <title>Standardize on protocols and formats, not vendors and applications</title>
9446 <link>http://people.skolelinux.org/pere/blog/Standardize_on_protocols_and_formats__not_vendors_and_applications.html</link>
9447 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Standardize_on_protocols_and_formats__not_vendors_and_applications.html</guid>
9448 <pubDate>Mon, 30 Mar 2009 11:50:00 +0200</pubDate>
9449 <description>&lt;p&gt;Where I work at the University of Oslo, one decision stand out as a
9450 very good one to form a long lived computer infrastructure. It is the
9451 simple one, lost by many in todays computer industry: Standardize on
9452 open network protocols and open exchange/storage formats, not applications.
9453 Applications come and go, while protocols and files tend to stay, and
9454 thus one want to make it easy to change application and vendor, while
9455 avoiding conversion costs and locking users to a specific platform or
9456 application.&lt;/p&gt;
9457
9458 &lt;p&gt;This approach make it possible to replace the client applications
9459 independently of the server applications. One can even allow users to
9460 use several different applications as long as they handle the selected
9461 protocol and format. In the normal case, only one client application
9462 is recommended and users only get help if they choose to use this
9463 application, but those that want to deviate from the easy path are not
9464 blocked from doing so.&lt;/p&gt;
9465
9466 &lt;p&gt;It also allow us to replace the server side without forcing the
9467 users to replace their applications, and thus allow us to select the
9468 best server implementation at any moment, when scale and resouce
9469 requirements change.&lt;/p&gt;
9470
9471 &lt;p&gt;I strongly recommend standardizing - on open network protocols and
9472 open formats, but I would never recommend standardizing on a single
9473 application that do not use open network protocol or open formats.&lt;/p&gt;
9474 </description>
9475 </item>
9476
9477 <item>
9478 <title>Returning from Skolelinux developer gathering</title>
9479 <link>http://people.skolelinux.org/pere/blog/Returning_from_Skolelinux_developer_gathering.html</link>
9480 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Returning_from_Skolelinux_developer_gathering.html</guid>
9481 <pubDate>Sun, 29 Mar 2009 21:00:00 +0200</pubDate>
9482 <description>&lt;p&gt;I&#39;m sitting on the train going home from this weekends Debian
9483 Edu/Skolelinux development gathering. I got a bit done tuning the
9484 desktop, and looked into the dynamic service location protocol
9485 implementation avahi. It look like it could be useful for us. Almost
9486 30 people participated, and I believe it was a great environment to
9487 get to know the Skolelinux system. Walter Bender, involved in the
9488 development of the Sugar educational platform, presented his stuff and
9489 also helped me improve my OLPC installation. He also showed me that
9490 his Turtle Art application can be used in standalone mode, and we
9491 agreed that I would help getting it packaged for Debian. As a
9492 standalone application it would be great for Debian Edu. We also
9493 tried to get the video conferencing working with two OLPCs, but that
9494 proved to be too hard for us. The application seem to need more work
9495 before it is ready for me. I look forward to getting home and relax
9496 now. :)&lt;/p&gt;
9497 </description>
9498 </item>
9499
9500 <item>
9501 <title>Time for new LDAP schemas replacing RFC 2307?</title>
9502 <link>http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html</link>
9503 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html</guid>
9504 <pubDate>Sun, 29 Mar 2009 20:30:00 +0200</pubDate>
9505 <description>&lt;p&gt;The state of standardized LDAP schemas on Linux is far from
9506 optimal. There is RFC 2307 documenting one way to store NIS maps in
9507 LDAP, and a modified version of this normally called RFC 2307bis, with
9508 some modifications to be compatible with Active Directory. The RFC
9509 specification handle the content of a lot of system databases, but do
9510 not handle DNS zones and DHCP configuration.&lt;/p&gt;
9511
9512 &lt;p&gt;In &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu/Skolelinux&lt;/a&gt;,
9513 we would like to store information about users, SMB clients/hosts,
9514 filegroups, netgroups (users and hosts), DHCP and DNS configuration,
9515 and LTSP configuration in LDAP. These objects have a lot in common,
9516 but with the current LDAP schemas it is not possible to have one
9517 object per entity. For example, one need to have at least three LDAP
9518 objects for a given computer, one with the SMB related stuff, one with
9519 DNS information and another with DHCP information. The schemas
9520 provided for DNS and DHCP are impossible to combine into one LDAP
9521 object. In addition, it is impossible to implement quick queries for
9522 netgroup membership, because of the way NIS triples are implemented.
9523 It just do not scale. I believe it is time for a few RFC
9524 specifications to cleam up this mess.&lt;/p&gt;
9525
9526 &lt;p&gt;I would like to have one LDAP object representing each computer in
9527 the network, and this object can then keep the SMB (ie host key), DHCP
9528 (mac address/name) and DNS (name/IP address) settings in one place.
9529 It need to be efficently stored to make sure it scale well.&lt;/p&gt;
9530
9531 &lt;p&gt;I would also like to have a quick way to map from a user or
9532 computer and to the net group this user or computer is a member.&lt;/p&gt;
9533
9534 &lt;p&gt;Active Directory have done a better job than unix heads like myself
9535 in this regard, and the unix side need to catch up. Time to start a
9536 new IETF work group?&lt;/p&gt;
9537 </description>
9538 </item>
9539
9540 <item>
9541 <title>Checking server hardware support status for Dell, HP and IBM servers</title>
9542 <link>http://people.skolelinux.org/pere/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html</link>
9543 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html</guid>
9544 <pubDate>Sat, 28 Feb 2009 23:50:00 +0100</pubDate>
9545 <description>&lt;p&gt;At work, we have a few hundred Linux servers, and with that amount
9546 of hardware it is important to keep track of when the hardware support
9547 contract expire for each server. We have a machine (and service)
9548 register, which until recently did not contain much useful besides the
9549 machine room location and contact information for the system owner for
9550 each machine. To make it easier for us to track support contract
9551 status, I&#39;ve recently spent time on extending the machine register to
9552 include information about when the support contract expire, and to tag
9553 machines with expired contracts to make it easy to get a list of such
9554 machines. I extended a perl script already being used to import
9555 information about machines into the register, to also do some screen
9556 scraping off the sites of Dell, HP and IBM (our majority of machines
9557 are from these vendors), and automatically check the support status
9558 for the relevant machines. This make the support status information
9559 easily available and I hope it will make it easier for the computer
9560 owner to know when to get new hardware or renew the support contract.
9561 The result of this work documented that 27% of the machines in the
9562 registry is without a support contract, and made it very easy to find
9563 them. 27% might seem like a lot, but I see it more as the case of us
9564 using machines a bit longer than the 3 years a normal support contract
9565 last, to have test machines and a platform for less important
9566 services. After all, the machines without a contract are working fine
9567 at the moment and the lack of contract is only a problem if any of
9568 them break down. When that happen, we can either fix it using spare
9569 parts from other machines or move the service to another old
9570 machine.&lt;/p&gt;
9571
9572 &lt;p&gt;I believe the code for screen scraping the Dell site was originally
9573 written by Trond Hasle Amundsen, and later adjusted by me and Morten
9574 Werner Forsbring. The HP scraping was written by me after reading a
9575 nice article in ;login: about how to use WWW::Mechanize, and the IBM
9576 scraping was written by me based on the Dell code. I know the HTML
9577 parsing could be done using nice libraries, but did not want to
9578 introduce more dependencies. This is the current incarnation:&lt;/p&gt;
9579
9580 &lt;pre&gt;
9581 use LWP::Simple;
9582 use POSIX;
9583 use WWW::Mechanize;
9584 use Date::Parse;
9585 [...]
9586 sub get_support_info {
9587 my ($machine, $model, $serial, $productnumber) = @_;
9588 my $str;
9589
9590 if ( $model =~ m/^Dell / ) {
9591 # fetch website from Dell support
9592 my $url = &quot;http://support.euro.dell.com/support/topics/topic.aspx/emea/shared/support/my_systems_info/no/details?c=no&amp;amp;cs=nodhs1&amp;amp;l=no&amp;amp;s=dhs&amp;amp;ServiceTag=$serial&quot;;
9593 my $webpage = get($url);
9594 return undef unless ($webpage);
9595
9596 my $daysleft = -1;
9597 my @lines = split(/\n/, $webpage);
9598 foreach my $line (@lines) {
9599 next unless ($line =~ m/Beskrivelse/);
9600 $line =~ s/&amp;lt;[^&gt;]+?&gt;/;/gm;
9601 $line =~ s/^.+?;(Beskrivelse;)/$1/;
9602
9603 my @f = split(/\;/, $line);
9604 @f = @f[13 .. $#f];
9605 my $lastend = &quot;&quot;;
9606 while ($f[3] eq &quot;DELL&quot;) {
9607 my ($type, $startstr, $endstr, $days) = @f[0, 5, 7, 10];
9608
9609 my $start = POSIX::strftime(&quot;%Y-%m-%d&quot;,
9610 localtime(str2time($startstr)));
9611 my $end = POSIX::strftime(&quot;%Y-%m-%d&quot;,
9612 localtime(str2time($endstr)));
9613 $str .= &quot;$type $start -&gt; $end &quot;;
9614 @f = @f[14 .. $#f];
9615 $lastend = $end if ($end gt $lastend);
9616 }
9617 my $today = POSIX::strftime(&quot;%Y-%m-%d&quot;, localtime(time));
9618 tag_machine_unsupported($machine)
9619 if ($lastend lt $today);
9620 }
9621 } elsif ( $model =~ m/^HP / ) {
9622 my $mech = WWW::Mechanize-&gt;new();
9623 my $url =
9624 &#39;http://www1.itrc.hp.com/service/ewarranty/warrantyInput.do&#39;;
9625 $mech-&gt;get($url);
9626 my $fields = {
9627 &#39;BODServiceID&#39; =&gt; &#39;NA&#39;,
9628 &#39;RegisteredPurchaseDate&#39; =&gt; &#39;&#39;,
9629 &#39;country&#39; =&gt; &#39;NO&#39;,
9630 &#39;productNumber&#39; =&gt; $productnumber,
9631 &#39;serialNumber1&#39; =&gt; $serial,
9632 };
9633 $mech-&gt;submit_form( form_number =&gt; 2,
9634 fields =&gt; $fields );
9635 # Next step is screen scraping
9636 my $content = $mech-&gt;content();
9637
9638 $content =~ s/&amp;lt;[^&gt;]+?&gt;/;/gm;
9639 $content =~ s/\s+/ /gm;
9640 $content =~ s/;\s*;/;;/gm;
9641 $content =~ s/;[\s;]+/;/gm;
9642
9643 my $today = POSIX::strftime(&quot;%Y-%m-%d&quot;, localtime(time));
9644
9645 while ($content =~ m/;Warranty Type;/) {
9646 my ($type, $status, $startstr, $stopstr) = $content =~
9647 m/;Warranty Type;([^;]+);.+?;Status;(\w+);Start Date;([^;]+);End Date;([^;]+);/;
9648 $content =~ s/^.+?;Warranty Type;//;
9649 my $start = POSIX::strftime(&quot;%Y-%m-%d&quot;,
9650 localtime(str2time($startstr)));
9651 my $end = POSIX::strftime(&quot;%Y-%m-%d&quot;,
9652 localtime(str2time($stopstr)));
9653
9654 $str .= &quot;$type ($status) $start -&gt; $end &quot;;
9655
9656 tag_machine_unsupported($machine)
9657 if ($end lt $today);
9658 }
9659 } elsif ( $model =~ m/^IBM / ) {
9660 # This code ignore extended support contracts.
9661 my ($producttype) = $model =~ m/.*-\[(.{4}).+\]-/;
9662 if ($producttype &amp;amp;&amp;amp; $serial) {
9663 my $content =
9664 get(&quot;http://www-947.ibm.com/systems/support/supportsite.wss/warranty?action=warranty&amp;amp;brandind=5000008&amp;amp;Submit=Submit&amp;amp;type=$producttype&amp;amp;serial=$serial&quot;);
9665 if ($content) {
9666 $content =~ s/&amp;lt;[^&gt;]+?&gt;/;/gm;
9667 $content =~ s/\s+/ /gm;
9668 $content =~ s/;\s*;/;;/gm;
9669 $content =~ s/;[\s;]+/;/gm;
9670
9671 $content =~ s/^.+?;Warranty status;//;
9672 my ($status, $end) = $content =~ m/;Warranty status;([^;]+)\s*;Expiration date;(\S+) ;/;
9673
9674 $str .= &quot;($status) -&gt; $end &quot;;
9675
9676 my $today = POSIX::strftime(&quot;%Y-%m-%d&quot;, localtime(time));
9677 tag_machine_unsupported($machine)
9678 if ($end lt $today);
9679 }
9680 }
9681 }
9682 return $str;
9683 }
9684 &lt;/pre&gt;
9685
9686 &lt;p&gt;Here are some examples on how to use the function, using fake
9687 serial numbers. The information passed in as arguments are fetched
9688 from dmidecode.&lt;/p&gt;
9689
9690 &lt;pre&gt;
9691 print get_support_info(&quot;hp.host&quot;, &quot;HP ProLiant BL460c G1&quot;, &quot;1234567890&quot;
9692 &quot;447707-B21&quot;);
9693 print get_support_info(&quot;dell.host&quot;, &quot;Dell Inc. PowerEdge 2950&quot;, &quot;1234567&quot;);
9694 print get_support_info(&quot;ibm.host&quot;, &quot;IBM eserver xSeries 345 -[867061X]-&quot;,
9695 &quot;1234567&quot;);
9696 &lt;/pre&gt;
9697
9698 &lt;p&gt;I would recommend this approach for tracking support contracts for
9699 everyone with more than a few computers to administer. :)&lt;/p&gt;
9700
9701 &lt;p&gt;Update 2009-03-06: The IBM page do not include extended support
9702 contracts, so it is useless in that case. The original Dell code do
9703 not handle extended support contracts either, but has been updated to
9704 do so.&lt;/p&gt;
9705 </description>
9706 </item>
9707
9708 <item>
9709 <title>Using bar codes at a computing center</title>
9710 <link>http://people.skolelinux.org/pere/blog/Using_bar_codes_at_a_computing_center.html</link>
9711 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Using_bar_codes_at_a_computing_center.html</guid>
9712 <pubDate>Fri, 20 Feb 2009 08:50:00 +0100</pubDate>
9713 <description>&lt;p&gt;At work with the University of Oslo, we have several hundred computers
9714 in our computing center. This give us a challenge in tracking the
9715 location and cabling of the computers, when they are added, moved and
9716 removed. Some times the location register is not updated when a
9717 computer is inserted or moved and we then have to search the room for
9718 the &quot;missing&quot; computer.&lt;/p&gt;
9719
9720 &lt;p&gt;In the last issue of Linux Journal, I came across a project
9721 &lt;a href=&quot;http://www.libdmtx.org/&quot;&gt;libdmtx&lt;/a&gt; to write and read bar
9722 code blocks as defined in the
9723 &lt;a href=&quot;http://en.wikipedia.org/wiki/Data_Matrix&quot;&gt;The Data Matrix
9724 Standard&lt;/a&gt;. This is bar codes that can be read with a normal
9725 digital camera, for example that on a cell phone, and several such bar
9726 codes can be read by libdmtx from one picture. The bar code standard
9727 allow up to 2 KiB to be written in the tag. There is another project
9728 with &lt;a href=&quot;http://www.terryburton.co.uk/barcodewriter/&quot;&gt;a bar code
9729 writer written in postscript&lt;/a&gt; capable of creating such bar codes,
9730 but this was the first time I found a tool to read these bar
9731 codes.&lt;/p&gt;
9732
9733 &lt;p&gt;It occurred to me that this could be used to tag and track the
9734 machines in our computing center. If both racks and computers are
9735 tagged this way, we can use a picture of the rack and all its
9736 computers to detect the rack location of any computer in that rack.
9737 If we do this regularly for the entire room, we will find all
9738 locations, and can detect movements and removals.&lt;/p&gt;
9739
9740 &lt;p&gt;I decided to test if this would work in practice, and picked a
9741 random rack and tagged all the machines with their names. Next, I
9742 took pictures with my digital camera, and gave the dmtxread program
9743 these JPEG pictures to see how many tags it could read. This worked
9744 fairly well. If the pictures was well focused and not taken from the
9745 side, all tags in the image could be read. Because of limited space
9746 between the racks, I was unable to get a good picture of the entire
9747 rack, but could without problem read all tags from a picture covering
9748 about half the rack. I had to limit the search time used by dmtxread
9749 to 60000 ms to make sure it terminated in a reasonable time frame.&lt;/p&gt;
9750
9751 &lt;p&gt;My conclusion is that this could work, and we should probably look
9752 at adjusting our computer tagging procedures to use bar codes for
9753 easier automatic tracking of computers.&lt;/p&gt;
9754 </description>
9755 </item>
9756
9757 <item>
9758 <title>When web browser developers make a video player...</title>
9759 <link>http://people.skolelinux.org/pere/blog/When_web_browser_developers_make_a_video_player___.html</link>
9760 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/When_web_browser_developers_make_a_video_player___.html</guid>
9761 <pubDate>Sat, 17 Jan 2009 18:50:00 +0100</pubDate>
9762 <description>&lt;p&gt;As part of the work we do in &lt;a href=&quot;http://www.nuug.no&quot;&gt;NUUG&lt;/a&gt;
9763 to publish video recordings of our monthly presentations, we provide a
9764 page with embedded video for easy access to the recording. Putting a
9765 good set of HTML tags together to get working embedded video in all
9766 browsers and across all operating systems is not easy. I hope this
9767 will become easier when the &amp;lt;video&amp;gt; tag is implemented in all
9768 browsers, but I am not sure. We provide the recordings in several
9769 formats, MPEG1, Ogg Theora, H.264 and Quicktime, and want the
9770 browser/media plugin to pick one it support and use it to play the
9771 recording, using whatever embed mechanism the browser understand.
9772 There is at least four different tags to use for this, the new HTML5
9773 &amp;lt;video&amp;gt; tag, the &amp;lt;object&amp;gt; tag, the &amp;lt;embed&amp;gt; tag and
9774 the &amp;lt;applet&amp;gt; tag. All of these take a lot of options, and
9775 finding the best options is a major challenge.&lt;/p&gt;
9776
9777 &lt;p&gt;I just tested the experimental Opera browser available from &lt;a
9778 href=&quot;http://labs.opera.com&quot;&gt;labs.opera.com&lt;/a&gt;, to see how it handled
9779 a &amp;lt;video&amp;gt; tag with a few video sources and no extra attributes.
9780 I was not very impressed. The browser start by fetching a picture
9781 from the video stream. Not sure if it is the first frame, but it is
9782 definitely very early in the recording. So far, so good. Next,
9783 instead of streaming the 76 MiB video file, it start to download all
9784 of it, but do not start to play the video. This mean I have to wait
9785 for several minutes for the downloading to finish. When the download
9786 is done, the playing of the video do not start! Waiting for the
9787 download, but I do not get to see the video? Some testing later, I
9788 discover that I have to add the controls=&quot;true&quot; attribute to be able
9789 to get a play button to pres to start the video. Adding
9790 autoplay=&quot;true&quot; did not help. I sure hope this is a misfeature of the
9791 test version of Opera, and that future implementations of the
9792 &amp;lt;video&amp;gt; tag will stream recordings by default, or at least start
9793 playing when the download is done.&lt;/p&gt;
9794
9795 &lt;p&gt;The test page I used (since changed to add more attributes) is
9796 &lt;a href=&quot;http://www.nuug.no/aktiviteter/20090113-foredrag-om-foredrag/&quot;&gt;available
9797 from the nuug site&lt;/a&gt;. Will have to test it with the new Firefox
9798 too.&lt;/p&gt;
9799
9800 &lt;p&gt;In the test process, I discovered a missing feature. I was unable
9801 to find a way to get the URL of the playing video out of Opera, so I
9802 am not quite sure it picked the Ogg Theora version of the video. I
9803 sure hope it was using the announced Ogg Theora support. :)&lt;/p&gt;
9804 </description>
9805 </item>
9806
9807 <item>
9808 <title>Software video mixer on a USB stick</title>
9809 <link>http://people.skolelinux.org/pere/blog/Software_video_mixer_on_a_USB_stick.html</link>
9810 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Software_video_mixer_on_a_USB_stick.html</guid>
9811 <pubDate>Sun, 28 Dec 2008 15:40:00 +0100</pubDate>
9812 <description>&lt;p&gt;The &lt;a href=&quot;http://www.nuug.no/&quot;&gt;Norwegian Unix User Group&lt;/a&gt; is
9813 recording our montly presentation on video, and recently we have
9814 worked on improving the quality of the recordings by mixing the slides
9815 directly with the video stream. For this, we use the
9816 &lt;a href=&quot;http://dvswitch.alioth.debian.org/&quot;&gt;dvswitch&lt;/a&gt; package from
9817 the Debian video team. As this require quite one computer per video
9818 source, and NUUG do not have enough laptops available, we need to
9819 borrow laptops. And to avoid having to install extra software on
9820 these borrwed laptops, I have wrapped up all the programs needed on a
9821 bootable USB stick. The software required is dvswitch with assosiated
9822 source, sink and mixer applications and
9823 &lt;a href=&quot;http://www.kinodv.org/&quot;&gt;dvgrab&lt;/a&gt;. To allow this setup to
9824 work without any configuration, I&#39;ve patched dvswitch to use
9825 &lt;a href=&quot;http://www.avahi.org/&quot;&gt;avahi&lt;/a&gt; to connect the various parts
9826 together. And to allow us to use laptops without firewire plugs, I
9827 upgraded dvgrab to the one from Debian/unstable to get one that work
9828 with USB sources. We have not yet tested this setup in a production
9829 setup, but I hope it will work properly, and allow us to set up a
9830 video mixer in a very short time frame. We will need it for
9831 &lt;a href=&quot;http://www.goopen.no/&quot;&gt;Go Open 2009&lt;/a&gt;.&lt;/p&gt;
9832
9833 &lt;p&gt;&lt;a href=&quot;http://www.nuug.no/pub/video/bin/usbstick-dvswitch.img.gz&quot;&gt;The
9834 USB image&lt;/a&gt; is for a 1 GB memory stick, but can be used on any
9835 larger stick as well.&lt;/p&gt;
9836 </description>
9837 </item>
9838
9839 <item>
9840 <title>Devcamp brought us closer to the Lenny based Debian Edu release</title>
9841 <link>http://people.skolelinux.org/pere/blog/Devcamp_brought_us_closer_to_the_Lenny_based_Debian_Edu_release.html</link>
9842 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Devcamp_brought_us_closer_to_the_Lenny_based_Debian_Edu_release.html</guid>
9843 <pubDate>Sun, 7 Dec 2008 12:00:00 +0100</pubDate>
9844 <description>&lt;p&gt;This weekend we had a small developer gathering for Debian Edu in
9845 Oslo. Most of Saturday was used for the general assemly for the
9846 member organization, but the rest of the weekend I used to tune the
9847 LTSP installation. LTSP now work out of the box on the 10-network.
9848 Acer Aspire One proved to be a very nice thin client, with both
9849 screen, mouse and keybard in a small box. Was working on getting the
9850 diskless workstation setup configured out of the box, but did not
9851 finish it before the weekend was up.&lt;/p&gt;
9852
9853 &lt;p&gt;Did not find time to look at the 4 VGA cards in one box we got from
9854 the Brazilian group, so that will have to wait for the next
9855 development gathering. Would love to have the Debian Edu installer
9856 automatically detect and configure a multiseat setup when it find one
9857 of these cards.&lt;/p&gt;
9858 </description>
9859 </item>
9860
9861 <item>
9862 <title>The sorry state of multimedia browser plugins in Debian</title>
9863 <link>http://people.skolelinux.org/pere/blog/The_sorry_state_of_multimedia_browser_plugins_in_Debian.html</link>
9864 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_sorry_state_of_multimedia_browser_plugins_in_Debian.html</guid>
9865 <pubDate>Tue, 25 Nov 2008 00:10:00 +0100</pubDate>
9866 <description>&lt;p&gt;Recently I have spent some time evaluating the multimedia browser
9867 plugins available in Debian Lenny, to see which one we should use by
9868 default in Debian Edu. We need an embedded video playing plugin with
9869 control buttons to pause or stop the video, and capable of streaming
9870 all the multimedia content available on the web. The test results and
9871 notes are available on
9872 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/BrowserMultimedia&quot;&gt;the
9873 Debian wiki&lt;/a&gt;. I was surprised how few of the plugins are able to
9874 fill this need. My personal video player favorite, VLC, has a really
9875 bad plugin which fail on a lot of the test pages. A lot of the MIME
9876 types I would expect to work with any free software player (like
9877 video/ogg), just do not work. And simple formats like the
9878 audio/x-mplegurl format (m3u playlists), just isn&#39;t supported by the
9879 totem and vlc plugins. I hope the situation will improve soon. No
9880 wonder sites use the proprietary Adobe flash to play video.&lt;/p&gt;
9881
9882 &lt;p&gt;For Lenny, we seem to end up with the mplayer plugin. It seem to
9883 be the only one fitting our needs. :/&lt;/p&gt;
9884 </description>
9885 </item>
9886
9887 </channel>
9888 </rss>