]> pere.pagekite.me Git - homepage.git/blob - blog/tags/english/english.rss
b1d265867f45e446717e437c7943c3698e954f09
[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>Half way there with translated docbook version of Free Culture</title>
11 <link>http://people.skolelinux.org/pere/blog/Half_way_there_with_translated_docbook_version_of_Free_Culture.html</link>
12 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Half_way_there_with_translated_docbook_version_of_Free_Culture.html</guid>
13 <pubDate>Fri, 17 Aug 2012 21:50:00 +0200</pubDate>
14 <description>&lt;p&gt;In my spare time, I currently work on a Norwegian
15 &lt;a href=&quot;http://www.docbook.org/&quot;&gt;docbook&lt;/a&gt; version of the 2004 book
16 &lt;a href=&quot;http://free-culture.cc/&quot;&gt;Free Culture&lt;/a&gt; by Lawrence Lessig,
17 to get a Norwegian text explaining the problems with the copyright law
18 I can give to my parents and others that are reluctant to read an
19 English book. It is a marvellous set of examples on how the ever
20 expanding copyright regulations hurt culture and society. When the
21 translation is done, I hope to find funding to print and ship a copy
22 to all the members of the Norwegian parliament, before they sit down
23 to debate the latest revisions to the Norwegian copyright law. This
24 summer I
25 &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
26 for volunteers&lt;/a&gt; to help me, and I have been able to secure the
27 valuable contribution from at least one other Norwegian.&lt;/p&gt;
28
29 &lt;p&gt;Two days ago, we finally broke the 50% mark. Then more than 50% of
30 the number of strings to translate (normally paragraphs, but also
31 titles and index entries are also counted). All parts from the
32 beginning up to and including chapter four is translated. So is
33 chapters six, seven and the conclusion. I created a graph to show the
34 progress:&lt;/p&gt;
35
36 &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;
37
38 &lt;p&gt;The number of strings to translate increase as I insert the index
39 entries into the docbook. They were missing with the docbook version
40 I initially started with. There are still quite a few index entries
41 missing, but everyone starting with A, B, O, Z and Y are done. I
42 currently focus on completing the index entries, to get a complete
43 english version of the docbook source.&lt;/p&gt;
44
45 &lt;p&gt;There is still need for translators and people with docbook
46 knowledge, to be able to get a good looking book (I still struggle
47 with dblatex, xmlto and docbook-xsl) as well as to do the draft
48 translation and proof reading. And I would like the figures to be
49 redrawn as SVGs to make it easy to translate them. Any SVG master
50 around? I am sure there are some legal terms that are unfamiliar to
51 me. If you want to help, please get in touch, and check out the
52 project files currently available from &lt;a
53 href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;github&lt;/a&gt;.&lt;/p&gt;
54
55 &lt;p&gt;If you are curious what the translated book currently look like,
56 the updated
57 &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;
58 and
59 &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;
60 are published on github. The HTML version is published as well, but
61 github hand it out with MIME type text/plain, confusing browsers, so I
62 saw no point in linking to that version.&lt;/p&gt;
63 </description>
64 </item>
65
66 <item>
67 <title>Notes on language codes for Norwegian docbook processing...</title>
68 <link>http://people.skolelinux.org/pere/blog/Notes_on_language_codes_for_Norwegian_docbook_processing___.html</link>
69 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Notes_on_language_codes_for_Norwegian_docbook_processing___.html</guid>
70 <pubDate>Fri, 10 Aug 2012 21:00:00 +0200</pubDate>
71 <description>&lt;p&gt;In &lt;a href=&quot;http://www.docbook.org/&quot;&gt;docbook&lt;/a&gt; one can specify
72 the language used at the top, and the processing pipeline will use
73 this information to pick the correct translations for &#39;chapter&#39;, &#39;see
74 also&#39;, &#39;index&#39; etc. And for most languages used with docbook, I guess
75 this work just fine. For example a German user can start the document
76 with &amp;lt;book lang=&quot;de&quot;&amp;gt;, and the document will show up with the
77 correct content with any of the docbook processors. This is not the
78 case for the language
79 &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
80 am working with at the moment&lt;/a&gt;, Norwegian Bokmål.&lt;/p&gt;
81
82 &lt;p&gt;For a while, I was confused about which language code to use,
83 because I was unable to find any language code that would work across
84 all tools. I am currently testing dblatex, xmlto, docbook-xsl, and
85 dbtoepub, and they do not handle Norwegian Bokmål the same way. Some
86 of them do not handle it at all.&lt;/p&gt;
87
88 &lt;p&gt;A bit of background information is probably needed to understand
89 this mess. Norwegian is not one, but two written variants. The
90 variants are Norwegian Nynorsk and Norwegian Bokmål. There are three
91 two letter language codes associated with these languages, Norwegian
92 is &#39;no&#39;, Norwegian Nynorsk is &#39;nn&#39; and Norwegian Bokmål is &#39;nb&#39;.
93 Historically the &#39;no&#39; language code was used for Norwegian Bokmål, but
94 many years ago this was found to be å bad idea, and the recommendation
95 is to use the most specific language code instead, to avoid confusion.
96 In the transition period it is a good idea to make sure &#39;no&#39; was an
97 alias for &#39;nb&#39;.&lt;/p&gt;
98
99 &lt;p&gt;Back to docbook processing tools in Debian. The dblatex tool only
100 understand &#39;nn&#39;. There are translations for &#39;no&#39;, but not &#39;nb&#39; (BTS
101 &lt;a href=&quot;http://bugs.debian.org/684391&quot;&gt;#684391&lt;/a&gt;), but due to a bug
102 (BTS &lt;a href=&quot;http://bugs.debian.org/682936&quot;&gt;#682936&lt;/a&gt;) the &#39;no&#39;
103 language code is not recognised. The docbook-xsl tool chain only
104 recognise &#39;nn&#39; and &#39;nb&#39;, but not &#39;no&#39;. The xmlto tool only recognise
105 &#39;nn&#39; and &#39;nb&#39;, but not &#39;no&#39;. The end result that there is no language
106 code I can use to get the docbook file working with all of these tools
107 at the same time. :(&lt;/p&gt;
108
109 &lt;p&gt;The correct solution is to use &amp;lt;book lang=&quot;nb&quot;&amp;gt;, but it will
110 take time before that will work with all the free software docbook
111 processors. :(&lt;/p&gt;
112
113 &lt;p&gt;Oh, the joy of well integrated tools. :/&lt;/p&gt;
114 </description>
115 </item>
116
117 <item>
118 <title>Best way to create a docbook book?</title>
119 <link>http://people.skolelinux.org/pere/blog/Best_way_to_create_a_docbook_book_.html</link>
120 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Best_way_to_create_a_docbook_book_.html</guid>
121 <pubDate>Tue, 31 Jul 2012 22:00:00 +0200</pubDate>
122 <description>&lt;p&gt;I tried to send this text to the
123 &lt;a href=&quot;https://lists.oasis-open.org/archives/docbook-apps/&quot;&gt;docbook-apps
124 mailing list at lists.oasis-open.org&lt;/a&gt;, but it only accept messages
125 from subscribers and rejected my post, and I completely lack the
126 bandwidth required to subscribe to another mailing list, so instead I
127 try to post my message here and hope my blog readers can help me
128 out.&lt;/p&gt;
129
130 &lt;p&gt;I am quite new to docbook processing, and am climbing a steep
131 learning curve at the moment.&lt;/p&gt;
132
133 &lt;p&gt;To give you some background, I am working on a Norwegian
134 translation of the book Free Culture by Lawrence Lessig, and I use
135 docbook to handle the process. The files to build the book are
136 available from
137 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;github&lt;/a&gt;.
138 The book got around 400 pages with parts, images, footnotes, tables,
139 index entries etc, which has proven to be a challenge for the free
140 software docbook processors. My build platform is Debian GNU/Linux
141 Squeeze.&lt;/p&gt;
142
143 &lt;p&gt;I want to build PDF, EPUB and HTML version of the book, and have
144 tried different tool chains to do the conversion from docbook to these
145 formats. I am currently focusing on the PDF version, and have a few
146 problems.&lt;/p&gt;
147
148 &lt;ul&gt;
149
150 &lt;li&gt;Using dblatex, the &amp;lt;part&amp;gt; handling is not the way I want to,
151 as &amp;lt;/part&amp;gt; do not really end the &amp;lt;part&amp;gt;. (See
152 &lt;a href=&quot;http://bugs.debian.org/683166&quot;&gt;BTS report #683166&lt;/a&gt;), the
153 xetex backend (needed to process UTF-8) give incorrect hyphens in
154 index references spanning several pages (See
155 &lt;a href=&quot;http://bugs.debian.org/682901&quot;&gt;BTS report #682901&lt;/a&gt;), and
156 I am unable to get the norwegian template texts (See
157 &lt;a href=&quot;http://bugs.debian.org/682936&quot;&gt;BTS report #682936&lt;/a&gt;).&lt;/li&gt;
158
159 &lt;li&gt;Using straight xmlto fail with some latex error (See
160 &lt;a href=&quot;http://bugs.debian.org/683163&quot;&gt;BTS report
161 #683163&lt;/a&gt;).&lt;/li&gt;
162
163 &lt;li&gt;Using xmlto with the fop backend fail to handle images (do not
164 show up in the PDF), fail to handle a long footnote (overlap
165 footnote and text body, see
166 &lt;a href=&quot;http://bugs.debian.org/683197&quot;&gt;BTS report #683197&lt;/a&gt;), and
167 fail to create a correct index (some lack page ref, and the page
168 refs listed are not right).&lt;/li&gt;
169
170 &lt;li&gt;Using xmlto with the dblatex backend behave like dblatex.&lt;/li&gt;
171
172 &lt;li&gt;Using docbook-xls with xsltproc + fop have the same footnote and
173 index problems the xmlto + fop processing.&lt;/li&gt;
174
175 &lt;/ul&gt;
176
177 &lt;p&gt;So I wonder, what would be the best way to create the PDF version
178 of this book? Are some of the bugs found above solved in new or
179 experimental versions of some docbook tool chain?&lt;/p&gt;
180
181 &lt;p&gt;What about HTML and EPUB versions?&lt;/p&gt;
182 </description>
183 </item>
184
185 <item>
186 <title>Free Culture in Norwegian - 5 chapters done, 74 percent left to do</title>
187 <link>http://people.skolelinux.org/pere/blog/Free_Culture_in_Norwegian___5_chapters_done__74_percent_left_to_do.html</link>
188 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Free_Culture_in_Norwegian___5_chapters_done__74_percent_left_to_do.html</guid>
189 <pubDate>Sat, 21 Jul 2012 20:00:00 +0200</pubDate>
190 <description>&lt;p&gt;I reported earlier that I am working on
191 &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
192 norwegian version&lt;/a&gt; of the book
193 &lt;a href=&quot;http://free-culture.cc/&quot;&gt;Free Culture&lt;/a&gt; by Lawrence Lessig.
194 Progress is good, and yesterday I got a major contribution from Anders
195 Hagen Jarmund completing chapter six. The source files as well as a
196 PDF and EPUB version of this book are available from
197 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;github&lt;/a&gt;.&lt;/p&gt;
198
199 &lt;p&gt;I am happy to report that the draft for the first two chapters
200 (preface, introduction) is complete, and three other chapters are also
201 completely translated. This completes 26 percent of the number of
202 strings (equivalent to paragraphs) in the book, and there is thus 74
203 percent left to translate. A graph of the progress is present at the
204 bottom of the github project page. There is still room for more
205 contributors. Get in touch or send github pull requests with fixes if
206 you got time and are willing to help make this book make it to
207 print. :)&lt;/p&gt;
208
209 &lt;p&gt;The book translation framework could also be a good basis for other
210 translations, if you want the book to be available in your
211 language.&lt;/p&gt;
212 </description>
213 </item>
214
215 <item>
216 <title>Call for help from docbook expert to tag Free Culture by Lawrence Lessig</title>
217 <link>http://people.skolelinux.org/pere/blog/Call_for_help_from_docbook_expert_to_tag_Free_Culture_by_Lawrence_Lessig.html</link>
218 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Call_for_help_from_docbook_expert_to_tag_Free_Culture_by_Lawrence_Lessig.html</guid>
219 <pubDate>Mon, 16 Jul 2012 22:50:00 +0200</pubDate>
220 <description>&lt;p&gt;I am currently working on a
221 &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
222 to translate&lt;/a&gt; the book
223 &lt;a href=&quot;http://free-culture.cc/&quot;&gt;Free Culture&lt;/a&gt; by Lawrence Lessig
224 to Norwegian. And the source we base our translation on is the
225 &lt;a href=&quot;http://en.wikipedia.org/wiki/DocBook&quot;&gt;docbook&lt;/a&gt; version, to
226 allow us to use po4a and .po files to handle the translation, and for
227 this to work well the docbook source document need to be properly
228 tagged. The source files of this project is available from
229 &lt;a href=&quot;https://github.com/petterreinholdtsen/free-culture-lessig&quot;&gt;github&lt;/a&gt;.&lt;/p&gt;
230
231 &lt;p&gt;The problem is that the docbook source have flaws, and we have
232 no-one involved in the project that is a docbook expert. Is there a
233 docbook expert somewhere that is interested in helping us create a
234 well tagged docbook version of the book, and adjust our build process
235 for the PDF, EPUB and HTML version of the book? This will provide a
236 well tagged English version (our source document), and make it a lot
237 easier for us to create a good Norwegian version. If you can and want
238 to help, please get in touch with me or fork the github project and
239 send pull requests with fixes. :)&lt;/p&gt;
240 </description>
241 </item>
242
243 <item>
244 <title>Debian Edu interview: George Bredberg</title>
245 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__George_Bredberg.html</link>
246 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__George_Bredberg.html</guid>
247 <pubDate>Mon, 9 Jul 2012 00:30:00 +0200</pubDate>
248 <description>&lt;p&gt;The &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu /
249 Skolelinux&lt;/a&gt; project have users all over the globe, but until
250 recently we have not known about any users in Norway&#39;s neighbour
251 country Sweden. This changed when George Bredberg showed up in March
252 this year on the mailing list, asking interesting questions about how
253 to adjust and scale the just released
254 &lt;a href=&quot;http://www.debian.org/News/2012/20120311.html&quot;&gt;Debian Edu
255 Wheezy&lt;/a&gt; setup to his liking. He granted me an interview, and I am
256 happy to share his answers with you here.&lt;/p&gt;
257
258 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
259
260 &lt;p&gt;I&#39;m a 44 year old country guy that have been working 12 years at
261 the same school as 50% IT-manager and 50% Teacher. My educational
262 background is fil.kand in history and religious beliefs, an exam as a
263 &quot;folkhighschool&quot; teacher, that is, for teaching grownups. In
264 Norwegian I believe it&#39;s called &quot;Vuxenupplaring&quot;. I also have a master
265 in &quot;Technology and social change&quot;. So I&#39;m not really a tech guy, I
266 just like to study how humans and technology interact and that is my
267 perspective when working with IT.&lt;/p&gt;
268
269 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
270 project?&lt;/strong&gt;&lt;/p&gt;
271
272 I have followed the Skolelinux project for quite some time by
273 now. Earlier I tested out the K12-LTSP project, which we used for some
274 time, but I really like the idea of having a distribution aimed to be
275 a complete solution for schools with necessary tools integrated. When
276 K12-LTSP abandoned that idea some years ago, I started to look more
277 seriously into Skolelinux instead.
278
279 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
280 Edu?&lt;/strong&gt;&lt;/p&gt;
281
282 The big point of Skolelinux to me is that it is a complete
283 distribution, ready to install. It has LDAP-support, MS Windows
284 integration tools and so forth already configured, saving an
285 administrator a lot of time and headache. We were using another Linux
286 based thin-client system called Thinlinc, that has served us very
287 well. But that Skolelinux is based on VNC and LTSP, to me, is better
288 when it comes to the kind of multimedia used in schools. That is
289 showing videos from Youtube or educational TV. It is also easier to
290 mix thin clients with workstations, since the user settings will be the
291 same. In our VNC-based solution you had to &quot;beat around the bush&quot; by
292 setting up a second, hidden, home-directory for user settings for the
293 workstations, because they will be different from the ones used on the
294 thin clients. Skolelinux support for diskless workstations are very
295 convenient since a school today often need to use a class room
296 projector showing videos in full screen. That is easily done with a
297 small integrated media computer running as a diskless workstation. You
298 have only two installs to update and configure. One for the thin
299 clients and one for the workstations. Also saving a lot of time. Our
300 old system was also based on Redhat and CentOS. They are both very
301 nice distributions, but they are sometimes painfully slow when it
302 comes to updating multimedia support and multimedia programs (even
303 such as Gimp), leaving us with a bit &quot;oldish&quot; applications. Debian is
304 quicker to update.
305
306 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
307 Edu?&lt;/strong&gt;&lt;/p&gt;
308
309 &lt;p&gt;Debian is a bit too quick when it comes to updating. As an example
310 we use old HP terminals as thinclients, and two times already this
311 year (2012) the updates you get from the repositories has stopped
312 sound from working with them. It&#39;s a kernel/ALSA issue. So you have
313 to be more careful properly testing the updates before you run them in
314 a production environment. This has never happened with CentOS.&lt;/p&gt;
315
316 &lt;p&gt;I also would like to be able to set my own domain-settings at
317 install time. In Skolelinux they are kind of hard coded into the
318 distribution, when it comes to LDAP and at least samba integration.
319 That is more a cosmetic/translation issue, and not a real problem.
320 Running MS Windows applications within the Skolelinux environment needs
321 to be better supported. That is, running them seamlessly via RDP, and
322 support for single-sign on. That will make the transition to free
323 software easier, because you can keep the applications you really
324 need. No support will make it impossible if you work in a school where
325 some applications can&#39;t be open source. As for us we really need to
326 run Adobe InDesign in our journalist classes. We run a journalist
327 education, and is one of the very few non university ones that is ok:d
328 by Svenska journalistförbundet (Swedish journalist association). Our
329 education gives the pupils the right of membership there, once they
330 are done. This is important if you want to get a job.&lt;/p&gt;
331
332 &lt;p&gt;Adobe InDesign is the program most commonly used in newspapers and
333 magazines. We used Quark Express before, but they seem to loose there
334 market to Adobe. The only &quot;equivalent&quot; to InDesign in the opensource
335 world is Scribus, and its not advanced enough. At least not according
336 to the teacher. I think it would be possible to use it, because they
337 are not supposed to learn a program, they are supposed to learn how to
338 edit and compile a newspaper. But politically at our school we are not
339 there yet. And Scribus lacks a lot of things you find i InDesign.&lt;/p&gt;
340
341 &lt;p&gt;We used even a windows program for sound editing when it comes to
342 the radio-journalist part. The year to come we are going to try
343 Audacity. That software has the same kind of limitations compared to
344 Adobe Audition, but that teacher is a bit more open minded. We have
345 tried Ardour also, but that instead is more like a music studio
346 program, not intended for the kind of editing taking place in a radio
347 studio. Its way to complex and the GUI is to scattered when you only
348 want to cut, make pass-overs, add extra channels and normalise. Those
349 things you can do in Audacity, but its not as easy as in Audition. You
350 have to do more things manually with envelopes, and that is a bit old
351 fashion and timewasting. Its also harder to cut and move sound from
352 one channel to another, which is a thing that you do frequently
353 because you often find yourself needing to rearrange parts of the
354 sound file.&lt;/p&gt;
355
356 &lt;p&gt;So, I am not sure we will succeed in replacing even Audition, but we
357 will try. The problem is the students have certain expectations when
358 they start an education towards a profession. So the programs has to
359 look and feel professional. Good thing with radio, there are many
360 programs out there, that radio studios use, so its not as standardised
361 as Newspaper editing. That means, it does not really matter what
362 program they learn, because once they start working they still have to
363 learn the program the studio uses, so instead focus has to be to learn
364 the editing part without to much focus on a specific software.&lt;/p&gt;
365
366 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
367
368 &lt;p&gt;Myself I&#39;m running Linux Mint, or Ubuntu these days. I use almost
369 only open source software, and preferably Linux based. When it comes
370 to most used applications its OpenOffice, and Firefox (of course ;)
371 )&lt;/p&gt;
372
373 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
374 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
375
376 &lt;p&gt;To get schools to use free software there has to be good open
377 source software that are windows based, to ease the transition. But
378 it&#39;s also very important that the multimedia support is working
379 flawlessly. The problems with Youtube, Twitter, Facebook and whatever
380 will create problems when it comes to both teachers and
381 students. Economy are also important for schools, so using thin
382 clients, as long as they have good multimedia support, is a very good
383 idea. It&#39;s also important that the open source software works even for
384 the administration. It&#39;s hard to convince the teachers to stick with
385 open source, if the principal has to run Windows. It also creates a
386 problem if some classes has to use Windows for there tasks, since that
387 will create a difference in &quot;status&quot; between classes, so a good
388 support for running windows applications via the thin client (Linux)
389 desktop is essential. At least at our school, where we have mixed
390 level of educations, from high-school to journalist-school.&lt;/p&gt;
391
392 &lt;p&gt;Update 2012-07-09 08:30: Paul Wise tipped me on IRC about three
393 useful sources related to Free Software for radio stations: the LWN
394 article &lt;a href=&quot;https://lwn.net/Articles/481607/&quot;&gt;Radio station
395 management with Airtime&lt;/a&gt;,
396 &lt;a href=&quot;http://www.sourcefabric.org/en/airtime/&quot;&gt;Airtime&lt;/a&gt; which
397 claim to be a Free open source radio automation software and
398 &lt;a href=&quot;http://www.rivendellaudio.org/&quot;&gt;Rivendell&lt;/a&gt; which claim to
399 be complete radio broadcast automation solution. All of them seem
400 useful to the aspiring radio producer.&lt;/p&gt;
401 </description>
402 </item>
403
404 <item>
405 <title>Why do schools waste money on IT?</title>
406 <link>http://people.skolelinux.org/pere/blog/Why_do_schools_waste_money_on_IT_.html</link>
407 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Why_do_schools_waste_money_on_IT_.html</guid>
408 <pubDate>Sun, 8 Jul 2012 09:40:00 +0200</pubDate>
409 <description>&lt;p&gt;In the Debian Edu / Skolelinux project, we have realised that one
410 of the major blockers for the project success is the purchasing skills
411 in schools and municipalities. We provide what the happy users of
412 Debian Edu / Skolelinux say they need and to a lower cost than the
413 alternatives, and yet so few schools decide to use our solution. I
414 was pleased to discover the same observation done by mySociety and Tom
415 Steinberg in his blog post
416 &quot;&lt;a href=&quot;http://www.mysociety.org/2012/06/19/can-you-recognize-the-million-pound-chair/&quot;&gt;Can
417 you recognize the million pound chair?&lt;/a&gt;&quot;. Read it and weep for the
418 spending of your tax money.&lt;/p&gt;
419
420 &lt;p&gt;Of course there are other factors involved as well, like our
421 projects bad marketing skills and the Linux community fragmentation
422 causing worry with the people on the outside, so we as a project need
423 to keep working hard to gain users, but it is a up-hill battle when
424 public decision makers are unable to understand computer system
425 purchases.&lt;/p&gt;
426 </description>
427 </item>
428
429 <item>
430 <title>Free Timetabling Software - nice free software</title>
431 <link>http://people.skolelinux.org/pere/blog/Free_Timetabling_Software___nice_free_software.html</link>
432 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Free_Timetabling_Software___nice_free_software.html</guid>
433 <pubDate>Sat, 7 Jul 2012 09:50:00 +0200</pubDate>
434 <description>&lt;p&gt;Included in &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu /
435 Skolelinux&lt;/a&gt; is a large collection of end user and school specific
436 software. It is one of the packages not installed by default but
437 provided in the Debian archive for schools to install if they want to,
438 is a system to automatically plan the school time table using
439 information about available teachers, classes and rooms, combined with
440 the list of required courses and how many hours each topic should
441 receive. The software is
442
443 &lt;a href=&quot;http://lalescu.ro/liviu/fet/&quot;&gt;named FET&lt;/a&gt;, and it provide a
444 graphical user interface to input the required information, save the
445 result in a fairly simple XML format, and generate time tables for
446 both teachers and students. It is available both for
447 &lt;a href=&quot;http://lalescu.ro/liviu/fet/download.html&quot;&gt;Linux, MacOSX and
448 Windows&lt;/a&gt;.&lt;/p&gt;
449
450 &lt;p&gt;This is &lt;a href=&quot;http://lalescu.ro/liviu/fet/features.html&quot;&gt;the
451 feature list&lt;/a&gt;, liftet from the project web site:&lt;/p&gt;
452
453 &lt;p&gt;&lt;ul&gt;
454
455 &lt;li&gt;FET is free software, licensed under the GNU GPL v2 or later.
456 You can freely use, copy, modify and redistribute it &lt;/li&gt;
457
458 &lt;li&gt;Localized to en_US (US English, default), ar (Arabic), ca
459 (Catalan), da (Danish), de (German), el (Greek), es (Spanish), fa
460 (Persian), fr (French), gl (Galician), he (Hebrew), hu
461 (Hungarian), id (Indonesian), it (Italian), lt (Lithuanian), mk
462 (Macedonian), ms (Malay), nl (Dutch), pl (Polish), pt_BR
463 (Brazilian Portuguese), ro (Romanian), ru (Russian), si (Sinhala),
464 sk (Slovak), sr (Serbian), tr (Turkish), uk (Ukrainian), uz
465 (Uzbek) and vi (Vietnamese) (incompletely for some languages)
466 &lt;/li&gt;
467
468 &lt;li&gt;Fully automatic generation algorithm, allowing also
469 semi-automatic or manual allocation&lt;/li&gt;
470
471 &lt;li&gt;Platform independent implementation, allowing running on
472 GNU/Linux, Windows, Mac and any system that Qt supports &lt;/li&gt;
473
474 &lt;li&gt;Flexible modular XML format for the input file, allowing editing
475 with an XML editor or by hand (besides FET interface)&lt;/li&gt;
476
477 &lt;li&gt;Import/export from CSV format&lt;/li&gt;
478
479 &lt;li&gt;The resulted timetables are exported into HTML, XML and CSV
480 formats &lt;/li&gt;
481
482 &lt;li&gt;Flexible students structure, organized into sets: years, groups
483 and subgroups. FET allows overlapping years and groups and
484 non-overlapping subgroups. You can even define individual students
485 (as separate sets)&lt;/li&gt;
486
487 &lt;li&gt;Each constraint has a weight percentage, from 0.0% to 100.0%
488 (but some special constraints are allowed to have only 100% weight
489 percentage)&lt;/li&gt;
490
491 &lt;li&gt;Limits for the algorithm (all these limits can be increased on
492 demand, as a custom version, because this would require a bit more
493 memory):
494 &lt;ul&gt;
495 &lt;li&gt;Maximum total number of hours (periods) per day: 60&lt;/li&gt;
496 &lt;li&gt;Maximum number of working days per week: 35&lt;/li&gt;
497 &lt;li&gt;Maximum total number of teachers: 6000&lt;/li&gt;
498 &lt;li&gt;Maximum total number of sets of students: 30000&lt;/li&gt;
499 &lt;li&gt;Maximum total number of subjects: 6000&lt;/li&gt;
500 &lt;li&gt;Virtually unlimited number of activity tags&lt;/li&gt;
501 &lt;li&gt;Maximum number of activities: 30000&lt;/li&gt;
502 &lt;li&gt;Maximum number of rooms: 6000&lt;/li&gt;
503 &lt;li&gt;Maximum number of buildings: 6000&lt;/li&gt;
504 &lt;li&gt;Possibility of adding multiple teachers and
505 students sets for each activity. (it is possible
506 also to have no teachers or no students sets for an
507 activity)&lt;/li&gt;
508 &lt;li&gt;Virtually unlimited number of time constraints&lt;/li&gt;
509 &lt;li&gt;Virtually unlimited number of space constraints&lt;/li&gt;
510 &lt;/ul&gt;&lt;/li&gt;
511
512 &lt;li&gt;A large and flexible palette of time constraints:
513 &lt;ul&gt;
514 &lt;li&gt;Break periods&lt;/li&gt;
515 &lt;li&gt;For teacher(s):
516 &lt;ul&gt;
517 &lt;li&gt;Not available periods&lt;/li&gt;
518 &lt;li&gt;Max/min days per week&lt;/li&gt;
519 &lt;li&gt;Max gaps per day/week&lt;/li&gt;
520 &lt;li&gt;Max hours daily/continuously&lt;/li&gt;
521 &lt;li&gt;Min hours daily&lt;/li&gt;
522 &lt;li&gt;Max hours daily/continuously with an activity tag&lt;/li&gt;
523
524 &lt;li&gt;Respect working in an hourly interval a max number of
525 days per week&lt;/li&gt;
526 &lt;/ul&gt;&lt;/li&gt;
527 &lt;li&gt;For students (sets):
528 &lt;ul&gt;
529 &lt;li&gt;Not available periods&lt;/li&gt;
530 &lt;li&gt;Begins early (specify max allowed beginnings at second hour)&lt;/li&gt;
531 &lt;li&gt;Max gaps per day/week&lt;/li&gt;
532 &lt;li&gt;Max hours daily/continuously&lt;/li&gt;
533 &lt;li&gt;Min hours daily&lt;/li&gt;
534 &lt;li&gt;Max hours daily/continuously with an activity tag&lt;/li&gt;
535
536 &lt;li&gt;Respect working in an hourly interval a max number of
537 days per week&lt;/li&gt;
538 &lt;/ul&gt;&lt;/li&gt;
539 &lt;li&gt;For an activity or a set of activities/subactivities:
540 &lt;ul&gt;
541 &lt;li&gt;A single preferred starting time&lt;/li&gt;
542 &lt;li&gt;A set of preferred starting times&lt;/li&gt;
543 &lt;li&gt;A set of preferred time slots&lt;/li&gt;
544 &lt;li&gt;Min/max days between them&lt;/li&gt;
545 &lt;li&gt;End(s) students day&lt;/li&gt;
546 &lt;li&gt;Same starting time/day/hour&lt;/li&gt;
547 &lt;li&gt;Occupy max time slots from selection (a complex and
548 flexible constraint, useful in many situations)&lt;/li&gt;
549 &lt;li&gt;Consecutive, ordered, grouped (for 2 or 3 (sub)activities)&lt;/li&gt;
550 &lt;li&gt;Not overlapping&lt;/li&gt;
551 &lt;li&gt;Max simultaneous in selected time slots&lt;/li&gt;
552 &lt;li&gt;Min gaps between a set of (sub)activities&lt;/li&gt;
553 &lt;/ul&gt;&lt;/li&gt;
554 &lt;/ul&gt;&lt;/li&gt;
555
556 &lt;li&gt;A large and flexible palette of space constraints:
557 &lt;ul&gt;
558 &lt;li&gt;Room not available periods&lt;/li&gt;
559 &lt;li&gt;For teacher(s):
560 &lt;ul&gt;
561 &lt;li&gt;Home room(s)&lt;/li&gt;
562 &lt;li&gt;Max building changes per day/week&lt;/li&gt;
563 &lt;li&gt;Min gaps between building changes&lt;/li&gt;
564 &lt;/ul&gt;
565 &lt;/li&gt;
566
567 &lt;li&gt;For students (sets):
568 &lt;ul&gt;
569 &lt;li&gt;Home room(s)&lt;/li&gt;
570 &lt;li&gt;Max building changes per day/week&lt;/li&gt;
571 &lt;li&gt;Min gaps between building changes&lt;/li&gt;
572 &lt;/ul&gt;
573 &lt;/li&gt;
574 &lt;li&gt;Preferred room(s):
575 &lt;ul&gt;
576 &lt;li&gt;For a subject&lt;/li&gt;
577 &lt;li&gt;For an activity tag&lt;/li&gt;
578 &lt;li&gt;For a subject and an activity tag&lt;/li&gt;
579 &lt;li&gt;Individually for a (sub)activity&lt;/li&gt;
580 &lt;/ul&gt;
581 &lt;/li&gt;
582
583 &lt;li&gt;For a set of activities:
584 &lt;ul&gt;
585 &lt;li&gt;Occupy a maximum number of different rooms&lt;/li&gt;
586 &lt;/ul&gt;
587 &lt;/li&gt;
588 &lt;/ul&gt;
589 &lt;/li&gt;
590 &lt;/ul&gt;&lt;/p&gt;
591
592 &lt;p&gt;I have not used it myself, as I am not involved in time table
593 planning at a school, but it seem to work fine when I test it. If you
594 need to set up your schools time table, and is tired of doing it
595 manually, check it out.
596
597 A quick summary on how to use it can be found in
598 &lt;a href=&quot;http://marvelsoft.co.in/wp/2012/03/generate-timetable-for-state-cbse-icse-igcse-schools-free/&quot;&gt;a
599 blog post from MarvelSoft&lt;/a&gt;. If you find FET useful, please provide
600 a recipe for the Debian Edu project in the
601 &lt;a href=&quot;http://wiki.debian.org/DebianEdu#Howtos&quot;&gt;Debian Edu HowTo
602 section&lt;/a&gt;.&lt;/p&gt;
603 </description>
604 </item>
605
606 <item>
607 <title>Can Zimbra be told to send autoreplies to the From: address?</title>
608 <link>http://people.skolelinux.org/pere/blog/Can_Zimbra_be_told_to_send_autoreplies_to_the_From__address_.html</link>
609 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Can_Zimbra_be_told_to_send_autoreplies_to_the_From__address_.html</guid>
610 <pubDate>Tue, 3 Jul 2012 23:30:00 +0200</pubDate>
611 <description>&lt;p&gt;In the NUUG &lt;a href=&quot;http://www.fiksgatami.no/&quot;&gt;FiksGataMi&lt;/a&gt;
612 project (Norwegian version of
613 &lt;a href=&quot;http://www.fixmystreet.com/&quot;&gt;FixMyStreet&lt;/a&gt; from
614 &lt;a href=&quot;http://www.mysociety.org/&quot;&gt;mySociety&lt;/a&gt;), we have discovered
615 a problem with the municipalities using
616 &lt;a href=&quot;http://www.zimbra.com/&quot;&gt;Zimbra&lt;/a&gt;. When FiksGataMi send a
617 problem report to the government, the email From: address is set to
618 the address of the person reporting the problem, while envelope sender
619 is set to the FiksGataMi contact address. The intention is to make
620 sure the municipality send any replies to the person reporting the
621 problem, while any email delivery problems are sent to us in NUUG.
622 This work well in most cases, but not for Karmøy municipality using
623 Zimbra. Karmøy is using the vacation message function in Zimbra to
624 send an automatic reply to report that the message has been received,
625 and this message is sent to the envelope sender and not the address in
626 the From: header.&lt;/p&gt;
627
628 &lt;p&gt;This causes the automatic message from Karmøy to go to NUUGs
629 request-tracker instance instead of to the person reporting the
630 problem. We can not really change the envelope sender address, as
631 this would make it impossible for us to discover when there are
632 problems with the MTAs receiving problem reports. We have been in
633 contact with the people at Karmøy municipality, and they are willing
634 to adjust Zimbra if something can be changed there to get a better
635 behaviour.&lt;/p&gt;
636
637 &lt;p&gt;The default behaviour of Zimbra is as far as I can tell according
638 to the specification in RFC 3834, which recommend that vacation
639 messages are sent to the envelope sender and not to the From: address.
640 But I wonder if it is possible to adjust or configure Zimbra to behave
641 differently. Anyone know? Please let us know at
642 &lt;a href=&quot;http://lists.nuug.no/mailman/listinfo/fiksgatami&quot;&gt;fiksgatami
643 (at) nuug.no&lt;/a&gt;.&lt;/p&gt;
644 </description>
645 </item>
646
647 <item>
648 <title>Debian Edu interview: José Luis Redrejo Rodríguez</title>
649 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Jos__Luis_Redrejo_Rodr_guez.html</link>
650 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Jos__Luis_Redrejo_Rodr_guez.html</guid>
651 <pubDate>Tue, 26 Jun 2012 08:30:00 +0200</pubDate>
652 <description>&lt;p&gt;I&#39;ve been too busy at home, but finally I found time to wrap up
653 another interview with the people behind
654 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and Skolelinux&lt;/a&gt;.
655 This time we get to know José Luis Redrejo Rodríguez, one of our great
656 helpers from Spain. His effort was the reason we added support for
657 several desktop types (KDE, Gnome and most recently LXDE) in Debian
658 Edu, and have all of these available in the recently published
659 &lt;a href=&quot;http://www.debian.org/News/2012/20120311.html&quot;&gt;Debian Edu
660 Squeeze&lt;/a&gt; version.&lt;/p&gt;
661
662 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
663
664 &lt;p&gt;I&#39;m a father, teacher and engineer who is working for the Education
665 ministry of the Region of Extremadura (Spain) in the implementation of
666 ICT in schools&lt;/p&gt;
667
668 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
669 project?&lt;/strong&gt;&lt;/p&gt;
670
671 &lt;p&gt;At 2006, I verified that both, we in Extremadura and Skolelinux
672 project, had been working in parallel for some years, doing very
673 similar things, using very similar tools and with similar targets, so
674 I decided it was time to join forces as much as possible.&lt;/p&gt;
675
676 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
677 Edu?&lt;/strong&gt;&lt;/p&gt;
678
679 &lt;p&gt;A community of highly skilled experts working together, with a
680 really open schema of collaboration and work. I really love the
681 concepts of Do-ocracy and Merit-ocracy and the way these concepts are
682 been used everyday inside Debian Edu.&lt;/p&gt;
683
684 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
685 Edu?&lt;/strong&gt;&lt;/p&gt;
686
687 &lt;p&gt;Sometimes the differences in the implementations, laws or
688 economical and technical resources in the different countries don&#39;t
689 allow us to agree in the same solution for all of us, and several
690 approaches are needed, what is a waste of effort. Also, there is a
691 lack of more man power to be able to follow the fast evolution of the
692 technologies in school.&lt;/p&gt;
693
694 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
695
696 &lt;p&gt;Debian, of course, and due to my kind of job I am most of my time
697 between Iceweasel, &lt;a href=&quot;http://www.geany.org/&quot;&gt;Geany&lt;/a&gt; and
698 &lt;a href=&quot;http://www.ohloh.net/p/gnome-terminator&quot;&gt;Terminator&lt;/a&gt;.&lt;/p&gt;
699
700 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
701 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
702
703 &lt;p&gt;I think there is not a single strategy because there are very
704 different scenarios: schools with mixed proprietary and free
705 environments, schools using only workstations, other schools using
706 laptops, netbooks, tablets, interactive white-boards, etc.&lt;/p&gt;
707
708 &lt;p&gt;Also the range of ages of the students is very broad and you can
709 not use the same solutions for primary schools and secondary or even
710 universities. So different strategies are needed.&lt;/p&gt;
711
712 &lt;p&gt;But, looking at these differences, and looking back to the things
713 we&#39;ve done and implemented, and the places were we have spent most of
714 our forces, I think we should focus as much as possible in free
715 multi-platform environments, using only standards tools, and moving
716 more and more to Internet or network solutions that could be deployed
717 using wireless. I think we&#39;ll see more and more personal devices in
718 the schools, devices the students and teachers will take home with
719 them, so the solutions must be able to be taken at home and continue
720 working there.&lt;/p&gt;
721 </description>
722 </item>
723
724 <item>
725 <title>Song book for Computer Scientists</title>
726 <link>http://people.skolelinux.org/pere/blog/Song_book_for_Computer_Scientists.html</link>
727 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Song_book_for_Computer_Scientists.html</guid>
728 <pubDate>Sun, 24 Jun 2012 13:30:00 +0200</pubDate>
729 <description>&lt;p&gt;Many years ago, while studying Computer Science at the
730 &lt;a href=&quot;http://www.uit.no/&quot;&gt;University of Tromsø&lt;/a&gt;, I started
731 collecting computer related songs for use at parties. The original
732 version was written in LaTeX, but a few years ago I got help from
733 Håkon W. Lie, one of the inventors of W3C CSS, to convert it to HTML
734 while keeping the ability to create a nice book in PDF format. I have
735 not had time to maintain the book for a while now, and guess I should
736 put it up on some public version control repository where others can
737 help me extend and update the book. If anyone is volunteering to help
738 me with this, send me an email. Also let me know if there are songs
739 missing in my book.&lt;/p&gt;
740
741 &lt;p&gt;I have not mentioned the book on my blog so far, and it occured to
742 me today that I really should let all my readers share the joys of
743 singing out load about programming, computers and computer networks.
744 Especially now that &lt;a href=&quot;http://debconf12.debconf.org/&quot;&gt;Debconf
745 12&lt;/a&gt; is about to start (and I am not going). Want to sing? Check
746 out &lt;a href=&quot;http://www.hungry.com/~pere/cs-songbook/&quot;&gt;Petter&#39;s
747 Computer Science Songbook&lt;/a&gt;.
748 </description>
749 </item>
750
751 <item>
752 <title>Debian Edu - some ideas for the future versions</title>
753 <link>http://people.skolelinux.org/pere/blog/Debian_Edu___some_ideas_for_the_future_versions.html</link>
754 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu___some_ideas_for_the_future_versions.html</guid>
755 <pubDate>Mon, 11 Jun 2012 14:30:00 +0200</pubDate>
756 <description>&lt;p&gt;During my work on
757 &lt;a href=&quot;http://www.debian.org/News/2012/20120311.nb.html&quot;&gt;Debian Edu
758 based on Squeeze&lt;/a&gt;, I came across some issues that should be
759 addressed in the Wheezy release. I finally found time to wrap up my
760 notes and provide quick summary of what I found, with a bit
761 explanation.&lt;/p&gt;
762
763 &lt;p&gt;&lt;ul&gt;
764
765 &lt;li&gt;We need to rewrite our package installation framework, as tasksel
766 changed from using tasksel tasks to using meta packages (aka packages
767 with dependencies like our education-* packages), and our installation
768 system depend on tasksel tasks in
769 /usr/share/tasksel/debian-edu-tasks.desc for package
770 installation.&lt;/li&gt;
771
772 &lt;li&gt;Enable Kerberos login for more services. Now with the Kerberos
773 foundation in place, we should use it to get single sign on with more
774 services, and avoiding unneeded password / login questions. We should
775 at least try to enable it for these services:
776 &lt;ul&gt;
777
778 &lt;li&gt;CUPS for admins to add/configure printers and users when using
779 quotas.&lt;/li&gt;
780 &lt;li&gt;Nagios for admins checking the system status.&lt;/li&gt;
781 &lt;li&gt;GOsa for admins updating LDAP and users changing their passwords.&lt;/li&gt;
782 &lt;li&gt;LDAP for admins updating LDAP.&lt;/li&gt;
783 &lt;li&gt;Squid for users when exam mode / filtering is active.&lt;/li&gt;
784 &lt;li&gt;ssh for admins and users to save a password prompt.&lt;/li&gt;
785
786 &lt;/ul&gt;&lt;/li&gt;
787
788 &lt;li&gt;When we move GOsa to use Kerberos instead of LDAP bind to
789 authenticate users, we should try to block or at least limit access to
790 use LDAP bind for authentication, to ensure Kerberos is used when it
791 is intended, and nothing fall back to using the less safe LDAP bind&lt;/li&gt;
792
793 &lt;li&gt;Merge debian-edu-config and debian-edu-install. The split made
794 sense when d-e-install did a lot more, but these days it is just an
795 inconvenience when we update the debconf preseeding values.&lt;/li&gt;
796
797 &lt;li&gt;Fix partman-auto to allow us to abort the installation before
798 touching the disk if the disk is too small. This is
799 &lt;a href=&quot;http://bugs.debian.org/653305&quot;&gt;BTS report #653305&lt;/a&gt; and the
800 d-i developers are fine with the patch and someone just need to apply
801 it and upload. After this is done we need to adjust
802 debian-edu-install to use this new hook.&lt;/li&gt;
803
804 &lt;li&gt;Adjust to new LTSP framework (boot time config instead of install
805 time config). LTSP changed its design, and our hooks to install
806 packages and update the configuration is most likely not going to work
807 in Wheezy.
808
809 &lt;li&gt;Consider switching to NBD instead of NFS for LTSP root, to allow
810 the Kernel to cache files in its normal file cache, possibly speeding
811 up KDE login on slow networks.&lt;/li&gt;
812
813 &lt;li&gt;Make it possible to create expired user passwords that need to
814 change on first login. This is useful when handing out password on
815 paper, to make sure only the user know the password. This require
816 fixes to the PAM handling of kdm and gdm.&lt;/li&gt;
817
818 &lt;li&gt;Make GUI for adding new machines automatically from sitesummary.
819 The current command line script is not very friendly to people most
820 familiar with GUIs. This should probably be integrated into GOsa to
821 have it available where the admin will be looking for it..&lt;/li&gt;
822
823 &lt;li&gt;We should find way for Nagios to check that the DHCP service
824 actually is working (as in handling out IP addresses). None of the
825 Nagios checks I have found so far have been working for me.&lt;/li&gt;
826
827 &lt;li&gt;We should switch from libpam-nss-ldapd to sssd for all profiles
828 using LDAP, and not only on for roaming workstations, to have less
829 packages to configure and consistent setup across all profiles.&lt;/li&gt;
830
831 &lt;li&gt;We should configure Kerberos to update LDAP and Samba password
832 when changing password using the Kerberos protocol. The hook was
833 requested in &lt;a href=&quot;http://bugs.debian.org/588968&quot;&gt;BTS report
834 #588968&lt;/a&gt; and is now available in Wheezy. We might need to write a
835 MIT Kerberos plugin in C to get this.&lt;/li&gt;
836
837 &lt;li&gt;We should clean up the set of applications installed by default.
838 &lt;ul&gt;
839
840 &lt;li&gt;reduce the number of chemistry visualisers&lt;/li&gt;
841 &lt;li&gt;consider dropping xpaint&lt;/li&gt;
842 &lt;li&gt;and probably more?&lt;/li&gt;
843 &lt;/ul&gt;&lt;/li&gt;
844
845 &lt;li&gt;Some hardware need external firmware to work properly. This is
846 mostly the case for WiFi network cards, but there are some other
847 examples too. For popular laptops to work out of the box, such
848 firmware need to be installed from non-free, and we should provide
849 some GUI to do this. Ubuntu already have this implemented, and we
850 could consider using their packages. At the moment we have some
851 command line script to do this (one for the running system, another
852 for the LTSP chroot).&lt;/li&gt;
853
854
855 &lt;li&gt;In Squeeze, we provide KDE, Gnome and LXDE as desktop options. We
856 should extend the list to Xfce and Sugar, and preferably find a way to
857 install several and allow the admin or the user to select which one to
858 use.&lt;/li&gt;
859
860 &lt;li&gt;The golearn tool from the goplay package make it easy to check out
861 interesting educational packages. We should work on the package
862 tagging in Debian to ensure it represent all the useful educational
863 packages, and extend the tool to allow it to use packagekit to install
864 new applications with a simple mouse click.&lt;/li&gt;
865
866 &lt;li&gt;The Squeeze version got half a exam solution already in place,
867 with the introduction of iptable based network blocking, but for it to
868 be a complete exam solution the Squid proxy need to enable
869 filtering/blocking as well when the exam mode is enabled. We should
870 implement a way to easily enable this for the schools that want it,
871 instead of the &quot;it is documented&quot; method of today.&lt;/li&gt;
872
873 &lt;li&gt;A feature used in several schools is the ability for a teacher to
874 &quot;take over&quot; the desktop of individual or all computers in the room.
875 There are at least three implementations,
876 &lt;a href=&quot;italc.sourceforge.net/&quot;&gt;italc&lt;/a&gt;,
877 &lt;a href=&quot;http://www.itais.net/help/en/&quot;&gt;controlaula&lt;/a&gt; og
878 &lt;a href=&quot;http://www.epoptes.org/&quot;&gt;epoptes&lt;/a&gt; and we should pick one of
879 them and make it trivial to set it up in a school. The challenges is
880 how to distribute crypto keys and how to group computers in one room
881 and how to set up which machine/user can control the machines in a
882 given room.&lt;/li&gt;
883
884 &lt;li&gt;Tablets and surf boards are getting more and more popular, and we
885 should look into providing a good solution for integrating these into
886 the Debian Edu network. Not quite sure how. Perhaps we should
887 provide a installation profile with better touch screen support for
888 them, or add some sync services to allow them to exchange
889 configuration and data with the central server. This should be
890 investigated.&lt;/li&gt;
891
892 &lt;/ul&gt;&lt;/p&gt;
893
894 &lt;p&gt;I guess we will discover more as we continue to work on the Wheezy
895 version.&lt;/p&gt;
896 </description>
897 </item>
898
899 <item>
900 <title>TV with face recognition, for improved viewer experience</title>
901 <link>http://people.skolelinux.org/pere/blog/TV_with_face_recognition__for_improved_viewer_experience.html</link>
902 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/TV_with_face_recognition__for_improved_viewer_experience.html</guid>
903 <pubDate>Sat, 9 Jun 2012 22:00:00 +0200</pubDate>
904 <description>&lt;p&gt;Slashdot got a story about Intel planning a
905 &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
906 with face recognition&lt;/a&gt; to recognise the viewer, and it occurred to
907 me that it would be more interesting to turn it around, and do face
908 recognition on the TV image itself. It could let the viewer know who
909 is present on the screen, and perhaps look up their credibility,
910 company affiliation, previous appearances etc for the viewer to better
911 evaluate what is being said and done. That would be a feature I would
912 be willing to pay for.&lt;/p&gt;
913
914 &lt;p&gt;I would not be willing to pay for a TV that point a camera on my
915 household, like the big brother feature apparently proposed by Intel.
916 It is the telescreen idea fetched straight out of the book
917 &lt;a href=&quot;http://gutenberg.net.au/ebooks01/0100021.txt&quot;&gt;1984 by George
918 Orwell&lt;/a&gt;.&lt;/p&gt;
919 </description>
920 </item>
921
922 <item>
923 <title>Web service to look up HP and Dell computer hardware support status</title>
924 <link>http://people.skolelinux.org/pere/blog/Web_service_to_look_up_HP_and_Dell_computer_hardware_support_status.html</link>
925 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Web_service_to_look_up_HP_and_Dell_computer_hardware_support_status.html</guid>
926 <pubDate>Wed, 6 Jun 2012 23:15:00 +0200</pubDate>
927 <description>&lt;p&gt;A few days ago
928 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/SOAP_based_webservice_from_Dell_to_check_server_support_status.html&quot;&gt;I
929 reported how to get&lt;/a&gt; the support status out of Dell using an
930 unofficial and undocumented SOAP API, which I since have found out was
931 &lt;a href=&quot;http://lists.us.dell.com/pipermail/linux-poweredge/2012-February/045959.html&quot;&gt;discovered
932 by Daniel De Marco in february&lt;/a&gt;. Combined with my web scraping
933 code for HP, Dell and IBM
934 &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
935 2009&lt;/a&gt;, I got inspired and wrote
936 &lt;a href=&quot;https://views.scraperwiki.com/run/computer-hardware-support-status/&quot;&gt;a
937 web service&lt;/a&gt; based on Scraperwiki to make it easy to look up the
938 support status and get a machine readable result back.&lt;/p&gt;
939
940 &lt;p&gt;This is what it look like at the moment when asking for the JSON
941 output:
942
943 &lt;blockquote&gt;&lt;pre&gt;
944 % 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;
945 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;})
946 %
947 &lt;/pre&gt;&lt;/blockquote&gt;
948
949 &lt;p&gt;It currently support Dell and HP, and I am hoping for help to add
950 support for other vendors. The python source is available on
951 Scraperwiki and I welcome help with adding more features.&lt;/p&gt;
952 </description>
953 </item>
954
955 <item>
956 <title>Debian Edu interview: Mike Gabriel</title>
957 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Mike_Gabriel.html</link>
958 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Mike_Gabriel.html</guid>
959 <pubDate>Sat, 2 Jun 2012 15:00:00 +0200</pubDate>
960 <description>&lt;p&gt;Back in 2010, Mike Gabriel showed up on the
961 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and Skolelinux&lt;/a&gt;
962 mailing list. He quickly proved to be a valuable developer, and
963 thanks to his tireless effort we now have Kerberos integrated into the
964 &lt;a href=&quot;http://www.debian.org/News/2012/20120311.html&quot;&gt;Debian Edu
965 Squeeze&lt;/a&gt; version.&lt;/p&gt;
966
967 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
968
969 &lt;p&gt;My name is Mike Gabriel, I am 38 years old and live near Kiel,
970 Schleswig-Holstein, Germany. I live together with a wonderful partner
971 (Angela Fuß) and two own children and two bonus children (contributed
972 by Angela).&lt;/p&gt;
973
974 &lt;p&gt;During the day I am part-time employed as a system administrator
975 and part-time working as an IT consultant. The consultancy work
976 touches free software topics wherever and whenever possible. During
977 the nights I am a free software developer. In the gaps I also train in
978 becoming an osteopath.&lt;/p&gt;
979
980 &lt;p&gt;Starting in 2010 we (Andreas Buchholz, Angela Fuß, Mike Gabriel)
981 have set up a free software project in the area of Kiel that aims at
982 introducing free software into schools. The project&#39;s name is
983 &quot;IT-Zukunft Schule&quot; (IT future for schools). The project links IT
984 skills with communication skills.&lt;/p&gt;
985
986 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
987 project?&lt;/strong&gt;&lt;/p&gt;
988
989 &lt;p&gt;While preparing our own customised Linux distribution for
990 &quot;IT-Zukunft Schule&quot; we were repeatedly asked if we really wanted to
991 reinvent the wheel. What schools really need is already available,
992 people said. From this impulse we started evaluating other Linux
993 distributions that target being used for school networks.&lt;/p&gt;
994
995 &lt;p&gt;At the end we short-listed two approaches and compared them: a
996 commercial Linux distribution developed by a company in Bremen,
997 Germany, and Skolelinux / Debian Edu. Between 12/2010 and 03/2011 we
998 went to several events and met people being responsible for marketing
999 and development of either of the distributions. Skolelinux / Debian
1000 Edu was by far much more convincing compared to the other product that
1001 got short-listed beforehand--across the full spectrum. What was most
1002 attractive for me personally: the perspective of collaboration within
1003 the developmental branch of the Debian Edu project itself.&lt;/p&gt;
1004
1005 &lt;p&gt;In parallel with this, we talked to many local and not-so-local
1006 people. People teaching at schools, headmasters, politicians, data
1007 protection experts, other IT professionals.&lt;/p&gt;
1008
1009 &lt;p&gt;We came to two conclusions:&lt;/p&gt;
1010
1011 &lt;p&gt;First, a technical conclusion: What schools need is available in
1012 bits and pieces here and there, and none of the solutions really fit
1013 by 100%. Any school we have seen has a very individual IT setup
1014 whereas most of each school&#39;s requirements could mapped by a standard
1015 IT solution. The requirement to this IT solution is flexibility and
1016 customisability, so that individual adaptations here and there are
1017 possible. In terms of re-distributing and rolling out such a
1018 standardised IT system for schools (a system that is still to some
1019 degree customisable) there is still a lot of work to do here
1020 locally. Debian Edu / Skolelinux has been our choice as the starting
1021 point.&lt;/p&gt;
1022
1023 &lt;p&gt;Second, a holistic conclusion: What schools need does not exist at
1024 all (or we missed it so far). There are several technical solutions
1025 for handling IT at schools that tend to make a good impression. What
1026 has been missing completely here in Germany, though, is the enrolment
1027 of people into using IT and teaching with IT. &quot;IT-Zukunft Schule&quot;
1028 tries to provide an approach for this.&lt;/p&gt;
1029
1030 &lt;p&gt;Only some schools have some sort of a media concept which explains,
1031 defines and gives guidance on how to use IT in class. Most schools in
1032 Northern Germany do not have an IT service provider, the school&#39;s IT
1033 equipment is managed by one or (if the school is lucky) two (admin)
1034 teachers, most of the workload these admin teachers get done in there
1035 spare time.&lt;/p&gt;
1036
1037 &lt;p&gt;We were surprised that only a very few admin teachers were
1038 networked with colleagues from other schools. Basically, every school
1039 here around has its individual approach of providing IT equipment to
1040 teachers and students and the exchange of ideas has been quasi
1041 non-existent until 2010/2011.&lt;/p&gt;
1042
1043 &lt;p&gt;Quite some (non-admin) teachers try to avoid using IT technology in
1044 class as a learning medium completely. Several reasons for this
1045 avoidance do exist.&lt;/p&gt;
1046
1047 &lt;p&gt;We discovered that no-one has ever taken a closer look at this
1048 social part of IT management in schools, so far. On our quest journey
1049 for a technical IT solution for schools, we discussed this issue with
1050 several teachers, headmasters, politicians, other IT professionals and
1051 they all confirmed: a holistic approach of considering IT management
1052 at schools, an approach that includes the people in place, will be new
1053 and probably a gain for all.&lt;/p&gt;
1054
1055 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
1056 Edu?&lt;/strong&gt;&lt;/p&gt;
1057
1058 &lt;p&gt;There is a list of advantages: international context, openness to
1059 any kind of contributions, do-ocracy policy, the closeness to Debian,
1060 the different installation scenarios possible (from stand-alone
1061 workstation to complex multi-server sites), the transparency within
1062 project communication, honest communication within the group of
1063 developers, etc.&lt;/p&gt;
1064
1065 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
1066 Edu?&lt;/strong&gt;&lt;/p&gt;
1067
1068 &lt;p&gt;Every coin has two sides:&lt;/p&gt;
1069
1070 &lt;p&gt;Technically: &lt;a href=&quot;http://bugs.debian.org/311188&quot;&gt;BTS issue
1071 #311188&lt;/a&gt;, tricky upgradability of a Debian Edu main server, network
1072 client installations on top of a plain vanilla Debian installation
1073 should become possible sometime in the near future, one could think
1074 about splitting the very complex package debian-edu-config into
1075 several portions (to make it easier for new developers to
1076 contribute).&lt;/p&gt;
1077
1078 &lt;p&gt;Another issue I see is that we (as Debian Edu developers) should
1079 find out more about the network of people who do the marketing for
1080 Debian Edu / Skolelinux. There is a very active group in Germany
1081 promoting Skolelinux on the bigger Linux Days within Germany. Are
1082 there other groups like that in other countries? How can we bring
1083 these marketing people together (marketing group A with group B and
1084 all of them with the group of Debian Edu developers)? During the last
1085 meeting of the German Skolelinux group, I got the impression of people
1086 there being rather disconnected from the development department of
1087 Debian Edu / Skolelinux.&lt;/p&gt;
1088
1089 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
1090
1091 &lt;p&gt;For my daily business, I do not use commercial software at all.&lt;/p&gt;
1092
1093 &lt;p&gt;For normal stuff I use Iceweasel/Firefox, Libreoffice.org. For
1094 serious text writing I prefer LaTeX. I use gimp, inkscape, scribus for
1095 more artistic tasks. I run virtual machines in KVM and Virtualbox.&lt;/p&gt;
1096
1097 &lt;p&gt;I am one of the upstream developers of X2Go. In 2010 I started the
1098 development of a Python based X2Go Client, called PyHoca-GUI.
1099 PyHoca-GUI has brought forth a Python X2Go Client API that currently
1100 is being integrated in Ubuntu&#39;s software center.&lt;/p&gt;
1101
1102 &lt;p&gt;For communications I have my own Kolab server running using Horde
1103 as web-based groupware client. For IRC I love to use irssi, for Jabber
1104 I have several clients that I use, mostly pidgin, though. I am also
1105 the Debian maintainer of Coccinella, a Jabber-based interactive
1106 whiteboard.&lt;/p&gt;
1107
1108 &lt;p&gt;My favourite terminal emulator is KDE&#39;s Yakuake.&lt;/p&gt;
1109
1110 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
1111 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
1112
1113 &lt;p&gt;Communicate, communicate, communicate. Enrol people, enrol people,
1114 enrol people.&lt;/p&gt;
1115 </description>
1116 </item>
1117
1118 <item>
1119 <title>SOAP based webservice from Dell to check server support status</title>
1120 <link>http://people.skolelinux.org/pere/blog/SOAP_based_webservice_from_Dell_to_check_server_support_status.html</link>
1121 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/SOAP_based_webservice_from_Dell_to_check_server_support_status.html</guid>
1122 <pubDate>Fri, 1 Jun 2012 15:20:00 +0200</pubDate>
1123 <description>&lt;p&gt;A few years ago I wrote
1124 &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
1125 to extract support status&lt;/a&gt; for your Dell and HP servers. Recently
1126 I have learned from colleges here at the
1127 &lt;a href=&quot;http://www.uio.no/&quot;&gt;University of Oslo&lt;/a&gt; that Dell have
1128 made this even easier, by providing a SOAP based web service. Given
1129 the service tag, one can now query the Dell servers and get machine
1130 readable information about the support status. This perl code
1131 demonstrate how to do it:&lt;/p&gt;
1132
1133 &lt;p&gt;&lt;pre&gt;
1134 use strict;
1135 use warnings;
1136 use SOAP::Lite;
1137 use Data::Dumper;
1138 my $GUID = &#39;11111111-1111-1111-1111-111111111111&#39;;
1139 my $App = &#39;test&#39;;
1140 my $servicetag = $ARGV[0] or die &quot;Please supply a servicetag. $!\n&quot;;
1141 my ($deal, $latest, @dates);
1142 my $s = SOAP::Lite
1143 -&gt; uri(&#39;http://support.dell.com/WebServices/&#39;)
1144 -&gt; on_action( sub { join &#39;&#39;, @_ } )
1145 -&gt; proxy(&#39;http://xserv.dell.com/services/assetservice.asmx&#39;)
1146 ;
1147 my $a = $s-&gt;GetAssetInformation(
1148 SOAP::Data-&gt;name(&#39;guid&#39;)-&gt;value($GUID)-&gt;type(&#39;&#39;),
1149 SOAP::Data-&gt;name(&#39;applicationName&#39;)-&gt;value($App)-&gt;type(&#39;&#39;),
1150 SOAP::Data-&gt;name(&#39;serviceTags&#39;)-&gt;value($servicetag)-&gt;type(&#39;&#39;),
1151 );
1152 print Dumper($a -&gt; result) ;
1153 &lt;/pre&gt;&lt;/p&gt;
1154
1155 &lt;p&gt;The output can look like this:&lt;/p&gt;
1156
1157 &lt;p&gt;&lt;pre&gt;
1158 $VAR1 = {
1159 &#39;Asset&#39; =&gt; {
1160 &#39;Entitlements&#39; =&gt; {
1161 &#39;EntitlementData&#39; =&gt; [
1162 {
1163 &#39;EntitlementType&#39; =&gt; &#39;Expired&#39;,
1164 &#39;EndDate&#39; =&gt; &#39;2009-07-29T00:00:00&#39;,
1165 &#39;Provider&#39; =&gt; &#39;&#39;,
1166 &#39;StartDate&#39; =&gt; &#39;2006-07-29T00:00:00&#39;,
1167 &#39;DaysLeft&#39; =&gt; &#39;0&#39;
1168 },
1169 {
1170 &#39;EntitlementType&#39; =&gt; &#39;Expired&#39;,
1171 &#39;EndDate&#39; =&gt; &#39;2009-07-29T00:00:00&#39;,
1172 &#39;Provider&#39; =&gt; &#39;&#39;,
1173 &#39;StartDate&#39; =&gt; &#39;2006-07-29T00:00:00&#39;,
1174 &#39;DaysLeft&#39; =&gt; &#39;0&#39;
1175 },
1176 {
1177 &#39;EntitlementType&#39; =&gt; &#39;Expired&#39;,
1178 &#39;EndDate&#39; =&gt; &#39;2007-07-29T00:00:00&#39;,
1179 &#39;Provider&#39; =&gt; &#39;&#39;,
1180 &#39;StartDate&#39; =&gt; &#39;2006-07-29T00:00:00&#39;,
1181 &#39;DaysLeft&#39; =&gt; &#39;0&#39;
1182 }
1183 ]
1184 },
1185 &#39;AssetHeaderData&#39; =&gt; {
1186 &#39;SystemModel&#39; =&gt; &#39;GX620&#39;,
1187 &#39;ServiceTag&#39; =&gt; &#39;8DSGD2J&#39;,
1188 &#39;SystemShipDate&#39; =&gt; &#39;2006-07-29T19:00:00-05:00&#39;,
1189 &#39;Buid&#39; =&gt; &#39;2323&#39;,
1190 &#39;Region&#39; =&gt; &#39;Europe&#39;,
1191 &#39;SystemID&#39; =&gt; &#39;PLX_GX620&#39;,
1192 &#39;SystemType&#39; =&gt; &#39;OptiPlex&#39;
1193 }
1194 }
1195 };
1196 &lt;/pre&gt;&lt;/p&gt;
1197
1198 &lt;p&gt;I have not been able to find any documentation from Dell about this
1199 service outside the
1200 &lt;a href=&quot;http://xserv.dell.com/services/assetservice.asmx?op=GetAssetInformation&quot;&gt;inline
1201 documentation&lt;/a&gt;, and according to
1202 &lt;a href=&quot;http://iboyd.net/index.php/2012/02/14/updated-dell-warranty-information-script/&quot;&gt;one
1203 comment&lt;/a&gt; it can have stability issues, but it is a lot better than
1204 scraping HTML pages. :)&lt;/p&gt;
1205
1206 &lt;p&gt;Wonder if HP and other server vendors have a similar service. If
1207 you know of one, drop me an email. :)&lt;/p&gt;
1208 </description>
1209 </item>
1210
1211 <item>
1212 <title>First monitor calibration using ColorHug</title>
1213 <link>http://people.skolelinux.org/pere/blog/First_monitor_calibration_using_ColorHug.html</link>
1214 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/First_monitor_calibration_using_ColorHug.html</guid>
1215 <pubDate>Thu, 31 May 2012 22:10:00 +0200</pubDate>
1216 <description>&lt;p&gt;A few days ago my color calibration gadget
1217 &lt;a href=&quot;http://www.hughski.com/index.html&quot;&gt;ColorHug&lt;/a&gt; arrived in the
1218 mail, and I&#39;ve had a few days to test it. As all my machines are
1219 running Debian Squeeze, where
1220 &lt;a href=&quot;http://packages.qa.debian.org/c/colorhug-client.html&quot;&gt;the
1221 calibration software&lt;/a&gt; is missing (it is present in Wheezy and Sid),
1222 I ran the calibration using the Fedora based live CD. This worked
1223 just fine. So far I have only done the quick calibration. It was
1224 slow enough for me, so I will leave the more extensive calibration for
1225 another day.&lt;/p&gt;
1226
1227 &lt;p&gt;After calibration, I get a
1228 &lt;a href=&quot;http://en.wikipedia.org/wiki/ICC_profile&quot;&gt;ICC color
1229 profile&lt;/a&gt; file that can be passed to programs understanding such
1230 tools. KDE do not seem to understand it out of the box, so I searched
1231 for command line tools to use to load the color profile into X.
1232 xcalib was the first one I found, and it seem to work fine for single
1233 monitor setups. But for my video player, a laptop with a flat screen
1234 attached, it was unable to load the color profile for the correct
1235 monitor. After searching a bit, I
1236 &lt;a href=&quot;http://ubuntuforums.org/showthread.php?t=1347896&quot;&gt;discovered&lt;/a&gt;
1237 that the dispwin tool from the argyll package would do what I wanted,
1238 and a simple&lt;/p&gt;
1239
1240 &lt;p&gt;&lt;pre&gt;
1241 dispwin -d 1 profile.icc
1242 &lt;/pre&gt;&lt;/p&gt;
1243
1244 &lt;p&gt;later I had the color profile loaded for the correct monitor. The
1245 result was a bit more pink than I expected. I guess I picked the
1246 wrong monitor type for the &quot;led&quot; monitor I got, but the result is good
1247 enough for now.&lt;/p&gt;
1248 </description>
1249 </item>
1250
1251 <item>
1252 <title>Debian Edu interview: Ralf Gesellensetter</title>
1253 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Ralf_Gesellensetter.html</link>
1254 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Ralf_Gesellensetter.html</guid>
1255 <pubDate>Sun, 27 May 2012 17:15:00 +0200</pubDate>
1256 <description>&lt;p&gt;In 2003, a German teacher showed up on the
1257 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and Skolelinux&lt;/a&gt;
1258 mailing list with interesting problems and reports proving he setting
1259 up Linux for a (for us at the time) lot of pupils. His name was Ralf
1260 Gesellensetter, and he has been an important tester and contributor
1261 since then, helping to make sure the
1262 &lt;a href=&quot;http://www.debian.org/News/2012/20120311.html&quot;&gt;Debian Edu
1263 Squeeze&lt;/a&gt; release became as good as it is..&lt;/p&gt;
1264
1265 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
1266
1267 &lt;p&gt;I am a teacher from Germany, and my subjects are Geography,
1268 Mathematics, and Computer Science (&quot;Informatik&quot;). During the past 12
1269 years (since 2000), I have been working for a comprehensive (and soon,
1270 also inclusive) school leading to all kind of general levels, such as
1271 O- or A-level (&quot;Abitur&quot;). For quite as long, I&#39;ve been taking care of
1272 our computer network.&lt;/p&gt;
1273
1274 &lt;p&gt;Now, in my early 40s, I enjoy the privilege of spending a lot of my
1275 spare time together with my wife, our son (3 years) and our daughter
1276 (4 months).&lt;/p&gt;
1277
1278 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
1279 project?&lt;/strong&gt;&lt;/p&gt;
1280
1281 &lt;p&gt;We had tried different Linux based school servers, when members of
1282 my local Linux User Group (LUG OWL) detected Skolelinux. I remember
1283 very well, being part of a party celebrating the Linux New Media Award
1284 (&quot;Best Newcomer Distribution&quot;, also nominated: Ubuntu) that was given
1285 to Skolelinux at Linux World Exposition in Frankfurt, 2005 (IIRC). Few
1286 months later, I had the chance to join a developer meeting in Ulsrud
1287 (Oslo) and to hand out the award to Knut Yrvin and others. For more
1288 than 7 years, Skolelinux is part of our schools infrastructure, namely
1289 our main server (tjener), one LTSP (today without thin clients), and
1290 approximately 50 work stations. Most of these have the option to boot a
1291 locally installed Skolelinux image. As a consequence, I joined quite
1292 a few events dealing with free software or Linux, and met many Debian
1293 (Edu) developers. All of them seemed quite nice and competent to me,
1294 one more reason to stick to Skolelinux.&lt;/p&gt;
1295
1296 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
1297 Edu?&lt;/strong&gt;&lt;/p&gt;
1298
1299 &lt;p&gt;Debian driven, you are given all the advantages of a community
1300 project including well maintained updates. Once, you are familiar with
1301 the network layout, you can easily roll out an entire educational
1302 computer infrastructure, from just one installation media. As only
1303 free software (FOSS) is used, that supports even elderly hardware,
1304 up-sizing your IT equipment is only limited by space (i.e. available
1305 labs). Especially if you run a LTSP thin client server, your
1306 administration costs tend towards zero.&lt;/p&gt;
1307
1308 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
1309 Edu?&lt;/strong&gt;&lt;/p&gt;
1310
1311 &lt;p&gt;While Debian&#39;s stability has loads of advantages for servers, this
1312 might be different in some cases for clients: Schools with unlimited
1313 budget might buy new hardware with components that are not yet
1314 supported by Debian stable, or wish to use more recent versions of
1315 office packages or desktop environments. These schools have the
1316 option to run Debian testing or other distributions - if they have the
1317 capacity to do so. Another issue is that Debian release cycles
1318 include a wide range of changes; therefor a high percentage of human
1319 power seems to be absorbed by just keeping the features of Skolelinux
1320 within the new setting of the version to come. During this process,
1321 the cogs of Debian Edu are getting more and more professional,
1322 i.e. harder to understand for novices.&lt;/p&gt;
1323
1324 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
1325
1326 &lt;p&gt;LibreOffice, Wikipedia, Openstreetmap, Iceweasel (Mozilla Firefox),
1327 KMail, Gimp, Inkscape - and of course the Linux Kernel (not only on
1328 PC, Laptop, Mobile, but also our SAT receiver)&lt;/p&gt;
1329
1330 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
1331 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
1332
1333 &lt;p&gt;&lt;ol&gt;
1334
1335 &lt;li&gt;Support computer science as regular subject in schools to make
1336 people really &quot;own&quot; their hardware, to make them understand the
1337 difference between proprietary software products, and free software
1338 developing.&lt;/li&gt;
1339
1340 &lt;li&gt;Make budget baskets corresponding: In Germany&#39;s public schools
1341 there are more or less fixed budgets for IT equipment (including
1342 licenses), so schools won&#39;t benefit from any savings here. This
1343 privilege is left to private schools which have consequently a large
1344 share among German Skolelinux schools.&lt;/li&gt;
1345
1346 &lt;li&gt;Get free software in the seminars where would-be teachers are
1347 trained. In many cases, teachers&#39; software customs are respected by
1348 decision makers rather than the expertise of any IT experts.&lt;/li&gt;
1349
1350 &lt;li&gt;Don&#39;t limit ourself to free software run natively. Everybody uses
1351 free software or free licenses (for instance Wikipedia), and this
1352 general concept should get expanded to free educational content to be
1353 shared world wide (school books e.g.).&lt;/li&gt;
1354
1355 &lt;li&gt;Make clear where ever you can that the market share of free (libre)
1356 office suites is much above 20 p.c. today, and that you pupils don&#39;t
1357 need to know the &quot;ribbon menu&quot; in order to get employed.&lt;/li&gt;
1358
1359 &lt;li&gt;Talk about the difference between freeware and free software.&lt;/li&gt;
1360
1361 &lt;li&gt;Spread free software, or even collections of portable free apps
1362 for USB pen drives. Endorse students to get a legal copy of
1363 Libreoffice rather than accepting them to use illegal serials. And
1364 keep sending documents in ODF formats.&lt;/li&gt;
1365
1366 &lt;/ol&gt;&lt;/p&gt;
1367 </description>
1368 </item>
1369
1370 <item>
1371 <title>The cost of ODF and OOXML</title>
1372 <link>http://people.skolelinux.org/pere/blog/The_cost_of_ODF_and_OOXML.html</link>
1373 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_cost_of_ODF_and_OOXML.html</guid>
1374 <pubDate>Sat, 26 May 2012 18:00:00 +0200</pubDate>
1375 <description>&lt;p&gt;I just come across a blog post from Glyn Moody reporting the
1376 claimed cost from Microsoft on requiring ODF to be used by the UK
1377 government. I just sent him an email to let him know that his
1378 assumption are most likely wrong. Sharing it here in case some of my
1379 blog readers have seem the same numbers float around in the UK.&lt;/p&gt;
1380
1381 &lt;p&gt;&lt;blockquote&gt; &lt;p&gt;Hi. I just noted your
1382 &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;
1383 comment:&lt;/p&gt;
1384
1385 &lt;p&gt;&lt;blockquote&gt;&quot;They&#39;re all in Danish, not unreasonably, but even
1386 with the help of Google Translate I can&#39;t find any figures about the
1387 savings of &quot;moving to a flexible two standard&quot; as claimed by the
1388 Microsoft email. But I assume it is backed up somewhere, so let&#39;s take
1389 it, and the £500 million figure for the UK, on trust.&quot;
1390 &lt;/blockquote&gt;&lt;/p&gt;
1391
1392 &lt;p&gt;I can tell you that the Danish reports are inflated. I believe it is
1393 the same reports that were used in the Norwegian debate around 2007,
1394 and Gisle Hannemyr (a well known IT commentator in Norway) had a look
1395 at the content. In short, the reason it is claimed that using ODF
1396 will be so costly, is based on the assumption that this mean every
1397 existing document need to be converted from one of the MS Office
1398 formats to ODF, transferred to the receiver, and converted back from
1399 ODF to one of the MS Office formats, and that the conversion will cost
1400 10 minutes of work time for both the sender and the receiver. In
1401 reality the sender would have a tool capable of saving to ODF, and the
1402 receiver would have a tool capable of reading it, and the time spent
1403 would at most be a few seconds for saving and loading, not 20 minutes
1404 of wasted effort.&lt;/p&gt;
1405
1406 &lt;p&gt;Microsoft claimed all these costs were saved by allowing people to
1407 transfer the original files from MS Office instead of spending 10
1408 minutes converting to ODF. :)&lt;/p&gt;
1409
1410 &lt;p&gt;See
1411 &lt;a href=&quot;http://hannemyr.com/no/ms12_vl02.php&quot;&gt;http://hannemyr.com/no/ms12_vl02.php&lt;/a&gt;
1412 and
1413 &lt;a href=&quot;http://hannemyr.com/no/ms12.php&quot;&gt;http://hannemyr.com/no/ms12.php&lt;/a&gt;
1414 for background information. Norwegian only, sorry. :)&lt;/p&gt;
1415 &lt;/blockquote&gt;&lt;/p&gt;
1416 </description>
1417 </item>
1418
1419 <item>
1420 <title>ColorHug - USB and free software based screen color calibration</title>
1421 <link>http://people.skolelinux.org/pere/blog/ColorHug___USB_and_free_software_based_screen_color_calibration.html</link>
1422 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/ColorHug___USB_and_free_software_based_screen_color_calibration.html</guid>
1423 <pubDate>Fri, 18 May 2012 10:00:00 +0200</pubDate>
1424 <description>&lt;p&gt;In january, I
1425 &lt;a href=&quot;http://blog.cihar.com/archives/2012/01/17/colorhug-has-arrived/&quot;&gt;discovered
1426 the ColorHug&lt;/a&gt;, a USB dongle from
1427 &lt;a href=&quot;http://www.hughski.com/index.html&quot;&gt;Hughski&lt;/a&gt; to calibrate
1428 the color on a computer screen. The software required is
1429 &lt;a href=&quot;http://packages.qa.debian.org/c/colorhug-client.html&quot;&gt;included
1430 in Debian&lt;/a&gt;, and I decided back then to preorder from the next
1431 batch. Yesterday I finally heard back from them, and got the
1432 opportunity to order. Today I ordered mine, and eagerly await the
1433 delivery. I hope it arrive next week, as I got a confirmation that it
1434 should go in the mail on monday. :)&lt;/p&gt;
1435
1436 &lt;p&gt;If you want to ensure the colors on the screen match the intended
1437 colors, I suggest you check out this cheap tool with free software
1438 drivers. :)&lt;/p&gt;
1439 </description>
1440 </item>
1441
1442 <item>
1443 <title>Debian Edu interview: Jürgen Leibner</title>
1444 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__J_rgen_Leibner.html</link>
1445 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__J_rgen_Leibner.html</guid>
1446 <pubDate>Sun, 13 May 2012 20:30:00 +0200</pubDate>
1447 <description>&lt;p&gt;It has been a few busy weeks for me, but I am finally back to
1448 publish another interview with the people behind
1449 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and Skolelinux&lt;/a&gt;.
1450 This time it is one of our German developers, who have helped out over the
1451 years to make sure both a lot of major but also a lot of the minor
1452 details get right before release.
1453
1454 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
1455
1456 &lt;p&gt;My name is Jürgen Leibner, I&#39;m 49 years old and living in
1457 Bielefeld, a town in northern Germany. I worked nearly 20 years as
1458 certified engineer in the department for plant design and layout of an
1459 international company for machinery and equipment. Since 2011 I&#39;m a
1460 certified technical writer (tekom e.V.) and doing technical
1461 documentations for a steam turbine manufacturer. From April this year
1462 I will manage the department of technical documentation at a
1463 manufacturer of automation and assembly line engineering.&lt;/p&gt;
1464
1465 &lt;p&gt;My first contact with linux was around 1993. Since that time I used
1466 it at work and at home repeatedly but not exclusively as I do now at
1467 home since 2006.&lt;/p&gt;
1468
1469 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
1470 project?&lt;/strong&gt;&lt;/p&gt;
1471
1472 &lt;p&gt;Once a day in the early year of 2001 when I wanted to fetch my
1473 daughter from primary school, there was a teacher sitting in the
1474 middle of 20 old computers trying to boot them and he failed. I helped
1475 him to get them booting. That was seen by the school director and she
1476 asked me if I would like to manage that the school gets all that old
1477 computers in use. I answered: &quot;Yes&quot;.&lt;/p&gt;
1478
1479 &lt;p&gt;Some weeks later every of the 10 classrooms had one computer
1480 running Windows98. I began to collect old computers and equipment as
1481 gifts and installed the first computer room with a peer-to-peer
1482 network. I did my work at school without being payed in my spare time
1483 and with a lot of fun. About one year later the school was connected
1484 to Internet and a local area network was installed in the school
1485 building. That was the time to have a server and I knew it must be a
1486 Linux server to be able to fulfil all the wishes of the teachers and
1487 being able to do this in a transparent and economic way, without extra
1488 costs for things like licence and software. So I searched for a
1489 school server system running under Linux and I found a couple of
1490 people nearby who founded &#39;skolelinux.de&#39;. It was the Skolelinux
1491 prerelease 32 I first tried out for being used at the school. I
1492 managed the IT of that school until the municipal authority took over
1493 the IT management and centralised the services for all schools in
1494 Bielefeld in December of 2006.&lt;/p&gt;
1495
1496 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
1497 Edu?&lt;/strong&gt;&lt;/p&gt;
1498
1499 &lt;p&gt;When I&#39;m looking back to the beginning, there were other advantages
1500 for me as today.&lt;/p&gt;
1501
1502 &lt;p&gt;In the past there were advantages like:&lt;/p&gt;
1503
1504 &lt;p&gt;&lt;ul&gt;
1505
1506 &lt;li&gt;I don&#39;t need to buy it so it generates no costs to the school as
1507 they had little money to spent for computers and software.&lt;/li&gt;
1508
1509 &lt;li&gt;It has a licence which grands all rights to use it without
1510 cost.&lt;/li&gt;
1511
1512 &lt;li&gt;It was more able to fit all requirements of a server system for
1513 schools than a Microsoft server system, even if there are only Windows
1514 clients because of it&#39;s preconfigured overall concept of being a
1515 infrastructure solution and community for schools, not only a
1516 server&lt;/li&gt;
1517
1518 &lt;li&gt;I was able to configure the server to the needs of the
1519 school.&lt;/li&gt;
1520
1521 &lt;/ul&gt;&lt;/p&gt;
1522
1523 &lt;p&gt;Today some of the advantages has been lost, changed or new ones
1524 came up in this way:&lt;/p&gt;
1525
1526 &lt;p&gt;&lt;ul&gt;
1527
1528 &lt;li&gt;Most schools here do have money to buy hardware and software
1529 now.&lt;/li&gt;
1530
1531 &lt;li&gt;They are today mostly managed from central IT departments which
1532 have own concepts which often do not fit to Debian Edu concepts
1533 because they are to close to Microsoft ideology.&lt;/li&gt;
1534
1535 &lt;li&gt;With the Squeeze version of Debian Edu which now uses GOsa² for
1536 management I feel more able to manage the daily tasks than with the
1537 interfaces used in the past.&lt;/li&gt;
1538
1539 &lt;li&gt;It is more modular than in the past and fits even better to the
1540 different needs.&lt;/li&gt;
1541
1542 &lt;li&gt;The documentation is usable and gets better every day.&lt;/li&gt;
1543
1544 &lt;li&gt;More people than ever before are using Debian Edu all over the
1545 world and so the community, which is an very important part I think,
1546 is sharing knowledge and minds.&lt;/li&gt;
1547
1548 &lt;li&gt;Most, maybe all, of the technical requirements for schools are
1549 solved today by Debian Edu. &lt;/li&gt;
1550
1551 &lt;/ul&gt;&lt;/p&gt;
1552
1553 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
1554 Edu?&lt;/strong&gt;&lt;/p&gt;
1555
1556 &lt;p&gt;&lt;ul&gt;
1557
1558 &lt;li&gt;There are too few IT companies able to integrate Debian Edu into
1559 their product portfolio for serving schools with concepts or even
1560 whole municipality areas.&lt;/li&gt;
1561
1562 &lt;li&gt;Debian Edu has beside other free and open software projects not
1563 enough lobbyists which promote free and open software to
1564 politicians.&lt;/li&gt;
1565
1566 &lt;li&gt;Technically there are no disadvantages I&#39;m aware of.&lt;/li&gt;
1567
1568 &lt;/ul&gt;&lt;/p&gt;
1569
1570 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
1571
1572 &lt;p&gt;I use Debian stable on my home server and on my little desktop
1573 computer. On my laptop I use Debian testing/sid. The applications I
1574 use on my laptop and my desktop are Open/Libre-office, Iceweasel,
1575 KMail, DigiKam, Amarok, Dolphin, okular and all the other programs I
1576 need from the KDE environment. On console I use newsbeuter, mutt,
1577 screen, irssi and all the other famous and useful tools.&lt;/p&gt;
1578
1579 &lt;p&gt;My home server provides mail services with exim, dovecot, roundcube
1580 and mutt over ssh on the console, file services with samba, NFS,
1581 rsync, web services with apache, moinmoin-wiki, multimedia services
1582 with gallery2 and mediatomb and database services with MySQL for me
1583 and the whole family. I probably forgot something.&lt;/p&gt;
1584
1585 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
1586 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
1587
1588 &lt;p&gt;I believe, we should provide concepts for IT companies to integrate
1589 Debian Edu into their product portfolio with use cases for different
1590 countries and areas all over the world.&lt;/p&gt;
1591 </description>
1592 </item>
1593
1594 <item>
1595 <title>Cutting it short - and picking the right tool for the job</title>
1596 <link>http://people.skolelinux.org/pere/blog/Cutting_it_short___and_picking_the_right_tool_for_the_job.html</link>
1597 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Cutting_it_short___and_picking_the_right_tool_for_the_job.html</guid>
1598 <pubDate>Mon, 30 Apr 2012 23:30:00 +0200</pubDate>
1599 <description>&lt;p&gt;&lt;!-- IMG_5869.JPG --&gt;
1600 &lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/panasonic-er-1611.jpeg&quot;&gt;&lt;/p&gt;
1601
1602 &lt;p&gt;I normally cut my hair short, and my tool of choice has been a
1603 common hair/beard cutter, bought in a electrical shop here in Norway.
1604 But the last ones have not really been up to the task. My last
1605 cutter, some model from Braun, could only cut a few of my hairs at the
1606 time, and cutting my head took forever. And the one before that did
1607 not work very well either. We have looked for something better for a
1608 while, but it was not until I ended up visiting a hairdresser that we
1609 discovered that there are indeed better tools available. But these
1610 are not marketed and sold to &quot;regular consumers&quot;. The hair saloons
1611 can get them through their suppliers, but their suppliers only sell
1612 companies. The models they sell, are very different from the ones
1613 available from Elkjøp and Lefdal. The main difference is their
1614 efficiency. It would cut my hair in 5 minutes, instead of the 30-40
1615 minutes required by my impotent Braun. The hairdresser I visited had
1616 a Panasonic ER160, which unfortunately is no longer available from the
1617 producer. But I found it had a successor, the Panasonic ER1611.&lt;/p&gt;
1618
1619 &lt;p&gt;The next step was to find somewhere to buy it. This was not
1620 straight forward. The list of suppliers I got from the hairdresser
1621 did not want to sell anything to me. But searching for the model on
1622 the web we found a supplier in Norway willing to sell it to us for
1623 around NOK 4000,-. This was a bit much. We kept searching and
1624 finally found a Danish supplier
1625 &lt;a href=&quot;http://nicehair.dk/panasonic-er-1611-professionel-hartrimmer.html&quot;&gt;selling
1626 it for around NOK 1800,-&lt;/a&gt;. We ordered one, and it arrived a few
1627 days ago.&lt;/p&gt;
1628
1629 &lt;p&gt;The instructions said it had to charge for 8 hours when we started
1630 to use it, so we left it charging over night. Normally it will only
1631 need one hour to charge. The following evening we successfully tested
1632 it, and I can warmly recommend it to anyone looking for a real hair
1633 cutter. The ones we have used until now have been hair cutter
1634 toys.&lt;/p&gt;
1635 </description>
1636 </item>
1637
1638 <item>
1639 <title>HTC One X - Your video? What do you mean?</title>
1640 <link>http://people.skolelinux.org/pere/blog/HTC_One_X___Your_video___What_do_you_mean_.html</link>
1641 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/HTC_One_X___Your_video___What_do_you_mean_.html</guid>
1642 <pubDate>Thu, 26 Apr 2012 13:20:00 +0200</pubDate>
1643 <description>&lt;p&gt;In &lt;a href=&quot;http://www.idg.no/computerworld/article243690.ece&quot;&gt;an
1644 article today&lt;/a&gt; published by Computerworld Norway, the photographer
1645 &lt;a href=&quot;http://www.urke.com/eirik/&quot;&gt;Eirik Helland Urke&lt;/a&gt; reports
1646 that the video editor application included with
1647 &lt;a href=&quot;http://www.htc.com/www/smartphones/htc-one-x/#specs&quot;&gt;HTC One
1648 X&lt;/a&gt; have some quite surprising terms of use. The article is mostly
1649 based on the twitter message from mister Urke, stating:
1650
1651 &lt;p&gt;&lt;blockquote&gt;
1652 &quot;&lt;a href=&quot;http://twitter.com/urke/status/194062269724897280&quot;&gt;Drøy
1653 brukeravtale: HTC kan bruke MINE redigerte videoer kommersielt. Selv
1654 kan jeg KUN bruke dem privat.&lt;/a&gt;&quot;
1655 &lt;/blockquote&gt;&lt;/p&gt;
1656
1657 &lt;p&gt;I quickly translated it to this English message:&lt;/p&gt;
1658
1659 &lt;p&gt;&lt;blockquote&gt;
1660 &quot;Arrogant user agreement: HTC can use MY edited videos
1661 commercially. Although I can ONLY use them privately.&quot;
1662 &lt;/blockquote&gt;&lt;/p&gt;
1663
1664 &lt;p&gt;I&#39;ve been unable to find the text of the license term myself, but
1665 suspect it is a variation of the MPEG-LA terms I
1666 &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
1667 with my Canon IXUS 130&lt;/a&gt;. The HTC One X specification specifies that
1668 the recording format of the phone is .amr for audio and .mp3 for
1669 video. AMR is
1670 &lt;a href=&quot;http://en.wikipedia.org/wiki/Adaptive_Multi-Rate_audio_codec#Licensing_and_patent_issues&quot;&gt;Adaptive
1671 Multi-Rate audio codec&lt;/a&gt; with patents which according to the
1672 Wikipedia article require an license agreement with
1673 &lt;a href=&quot;http://www.voiceage.com/&quot;&gt;VoiceAge&lt;/a&gt;. MP4 is
1674 &lt;a href=&quot;http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Patent_licensing&quot;&gt;MPEG4 with
1675 H.264&lt;/a&gt;, which according to Wikipedia require a licence agreement
1676 with &lt;a href=&quot;http://www.mpegla.com/&quot;&gt;MPEG-LA&lt;/a&gt;.&lt;/p&gt;
1677
1678 &lt;p&gt;I know why I prefer
1679 &lt;a href=&quot;http://www.digistan.org/open-standard:definition&quot;&gt;free and open
1680 standards&lt;/a&gt; also for video.&lt;/p&gt;
1681 </description>
1682 </item>
1683
1684 <item>
1685 <title>RAND terms - non-reasonable and discriminatory</title>
1686 <link>http://people.skolelinux.org/pere/blog/RAND_terms___non_reasonable_and_discriminatory.html</link>
1687 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/RAND_terms___non_reasonable_and_discriminatory.html</guid>
1688 <pubDate>Thu, 19 Apr 2012 22:20:00 +0200</pubDate>
1689 <description>&lt;p&gt;Here in Norway, the
1690 &lt;a href=&quot;http://www.regjeringen.no/nb/dep/fad.html?id=339&quot;&gt; Ministry of
1691 Government Administration, Reform and Church Affairs&lt;/a&gt; is behind
1692 a &lt;a href=&quot;http://standard.difi.no/forvaltningsstandarder&quot;&gt;directory of
1693 standards&lt;/a&gt; that are recommended or mandatory for use by the
1694 government. When the directory was created, the people behind it made
1695 an effort to ensure that everyone would be able to implement the
1696 standards and compete on equal terms to supply software and solutions
1697 to the government. Free software and non-free software could compete
1698 on the same level.&lt;/p&gt;
1699
1700 &lt;p&gt;But recently, some standards with RAND
1701 (&lt;a href=&quot;http://en.wikipedia.org/wiki/Reasonable_and_non-discriminatory_licensing&quot;&gt;Reasonable
1702 And Non-Discriminatory&lt;/a&gt;) terms have made their way into the
1703 directory. And while this might not sound too bad, the fact is that
1704 standard specifications with RAND terms often block free software from
1705 implementing them. The reasonable part of RAND mean that the cost per
1706 user/unit is low,and the non-discriminatory part mean that everyone
1707 willing to pay will get a license. Both sound great in theory. In
1708 practice, to get such license one need to be able to count users, and
1709 be able to pay a small amount of money per unit or user. By
1710 definition, users of free software do not need to register their use.
1711 So counting users or units is not possible for free software projects.
1712 And given that people will use the software without handing any money
1713 to the author, it is not really economically possible for a free
1714 software author to pay a small amount of money to license the rights
1715 to implement a standard when the income available is zero. The result
1716 in these situations is that free software are locked out from
1717 implementing standards with RAND terms.&lt;/p&gt;
1718
1719 &lt;p&gt;Because of this, when I see someone claiming the terms of a
1720 standard is reasonable and non-discriminatory, all I can think of is
1721 how this really is non-reasonable and discriminatory. Because free
1722 software developers are working in a global market, it does not really
1723 help to know that software patents are not supposed to be enforceable
1724 in Norway. The patent regimes in other countries affect us even here.
1725 I really hope the people behind the standard directory will pay more
1726 attention to these issues in the future.&lt;/p&gt;
1727
1728 &lt;p&gt;You can find more on the issues with RAND, FRAND and RAND-Z terms
1729 from Simon Phipps
1730 (&lt;a href=&quot;http://blogs.computerworlduk.com/simon-says/2010/11/rand-not-so-reasonable/&quot;&gt;RAND:
1731 Not So Reasonable?&lt;/a&gt;).&lt;/p&gt;
1732
1733 &lt;p&gt;Update 2012-04-21: Just came across a
1734 &lt;a href=&quot;http://blogs.computerworlduk.com/open-enterprise/2012/04/of-microsoft-netscape-patents-and-open-standards/index.htm&quot;&gt;blog
1735 post from Glyn Moody&lt;/a&gt; over at Computer World UK warning about the
1736 same issue, and urging people to speak out to the UK government. I
1737 can only urge Norwegian users to do the same for
1738 &lt;a href=&quot;http://www.standard.difi.no/hoyring/hoyring-om-nye-anbefalte-it-standarder&quot;&gt;the
1739 hearing taking place at the moment&lt;/a&gt; (respond before 2012-04-27).
1740 It proposes to require video conferencing standards including
1741 specifications with RAND terms.&lt;/p&gt;
1742 </description>
1743 </item>
1744
1745 <item>
1746 <title>Debian Edu interview: Andreas Mundt</title>
1747 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Andreas_Mundt.html</link>
1748 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Andreas_Mundt.html</guid>
1749 <pubDate>Sun, 15 Apr 2012 12:10:00 +0200</pubDate>
1750 <description>&lt;p&gt;Behind &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and
1751 Skolelinux&lt;/a&gt; there are a lot of people doing the hard work of
1752 setting together all the pieces. This time I present to you Andreas
1753 Mundt, who have been part of the technical development team several
1754 years. He was also a key contributor in getting GOsa and Kerberos set
1755 up in the recently released
1756 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/Documentation/Squeeze&quot;&gt;Debian
1757 Edu Squeeze&lt;/a&gt; version.&lt;/p&gt;
1758
1759 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
1760
1761 &lt;p&gt;My name is Andreas Mundt, I grew up in south Germany. After
1762 studying Physics I spent several years at university doing research in
1763 Quantum Optics. After that I worked some years in an optics company.
1764 Finally I decided to turn over a new leaf in my life and started
1765 teaching 10 to 19 years old kids at school. I teach math, physics,
1766 information technology and science/technology.&lt;/p&gt;
1767
1768 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
1769 project?&lt;/strong&gt;&lt;/p&gt;
1770
1771 &lt;p&gt;Already before I switched to teaching, I followed the Debian Edu
1772 project because of my interest in education and Debian. Within the
1773 qualification/training period for the teaching, I started
1774 contributing.&lt;/p&gt;
1775
1776 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
1777 Edu?&lt;/strong&gt;&lt;/p&gt;
1778
1779 &lt;p&gt;The advantages of Debian Edu are the well known name, the
1780 out-of-the-box philosophy and of course the great free software of the
1781 Debian Project!&lt;/p&gt;
1782
1783 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
1784 Edu?&lt;/strong&gt;&lt;/p&gt;
1785
1786 &lt;p&gt;As every coin has two sides, the out-of-the-box philosophy has its
1787 downside, too. In my opinion, it is hard to modify and tweak the
1788 setup, if you need or want that. Further more, it is not easily
1789 possible to upgrade the system to a new release. It takes much too
1790 long after a Debian release to prepare the -Edu release, perhaps
1791 because the number of developers working on the core of the code is
1792 rather small and often busy elsewhere.&lt;/p&gt;
1793
1794 &lt;p&gt;The &lt;a href=&quot;http://wiki.debian.org/DebianLAN&quot;&gt;Debian LAN&lt;/a&gt;
1795 project might fill the use case of a more flexible system.&lt;/p&gt;
1796
1797 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
1798
1799 &lt;p&gt;I am only using non-free software if I am forced to and run Debian
1800 on all my machines. For documents I prefer LaTeX and PGF/TikZ, then
1801 mutt and iceweasel for email respectively web browsing. At school I
1802 have Arduino and Fritzing in use for a micro controller project.&lt;/p&gt;
1803
1804 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
1805 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
1806
1807 &lt;p&gt;One of the major problems is the vendor lock-in from top to bottom:
1808 Especially in combination with ignorant government employees and
1809 politicians, this works out great for the &quot;market-leader&quot;. The school
1810 administration here in Baden-Wuerttemberg is occupied by that vendor.
1811 Documents have to be prepared in non-free, proprietary formats. Even
1812 free browsers do not work for the school administration. Publishers
1813 of school books provide software only for proprietary platforms.&lt;/p&gt;
1814
1815 &lt;p&gt;To change this, political work is very important. Parts of the
1816 political spectrum have become aware of the problem in the last years.
1817 However it takes quite some time and courageous politicians to &#39;free&#39;
1818 the system. There is currently some discussion about &quot;Open Data&quot; and
1819 &quot;Free/Open Standards&quot;. I am not sure if all the involved parties have
1820 a clue about the potential of these ideas, and probably only a
1821 fraction takes them seriously. However it might slowly make free
1822 software and the philosophy behind it more known and popular.&lt;/p&gt;
1823 </description>
1824 </item>
1825
1826 <item>
1827 <title>Debian Edu interview: Justin B. Rye</title>
1828 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Justin_B__Rye.html</link>
1829 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Justin_B__Rye.html</guid>
1830 <pubDate>Sun, 8 Apr 2012 10:50:00 +0200</pubDate>
1831 <description>&lt;p&gt;It take all kind of contributions to create a Linux distribution
1832 like &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt;,
1833 and this time I lend the ear to Justin B. Rye, who is listed as a big
1834 contributor to the
1835 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/Documentation/Squeeze&quot;&gt;Debian
1836 Edu Squeeze release manual&lt;/a&gt;.
1837
1838 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
1839
1840 &lt;p&gt;I&#39;m a 44-year-old linguistics graduate living in Edinburgh who has
1841 occasionally been employed as a sysadmin.&lt;/p&gt;
1842
1843 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
1844 project?&lt;/strong&gt;&lt;/p&gt;
1845
1846 &lt;p&gt;I&#39;m neither a developer nor a Skolelinux/Debian Edu user! The only
1847 reason my name&#39;s in the credits for the documentation is that I hang
1848 around on debian-l10n-english waiting for people to mention things
1849 they&#39;d like a native English speaker to proofread... So I did a sweep
1850 through the wiki for typos and Norglish and inconsistent spellings of
1851 &quot;localisation&quot;.&lt;/p&gt;
1852
1853 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
1854 Edu?&lt;/strong&gt;&lt;/p&gt;
1855
1856 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
1857 Edu?&lt;/strong&gt;&lt;/p&gt;
1858
1859 &lt;p&gt;These questions are too hard for me - I don&#39;t use it! In fact I
1860 had hardly any contact with I.T. until long after I&#39;d got out of the
1861 education system.&lt;/p&gt;
1862
1863 &lt;p&gt;I can tell you the advantages of Debian for me though: it soaks up
1864 as much of my free time as I want and no more, and lets me do
1865 everything I want a computer for without ever forcing me to spend
1866 money on the latest hardware.&lt;/p&gt;
1867
1868 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
1869
1870 &lt;p&gt;I&#39;ve been using Debian since Rex; popularity-contest says the
1871 software that I use most is xinit, xterm, and xulrunner (in other
1872 words, I use a distinctly retro sort of desktop).&lt;/p&gt;
1873
1874 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
1875 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
1876
1877 &lt;p&gt;Well, I don&#39;t know. I suppose I&#39;d be inclined to try reasoning
1878 with the people who make the decisions, but obviously if that worked
1879 you would hardly need a strategy.&lt;/p&gt;
1880 </description>
1881 </item>
1882
1883 <item>
1884 <title>Why the KDE menu is slow when /usr/ is NFS mounted - and a workaround</title>
1885 <link>http://people.skolelinux.org/pere/blog/Why_the_KDE_menu_is_slow_when__usr__is_NFS_mounted___and_a_workaround.html</link>
1886 <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>
1887 <pubDate>Fri, 6 Apr 2012 22:40:00 +0200</pubDate>
1888 <description>&lt;p&gt;Recently I have spent time with
1889 &lt;a href=&quot;http://www.slxdrift.no/&quot;&gt;Skolelinux Drift AS&lt;/a&gt; on speeding
1890 up a &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt;
1891 Lenny installation using LTSP diskless workstations, and in the
1892 process I discovered something very surprising. The reason the KDE
1893 menu was responding slow when using it for the first time, was mostly
1894 due to the way KDE find application icons. I discovered that showing
1895 the Multimedia menu would cause more than 20 000 IP packages to be
1896 passed between the LTSP client and the NFS server. Most of these were
1897
1898 NFS LOOKUP calls, resulting in a NFS3ERR_NOENT response. Because the
1899 ping times between the client and the server were in the range 2-20
1900 ms, the menus would be very slow. Looking at the strace of kicker in
1901 Lenny (or plasma-desktop i Squeeze - same problem there), I see that
1902 the source of these NFS calls are access(2) system calls for
1903 non-existing files. KDE can do hundreds of access(2) calls to find
1904 one icon file. In my example, just finding the mplayer icon required
1905 around 230 access(2) calls.&lt;/p&gt;
1906
1907 &lt;p&gt;The KDE code seem to search for icons using a list of icon
1908 directories, and the list of possible directories is large. In
1909 (almost) each directory, it look for files ending in .png, .svgz, .svg
1910 and .xpm. The result is a very slow KDE menu when /usr/ is NFS
1911 mounted. Showing a single sub menu may result in thousands of NFS
1912 requests. I am not the first one to discover this. I found a
1913 &lt;a href=&quot;https://bugs.kde.org/show_bug.cgi?id=211416&quot;&gt;KDE bug report
1914 from 2009&lt;/a&gt; about this problem, and it is still unsolved.&lt;/p&gt;
1915
1916 &lt;p&gt;My solution to speed up the KDE menu was to create a package
1917 kde-icon-cache that upon installation will look at all .desktop files
1918 used to generate the KDE menu, find their icons, search the icon paths
1919 for the file that KDE will end up finding at run time, and copying the
1920 icon file to /var/lib/kde-icon-cache/. Finally, I add symlinks to
1921 these icon files in one of the first directories where KDE will look
1922 for them. This cut down the number of file accesses required to find
1923 one icon from several hundred to less than 5, and make the KDE menu
1924 almost instantaneous. I&#39;m not quite sure where to make the package
1925 publicly available, so for now it is only available on request.&lt;/p&gt;
1926
1927 &lt;p&gt;The bug report mention that this do not only affect the KDE menu
1928 and icon handling, but also the login process. Not quite sure how to
1929 speed up that part without replacing NFS with for example NBD, and
1930 that is not really an option at the moment.&lt;/p&gt;
1931
1932 &lt;p&gt;If you got feedback on this issue, please let us know on debian-edu
1933 (at) lists.debian.org.&lt;/p&gt;
1934 </description>
1935 </item>
1936
1937 <item>
1938 <title>Debian Edu in the Linux Weekly News</title>
1939 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_in_the_Linux_Weekly_News.html</link>
1940 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_in_the_Linux_Weekly_News.html</guid>
1941 <pubDate>Thu, 5 Apr 2012 08:00:00 +0200</pubDate>
1942 <description>&lt;p&gt;About two weeks ago, I was interviewed via email about
1943 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and Skolelinux&lt;/a&gt; by
1944 Bruce Byfield in Linux Weekly News. The result was made public for
1945 non-subscribers today. I am pleased to see liked our Linux solution
1946 for schools. Check out his article
1947 &lt;a href=&quot;https://lwn.net/Articles/488805/&quot;&gt;Debian Edu/Skolelinux: A
1948 distribution for education&lt;/a&gt; if you want to learn more.&lt;/p&gt;
1949 </description>
1950 </item>
1951
1952 <item>
1953 <title>Debian Edu interview: Wolfgang Schweer</title>
1954 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Wolfgang_Schweer.html</link>
1955 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Wolfgang_Schweer.html</guid>
1956 <pubDate>Sun, 1 Apr 2012 23:00:00 +0200</pubDate>
1957 <description>&lt;p&gt;Germany is a core area for the
1958 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and Skolelinux&lt;/a&gt;
1959 user community, and this time I managed to get hold of Wolfgang
1960 Schweer, a valuable contributor to the project from Germany.
1961
1962 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
1963
1964 &lt;p&gt;I&#39;ve studied Mathematics at the university &#39;Ruhr-Universität&#39; in
1965 Bochum, Germany. Since 1981 I&#39;m working as a teacher at the school
1966 &quot;&lt;a href=&quot;http://www.westfalenkolleg-dortmund.de/&quot;&gt;Westfalen-Kolleg
1967 Dortmund&lt;/a&gt;&quot;, a second chance school. Here, young adults is given
1968 the opportunity to get further education in order to do the school
1969 examination &#39;Abitur&#39;, which will allow to study at a university. This
1970 second chance is of value for those who want a better job perspective
1971 or failed to get a higher school examination being teens.&lt;/p&gt;
1972
1973 &lt;p&gt;Besides teaching I was involved in developing online courses for a
1974 blended learning project called &#39;abitur-online.nrw&#39; and in some other
1975 information technology related projects. For about ten years I&#39;ve been
1976 teacher and coordinator for the &#39;abitur-online&#39; project at my
1977 school. Being now in my early sixties, I&#39;ve decided to leave school at
1978 the end of April this year.&lt;/p&gt;
1979
1980 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
1981 project?&lt;/strong&gt;&lt;/p&gt;
1982
1983 &lt;p&gt;The first information about Skolelinux must have come to my
1984 attention years ago and somehow related to LTSP (Linux Terminal Server
1985 Project). At school, we had set up a network at the beginning of 1997
1986 using Suse Linux on the desktop, replacing a Novell network. Since
1987 2002, we used old machines from the city council of Dortmund as thin
1988 clients (LTSP, later Ubuntu/Lessdisks) cause new hardware was out of
1989 reach. At home I&#39;m using Debian since years and - subscribed to the
1990 Debian news letter - heard from time to time about Skolelinux. About
1991 two years ago I proposed to replace the (somehow undocumented and only
1992 known to me) system at school by a well known Debian based system:
1993 Skolelinux.&lt;/p&gt;
1994
1995 &lt;p&gt;Students and teachers appreciated the new system because of a
1996 better look and feel and an enhanced access to local media on thin
1997 clients. The possibility to alter and/or reset passwords using a GUI
1998 was welcomed, too. Being able to do administrative tasks using a GUI
1999 and to easily set up workstations using PXE was of very high value for
2000 the admin teachers.&lt;/p&gt;
2001
2002 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
2003 Edu?&lt;/strong&gt;&lt;/p&gt;
2004
2005 &lt;p&gt;It&#39;s open source, easy to set up, stable and flexible due to it&#39;s
2006 Debian base. It integrates LTSP out-of-the-box. And it is documented!
2007 So it was a perfect choice.&lt;/p&gt;
2008
2009 &lt;p&gt;Being open source, there are no license problems and so it&#39;s
2010 possible to point teachers and students to programs like
2011 OpenOffice.org, ViewYourMind (mind mapping) and The Gimp. It&#39;s of
2012 high value to be able to adapt parts of the system to special needs of
2013 a school and to choose where to get support for this.&lt;/p&gt;
2014
2015 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
2016 Edu?&lt;/strong&gt;&lt;/p&gt;
2017
2018 &lt;p&gt;Nothing yet.&lt;/p&gt;
2019
2020 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
2021
2022 &lt;p&gt;At home (Debian Sid with Gnome Desktop): Iceweasel, LibreOffice,
2023 Mutt, Gedit, Document Viewer, Midnight Commander, flpsed (PDF
2024 Annotator). At school (Skolelinux Lenny): Iceweasel, Gedit,
2025 LibreOffice.&lt;/p&gt;
2026
2027 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
2028 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
2029
2030 &lt;p&gt;Some time ago I thought it was enough to tell people about it. But
2031 that doesn&#39;t seem to work quite well. Now I concentrate on those more
2032 interested and hope to get multiplicators that way.&lt;/p&gt;
2033 </description>
2034 </item>
2035
2036 <item>
2037 <title>Debian Edu screencast: Checking email with kmail using Kerberos authentication</title>
2038 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_screencast__Checking_email_with_kmail_using_Kerberos_authentication.html</link>
2039 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_screencast__Checking_email_with_kmail_using_Kerberos_authentication.html</guid>
2040 <pubDate>Sun, 25 Mar 2012 10:00:00 +0200</pubDate>
2041 <description>&lt;!-- Video HTML based on http://www.diveintohtml5.net/video.html --&gt;
2042
2043 &lt;p&gt;The same Debian Edu developer that did the last screen cast I
2044 published, Wolfgang Schweer, has created a new screen cast showing how
2045 to set up Kmail in Debian Edu Squeze to authenticate using Kerberos,
2046 allowing users to check their local email account without providing
2047 any password. The video is embedded here in quarter size,
2048 and also available from &lt;a href=&quot;https://vimeo.com/38601767&quot;&gt;vimeo&lt;/a&gt;
2049 and download as a
2050 &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
2051 Theora&lt;/a&gt; file. Check it out below.&lt;/p&gt;
2052
2053 &lt;p&gt;&lt;video id=&quot;kmail-kerberos-movie&quot; width=&quot;256&quot; height=&quot;184&quot; preload controls&gt;
2054 &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;
2055 &lt;p&gt;Download video as
2056 &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;
2057 &lt;/video&gt;&lt;/p&gt;
2058 </description>
2059 </item>
2060
2061 <item>
2062 <title>Debian Edu interview: John Ingleby</title>
2063 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__John_Ingleby.html</link>
2064 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__John_Ingleby.html</guid>
2065 <pubDate>Mon, 19 Mar 2012 21:15:00 +0100</pubDate>
2066 <description>&lt;p&gt;&lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt;
2067 users are spread all across the globe. The second inteview after
2068 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2012/03/msg00001.html&quot;&gt;the
2069 Squeeze release&lt;/a&gt; was publised is with John Ingleby, a teacher and
2070 long time Linux user in United Kingdom.&lt;/p&gt;
2071
2072 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
2073
2074 &lt;p&gt;I teach ICT part time at the Rudolf Steiner School in Kings
2075 Langley, near London, UK. Previously I worked as a technical
2076 author/trainer while my children attended the school, and I also
2077 contributed to the Schoolforge UK community with the aim of
2078 encouraging UK schools to adopt free/open source software. Five or six
2079 years ago we had about 50 schools interested in some way, but we
2080 weren&#39;t able to convert many of them into sustainable
2081 installations.&lt;/p&gt;
2082
2083 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
2084 project?&lt;/strong&gt;&lt;/p&gt;
2085
2086 &lt;p&gt;Skolelinux had two representatives at an early Edubuntu meeting in
2087 London which I attended. However at that time our school network had
2088 just been installed using CentOS, LTSP 4 and GNOME. When LTSP 5 came
2089 along we switched to Edubuntu thin client servers so now we have a
2090 mixed environment which includes Windows PCs and student laptops, as
2091 well as their MacBooks and iPads. However, the proprietary systems
2092 have always been rather problematic, and we never built a GUI for the
2093 LDAP server, so when I discovered Skolelinux is configured for all
2094 these things we decided to try it.&lt;/p&gt;
2095
2096 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
2097 Edu?&lt;/strong&gt;&lt;/p&gt;
2098
2099 &lt;p&gt;By far the biggest advantage is the Debian Edu community. Apart
2100 from that I have always believed in the same &quot;sustainable computing&quot;
2101 goals that Skolelinux is built on: installing Linux on computers which
2102 would otherwise be thrown away, to provide a reliable, secure and
2103 low-cost IT environment for schools. From my own experience I know
2104 that a part-time person can teach and manage a network of about 25
2105 Linux computers, but it would take much more of my time if we had
2106 proprietary software everywhere.&lt;/p&gt;
2107
2108 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
2109 Edu?&lt;/strong&gt;&lt;/p&gt;
2110
2111 &lt;p&gt;As a newcomer I&#39;m just finding out who&#39;s who in the community and
2112 how you&#39;re organised, and what your procedures are for dealing with
2113 various things such as editing manual pages and so-on. The only
2114 English language mailing list seems to be for developers as well as
2115 users, so my inbox needs heavy pruning each day!&lt;/p&gt;
2116
2117 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
2118
2119 &lt;p&gt;Besides the software already mentioned at school we use Samba,
2120 OpenLDAP, CUPS, Nagios and Dansguardian for the network, and on the
2121 desktops we have LibreOffice, Firefox, GIMP and Inkscape. At home I
2122 use Ubuntu and an Android 4 eePad Transformer (but I&#39;m not sure if
2123 that counts...)&lt;/p&gt;
2124
2125 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
2126 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
2127
2128 &lt;p&gt;That&#39;s a tough question! For very many years UK schools installed
2129 and taught only proprietary software, so that at the highest levels
2130 the notion of &quot;computer&quot; means simply &quot;proprietary office
2131 applications&quot;. However, schools today are experiencing budget
2132 constraints, and many are having to think hard about upgrading Windows
2133 XP. At the same time, we have students showing teachers how to use
2134 iPads, MacBooks and Android, so the choice of operating system is no
2135 longer quite so automatic. What is more, our government at last
2136 realised that we need people with programming skills, so they&#39;re
2137 putting coding back in the curriculum! And it&#39;s encouraging that the
2138 first 10,000 Raspberry Pi units sold out in 2 hours.&lt;/p&gt;
2139
2140 &lt;p&gt;I don&#39;t really know what strategy is going to get UK schools to use
2141 free software, but building an active community of Skolelinux/Debian
2142 Edu users in this country has to be part of it.&lt;/p&gt;
2143 </description>
2144 </item>
2145
2146 <item>
2147 <title>Writing and translating documentation in Debian Edu</title>
2148 <link>http://people.skolelinux.org/pere/blog/Writing_and_translating_documentation_in_Debian_Edu.html</link>
2149 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Writing_and_translating_documentation_in_Debian_Edu.html</guid>
2150 <pubDate>Fri, 16 Mar 2012 09:55:00 +0100</pubDate>
2151 <description>&lt;p&gt;Documentation in Debian Edu is provided in several languages, and
2152 it is important to make it both easy to contribute and to keep the
2153 translated versions in sync. To do this we have come up with what we
2154 believe is a very efficient work flow.&lt;/p&gt;
2155
2156 &lt;ol&gt;
2157
2158 &lt;li&gt;The documentation is written in a
2159 &lt;a href=&quot;http://moinmo.in&quot;&gt;moinmoin wiki&lt;/a&gt; (see for example
2160 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/Documentation/Squeeze&quot;&gt;the
2161 Squeeze release manual&lt;/a&gt;) with support for exporting the content as
2162 docbook XML.&lt;/li&gt;
2163
2164 &lt;li&gt;This docbook document is given to po4a to extract a gettext style
2165 .pot file with the content, which in turn is used to create .po files
2166 with the translated text.&lt;/li&gt;
2167
2168 &lt;li&gt;The .po files are given to translators, and they can always tell
2169 which part of the original wiki document is new or changed. They can
2170 use their normal translation tools like lokalize or poedit to write
2171 the translation. There is even a system in place to handle translated
2172 images.&lt;/li&gt;
2173
2174 &lt;li&gt;The translated .po files are combined with the original docbook
2175 XML document using po4a to create a translated docbook document.&lt;/li&gt;
2176
2177 &lt;li&gt;The final step is to use all the generated docbook files and
2178 create PDF and HTML version of the original and translated documents.&lt;/li&gt;
2179
2180 &lt;/ol&gt;
2181
2182 &lt;p&gt;This setup work very well, but have a few issues. The biggest
2183 issue is that &lt;a href=&quot;http://moinmo.in/DocBook&quot;&gt;the docbook support
2184 we use in moinmoin&lt;/a&gt; is not actively maintained. The docbook
2185 support is also buggy, and our build system contain workarounds to
2186 make sure the generated docbook is usable despite these bugs.&lt;/p&gt;
2187
2188 &lt;p&gt;If you want to have a look at our setup, it is all there in the
2189 &lt;a href=&quot;http://packages.qa.debian.org/debian-edu-doc&quot;&gt;debian-edu-doc
2190 package&lt;/a&gt;.&lt;/p&gt;
2191 </description>
2192 </item>
2193
2194 <item>
2195 <title>Skolelinux / Debian Edu Squeeze is out!</title>
2196 <link>http://people.skolelinux.org/pere/blog/Skolelinux___Debian_Edu_Squeeze_is_out_.html</link>
2197 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Skolelinux___Debian_Edu_Squeeze_is_out_.html</guid>
2198 <pubDate>Sun, 11 Mar 2012 23:00:00 +0100</pubDate>
2199 <description>&lt;p&gt;This weekend we finally published the first stable release of
2200 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux / Debian Edu&lt;/a&gt; based
2201 on Debian/Squeeze. The full announcement is
2202 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2012/03/msg00001.html&quot;&gt;available&lt;/a&gt;
2203 from the project announcement list. Now is a good time to test if it
2204 you have not done so already.&lt;/p&gt;
2205
2206 &lt;p&gt;I plan to present the new version at
2207 &lt;a href=&quot;http://www.nuug.no/aktiviteter/20120313-skolelinux/&quot;&gt;a NUUG
2208 meeting&lt;/a&gt; on tuesday. I look forward to seeing you there if you are
2209 in Oslo, Norway.&lt;/p&gt;
2210 </description>
2211 </item>
2212
2213 <item>
2214 <title>Debian Edu interview: Nigel Barker</title>
2215 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Nigel_Barker.html</link>
2216 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Nigel_Barker.html</guid>
2217 <pubDate>Fri, 9 Mar 2012 11:30:00 +0100</pubDate>
2218 <description>&lt;p&gt;Inspired by &lt;a href=&quot;http://raphaelhertzog.com/tag/interview/&quot;&gt;the
2219 interview series&lt;/a&gt; conducted by Raphael, I started a Norwegian
2220 interview series with people involved in the Debian Edu / Skolelinux
2221 community. This was so popular that I believe it is time to move to a
2222 more international audience.&lt;/p&gt;
2223
2224 &lt;p&gt;While &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu and
2225 Skolelinux&lt;/a&gt; originated in France and Norway, and have most users in
2226 Europe, there are users all around the globe. One of those far away
2227 from me is Nigel Barker, a long time Debian Edu system administrator
2228 and contributor. It is thanks to him that Debian Edu is adjusted to
2229 work out of the box in Japan. I got him to answer a few questions,
2230 and am happy to share the response with you. :)
2231
2232
2233 &lt;p&gt;&lt;strong&gt;Who are you, and how do you spend your days?&lt;/strong&gt;&lt;/p&gt;
2234
2235 &lt;p&gt;My name is Nigel Barker, and I am British. I am married to Yumiko,
2236 and we have three lovely children, aged 15, 14 and 4(!) I am the IT
2237 Coordinator at Hiroshima International School, Japan. I am also a
2238 teacher, and in fact I spend most of my day teaching Mathematics,
2239 Science, IT, and Chemistry. I was originally a Chemistry teacher, but
2240 I have always had an interest in computers. Another teacher teaches
2241 primary school IT, but apart from that I am the only computer person,
2242 so that means I am the network manager, technician and webmaster,
2243 also, and I help people with their computer problems. I teach python
2244 to beginners in an after-school club. I am way too busy, so I really
2245 appreciate the simplicity of Skolelinux.&lt;/p&gt;
2246
2247 &lt;p&gt;&lt;strong&gt;How did you get in contact with the Skolelinux/Debian Edu
2248 project?&lt;/strong&gt;&lt;/p&gt;
2249
2250 &lt;p&gt;In around 2004 or 5 I discovered the ltsp project, and set up a
2251 server in the IT lab. I wanted some way to connect it to our central
2252 samba server, which I was also quite poor at configuring. I discovered
2253 Edubuntu when it came out, but it didn&#39;t really improve my setup. I
2254 did various desperate searches for things like &quot;school Linux server&quot;
2255 and ended up in a document called &quot;Drift&quot; something or other. Reading
2256 there it became clear that Skolelinux was going to solve all my
2257 problems in one go. I was very excited, but apprehensive, because my
2258 previous attempts to install Debian had ended in failure (I used
2259 Mandrake for everything - ltsp, samba, apache, mail, ns...). I
2260 downloaded a beta version, had some problems, so subscribed to the
2261 Debian Edu list for help. I have remained subscribed ever since, and
2262 my school has run a Skolelinux network since Sarge.&lt;/p&gt;
2263
2264 &lt;p&gt;&lt;strong&gt;What do you see as the advantages of Skolelinux/Debian
2265 Edu?&lt;/strong&gt;&lt;/p&gt;
2266
2267 &lt;p&gt;For me the integrated setup. This is not just the server, or the
2268 workstation, or the ltsp. Its all of them, and its all configured
2269 ready to go. I read somewhere in the early documentation that it is
2270 designed to be setup and managed by the Maths or Science teacher, who
2271 doesn&#39;t necessarily know much about computers, in a small Norwegian
2272 school. That describes me perfectly if you replace Norway with
2273 Japan.&lt;/p&gt;
2274
2275 &lt;p&gt;&lt;strong&gt;What do you see as the disadvantages of Skolelinux/Debian
2276 Edu?&lt;/strong&gt;&lt;/p&gt;
2277
2278 &lt;p&gt;The desktop is fairly plain. If you compare it with Edubuntu, who
2279 have fun themes for children, or with distributions such as Mint, who
2280 make the desktop beautiful. They create a good impression on people
2281 who don&#39;t need to understand how to use any of it, but who might be
2282 important to the school. School administrators or directors, for
2283 instance, or parents. Even kids. Debian itself usually has ugly
2284 default theme settings. It was my dream a few years back that some
2285 kind of integration would allow Edubuntu to do the desktop stuff and
2286 Debian Edu the servers, but now I realise how impossible that is. A
2287 second disadvantage is that if something goes wrong, or you need to
2288 customise something, then suddenly the level of expertise required
2289 multiplies. For example, backup wasn&#39;t working properly in Lenny. It
2290 took me ages to learn how to set up my own server to do rsync backups.
2291 I am afraid of anything to do with ldap, but perhaps Gosa will
2292 help.&lt;/p&gt;
2293
2294 &lt;p&gt;&lt;strong&gt;Which free software do you use daily?&lt;/strong&gt;&lt;/p&gt;
2295
2296 &lt;p&gt;Nowadays I only use Debian on my personal computers. I have one for
2297 studio work (I play guitar and write songs), running AV Linux
2298 (customised Debian) a netbook running Squeeze, and a bigger laptop
2299 still running Skolelinux Lenny workstation. I have a Tjener in my
2300 house, that&#39;s very useful for the family photos and music. At school
2301 the students only use Skolelinux. (Some teachers and the office still
2302 have windows). So that means we only use free software all day every
2303 day. Open office, The GIMP, Firefox/Iceweasel, VLC and Audacity are
2304 installed on every computer in school, irrespective of OS. We also
2305 have Koha on Debian for the library, and Apache, Moodle, b2evolution
2306 and Etomite on Debian for the www. The firewall is Untangle.&lt;/p&gt;
2307
2308 &lt;p&gt;&lt;strong&gt;Which strategy do you believe is the right one to use to
2309 get schools to use free software?&lt;/strong&gt;&lt;/p&gt;
2310
2311 &lt;p&gt;Current trends are in our favour. Open source is big in industry,
2312 and ordinary people have heard of it. The spread of Android and the
2313 popularity of Apple have helped to weaken the impression that you have
2314 to have Microsoft on everything. People complain to me much less about
2315 file formats and Word than they did 5 years ago. The Edu aspect is
2316 also a selling point. This is all customised for schools. Where is the
2317 Windows-edu, or the Mac-edu? But of course the main attraction is
2318 budget.The trick is to convince people that the quality is not
2319 compromised when you stop paying and use free software instead. That
2320 is one reason why I say the desktop experience is a weakness. People
2321 are not impressed when their USB drive doesn&#39;t work, or their browser
2322 doesn&#39;t play flash, for example.&lt;/p&gt;
2323 </description>
2324 </item>
2325
2326 <item>
2327 <title>Debian Edu screencast: Mass creation of user accounts in Squeeze</title>
2328 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_screencast__Mass_creation_of_user_accounts_in_Squeeze.html</link>
2329 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_screencast__Mass_creation_of_user_accounts_in_Squeeze.html</guid>
2330 <pubDate>Wed, 7 Mar 2012 13:40:00 +0100</pubDate>
2331 <description>&lt;!-- Video HTML based on http://www.diveintohtml5.net/video.html --&gt;
2332
2333 &lt;p&gt;One of the Debian Edu developers, Wolfgang Schweer, just created a
2334 screen cast documenting how to create a lot of new users in LDAP on
2335 Debian Edu Squeeze. The video is embedded here in quarter size, and
2336 also available from &lt;a href=&quot;http://vimeo.com/37675399&quot;&gt;vimeo&lt;/a&gt; and
2337 download as a
2338 &lt;a href=&quot;http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-02-29-debian_edu_mass_create_user_accounts.ogv&quot;&gt;Ogg
2339 Theora&lt;/a&gt; file. Check it out below.&lt;/p&gt;
2340
2341 &lt;p&gt;&lt;video id=&quot;gosa-mass-user-create-movie&quot; width=&quot;256&quot; height=&quot;184&quot; preload controls&gt;
2342 &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;
2343 &lt;p&gt;Download video as
2344 &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;
2345 &lt;/video&gt;&lt;/p&gt;
2346 </description>
2347 </item>
2348
2349 <item>
2350 <title>Third release candidate of Debian Edu / Skolelinux based on Squeeze</title>
2351 <link>http://people.skolelinux.org/pere/blog/Third_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</link>
2352 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Third_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</guid>
2353 <pubDate>Sun, 4 Mar 2012 18:20:00 +0100</pubDate>
2354 <description>&lt;p&gt;This weekend we wrapped up and published the third release
2355 candidate for &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu /
2356 Skolelinux&lt;/a&gt; based on Squeeze. The full announcement is
2357 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2012/03/msg00000.html&quot;&gt;available&lt;/a&gt;
2358 from the project announcement list. Check it out if you
2359 need a software solution for your school.&lt;/p&gt;
2360 </description>
2361 </item>
2362
2363 <item>
2364 <title>Stopmotion for making stop motion animations on Linux - reloaded</title>
2365 <link>http://people.skolelinux.org/pere/blog/Stopmotion_for_making_stop_motion_animations_on_Linux___reloaded.html</link>
2366 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Stopmotion_for_making_stop_motion_animations_on_Linux___reloaded.html</guid>
2367 <pubDate>Sat, 3 Mar 2012 12:50:00 +0100</pubDate>
2368 <description>&lt;p&gt;Many years ago, the &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux
2369 / Debian Edu project&lt;/a&gt; initiated a student project to create a tool
2370 for making stop motion movies. The proposal came from a teacher
2371 needing such tool on Skolelinux. The project, called &quot;stopmotion&quot;,
2372 was manned by two extraordinary students and won a school award and a
2373 national aware with this great project. The project was initiated and
2374 mentored by Herman Robak, and manned by the students Bjørn Erik Nilsen
2375 and Fredrik Berg Kjølstad. They got in touch with people at Aardman
2376 Animation studio and received feedback on how professionals would like
2377 such stopmotion tool to work, and the end result was and is used by
2378 animators around the globe. But as is usual after studying, both got
2379 jobs and went elsewhere, and did not have time to properly tend to the
2380 project, and it has been lingering for a few years now. Until last
2381 year...&lt;/p&gt;
2382
2383 &lt;p&gt;Last year some of the users got together with Herman, and moved the
2384 project to Sourceforge and in effect restarted the project under a new
2385 name,
2386 &lt;a href=&quot;http://sourceforge.net/projects/linuxstopmotion/&quot;&gt;linuxstopmotion&lt;/a&gt;.
2387 The name change was done to make it possible to find the project using
2388 Internet search engines (try to search for &#39;stopmotion&#39; to see what I
2389 mean). I&#39;ve been following
2390 &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/linuxstopmotion-community&quot;&gt;the
2391 mailing list&lt;/a&gt; and the improvement already in place and planned for
2392 the future is encouraging. If you want to make stop motion movies.
2393 Check it out. :)&lt;/p&gt;
2394 </description>
2395 </item>
2396
2397 <item>
2398 <title>Second release candidate of Debian Edu / Skolelinux based on Squeeze</title>
2399 <link>http://people.skolelinux.org/pere/blog/Second_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</link>
2400 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Second_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</guid>
2401 <pubDate>Mon, 27 Feb 2012 14:00:00 +0100</pubDate>
2402 <description>&lt;p&gt;This weekend we wrapped up and published the second release
2403 candidate for &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu /
2404 Skolelinux&lt;/a&gt; based on Squeeze. The full announcement did for some
2405 reason not make it the project announcement list, but is
2406 &lt;a href=&quot;http://lists.debian.org/debian-devel-announce/2012/02/msg00015.html&quot;&gt;available&lt;/a&gt;
2407 from the Debian development announcement list. Check it out if you
2408 need a software solution for your school.&lt;/p&gt;
2409 </description>
2410 </item>
2411
2412 <item>
2413 <title>First release candidate of Debian Edu / Skolelinux based on Squeeze</title>
2414 <link>http://people.skolelinux.org/pere/blog/First_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</link>
2415 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/First_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</guid>
2416 <pubDate>Sun, 19 Feb 2012 23:10:00 +0100</pubDate>
2417 <description>&lt;p&gt;One week delayed due to DVD build problems, we managed today to
2418 wrap up and publish the first release candidate for
2419 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt; based
2420 on Squeeze. The full announcement is
2421 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2012/02/msg00001.html&quot;&gt;available&lt;/a&gt;
2422 on the project announcement list. Check it out if you need a software
2423 solution for your school.&lt;/p&gt;
2424 </description>
2425 </item>
2426
2427 <item>
2428 <title>How to figure out which RAID disk to replace when it fail</title>
2429 <link>http://people.skolelinux.org/pere/blog/How_to_figure_out_which_RAID_disk_to_replace_when_it_fail.html</link>
2430 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/How_to_figure_out_which_RAID_disk_to_replace_when_it_fail.html</guid>
2431 <pubDate>Tue, 14 Feb 2012 21:25:00 +0100</pubDate>
2432 <description>&lt;p&gt;Once in a while my home server have disk problems. Thanks to Linux
2433 Software RAID, I have not lost data yet (but
2434 &lt;a href=&quot;http://comments.gmane.org/gmane.linux.raid/34532&quot;&gt;I was
2435 close&lt;/a&gt; this summer :). But once a disk is starting to behave
2436 funny, a practical problem present itself. How to get from the Linux
2437 device name (like /dev/sdd) to something that can be used to identify
2438 the disk when the computer is turned off? In my case I have SATA
2439 disks with a unique ID printed on the label. All I need is a way to
2440 figure out how to query the disk to get the ID out.&lt;/p&gt;
2441
2442 &lt;p&gt;After fumbling a bit, I
2443 &lt;a href=&quot;http://www.cyberciti.biz/faq/linux-getting-scsi-ide-harddisk-information/&quot;&gt;found
2444 that hdparm -I&lt;/a&gt; will report the disk serial number, which is
2445 printed on the disk label. The following (almost) one-liner can be
2446 used to look up the ID of all the failed disks:&lt;/p&gt;
2447
2448 &lt;blockquote&gt;&lt;pre&gt;
2449 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);
2450 do
2451 printf &quot;Failed disk $d: &quot;
2452 hdparm -I /dev/$d |grep &#39;Serial Num&#39;
2453 done
2454 &lt;/blockquote&gt;&lt;/pre&gt;
2455
2456 &lt;p&gt;Putting it here to make sure I do not have to search for it the
2457 next time, and in case other find it useful.&lt;/p&gt;
2458
2459 &lt;p&gt;At the moment I have two failing disk. :(&lt;/p&gt;
2460
2461 &lt;blockquote&gt;&lt;pre&gt;
2462 Failed disk sdd1: Serial Number: WD-WCASJ1860823
2463 Failed disk sdd2: Serial Number: WD-WCASJ1860823
2464 Failed disk sde2: Serial Number: WD-WCASJ1840589
2465 &lt;/blockquote&gt;&lt;/pre&gt;
2466
2467 &lt;p&gt;The last time I had failing disks, I added the serial number on
2468 labels I printed and stuck on the short sides of each disk, to be able
2469 to figure out which disk to take out of the box without having to
2470 remove each disk to look at the physical vendor label. The vendor
2471 label is at the top of the disk, which is hidden when the disks are
2472 mounted inside my box.&lt;/p&gt;
2473
2474 &lt;p&gt;I really wish the check_linux_raid Nagios plugin for checking Linux
2475 Software RAID in the
2476 &lt;a href=&quot;http://packages.qa.debian.org/n/nagios-plugins.html&quot;&gt;nagios-plugins-standard&lt;/a&gt;
2477 debian package would look up this value automatically, as it would
2478 make the plugin a lot more useful when my disks fail. At the moment
2479 it only report a failure when there are no more spares left (it really
2480 should warn as soon as a disk is failing), and it do not tell me which
2481 disk(s) is failing when the RAID is running short on disks.&lt;/p&gt;
2482 </description>
2483 </item>
2484
2485 <item>
2486 <title>Automatic proxy configuration with Debian Edu / Skolelinux</title>
2487 <link>http://people.skolelinux.org/pere/blog/Automatic_proxy_configuration_with_Debian_Edu___Skolelinux.html</link>
2488 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Automatic_proxy_configuration_with_Debian_Edu___Skolelinux.html</guid>
2489 <pubDate>Mon, 13 Feb 2012 23:40:00 +0100</pubDate>
2490 <description>&lt;p&gt;New in the Squeeze version of
2491 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt; is the
2492 ability for clients to automatically configure their proxy settings
2493 based on their environment. We want all systems on the client to use
2494 the WPAD based proxy definition fetched from &lt;tt&gt;http://wpad/wpad.dat&lt;/tt&gt;, to
2495 allow sites to control the proxy setting from a central place and make
2496 sure clients do not have hard coded proxy settings. The schools can
2497 change the global proxy setting by editing
2498 &lt;tt&gt;tjener:/etc/debian-edu/www/wpad.dat&lt;/tt&gt; and the change propagate
2499 to all Debian Edu clients in the network.&lt;/p&gt;
2500
2501 &lt;p&gt;The problem is that some systems do not understand the WPAD system.
2502 In other words, how do one get from a WPAD file like this (this is a
2503 simple one, they can run arbitrary code):&lt;/p&gt;
2504
2505 &lt;blockquote&gt;&lt;pre&gt;
2506 function FindProxyForURL(url, host)
2507 {
2508 if (!isResolvable(host) ||
2509 isPlainHostName(host) ||
2510 dnsDomainIs(host, &quot;.intern&quot;))
2511 return &quot;DIRECT&quot;;
2512 else
2513 return &quot;PROXY webcache:3128; DIRECT&quot;;
2514 }
2515 &lt;/pre&gt;&lt;/blockquote&gt;
2516
2517 &lt;p&gt;to a proxy setting in the process environment looking like this:&lt;/p&gt;
2518
2519 &lt;blockquote&gt;&lt;pre&gt;
2520 http_proxy=http://webcache:3128/
2521 ftp_proxy=http://webcache:3128/
2522 &lt;/pre&gt;&lt;/blockquote&gt;
2523
2524 &lt;p&gt;To do this conversion I developed a perl script that will execute
2525 the javascript fragment in the WPAD file and return the proxy that
2526 would be used for
2527 &lt;tt&gt;&lt;a href=&quot;http://www.debian.org/&quot;&gt;http://www.debian.org/&lt;/a&gt;&lt;/tt&gt;,
2528 and insert this extracted proxy URL in &lt;tt&gt;/etc/environment&lt;/tt&gt; and
2529 &lt;tt&gt;/etc/apt/apt.conf&lt;/tt&gt;. The perl script wpad-extract work just
2530 fine in Squeeze, but in Wheezy the library it need to run the
2531 javascript code is &lt;a href=&quot;http://bugs.debian.org/631045&quot;&gt;no longer
2532 able to build&lt;/a&gt; because the C library it depended on is now a C++
2533 library. I hope someone find a solution to that problem before Wheezy
2534 is frozen. An alternative would be for us to rewrite wpad-extract to
2535 use some other javascript library currently working in Wheezy, but no
2536 known alternative is known at the moment.&lt;/p&gt;
2537
2538 &lt;p&gt;This automatic proxy system allow the roaming workstation (aka
2539 laptop) setup in Debian Edu/Squeeze to use the proxy when the laptop
2540 is connected to the backbone network in a Debian Edu setup, and to
2541 automatically use any proxy present and announced using the WPAD
2542 feature when it is connected to other networks. And if no proxy is
2543 announced, direct connections will be used instead.&lt;/p&gt;
2544
2545 &lt;p&gt;Silently using a proxy announced on the network might be a privacy
2546 or security problem. But those controlling DHCP and DNS on a network
2547 could just as easily set up a transparent proxy, and force all HTTP
2548 and FTP connections to use a proxy anyway, so I consider that
2549 distinction to be academic. If you are afraid of using the wrong
2550 proxy, you should avoid connecting to the network in question in the
2551 first place. In Debian Edu, the proxy setup is updated using dhcp and
2552 ifupdown hooks, to make sure the configuration is updated every time
2553 the network setup changes.&lt;/p&gt;
2554
2555 &lt;p&gt;The WPAD system is documented in a
2556 &lt;a href=&quot;http://tools.ietf.org/html/draft-ietf-wrec-wpad-01&quot;&gt;IETF
2557 draft&lt;/a&gt; and a
2558 &lt;a href=&quot;http://en.wikipedia.org/wiki/Web_Proxy_Autodiscovery_Protocol&quot;&gt;Wikipedia
2559 page&lt;/a&gt; for those that want to learn more.&lt;/p&gt;
2560 </description>
2561 </item>
2562
2563 <item>
2564 <title>Saving power with Debian Edu / Skolelinux using shutdown-at-night</title>
2565 <link>http://people.skolelinux.org/pere/blog/Saving_power_with_Debian_Edu___Skolelinux_using_shutdown_at_night.html</link>
2566 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Saving_power_with_Debian_Edu___Skolelinux_using_shutdown_at_night.html</guid>
2567 <pubDate>Sun, 5 Feb 2012 09:45:00 +0100</pubDate>
2568 <description>&lt;p&gt;Since the Lenny version of
2569 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt;, a
2570 feature to save power have been included. It is as simple as it is
2571 practical: Shut down unused clients at night, and turn them on again
2572 in the morning. This is done using the
2573 &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;
2574
2575 &lt;p&gt;To enable this feature on a client, the machine need to be added to
2576 the netgroup shutdown-at-night-hosts. For Debian Edu, this is done in
2577 LDAP, and once this is in place, the machine in question will check
2578 every hour from 16:00 until 06:00 to see if the machine is unused, and
2579 shut it down if it is. If the hardware in question is supported by
2580 the
2581 &lt;a href=&quot;http://packages.qa.debian.org/n/nvram-wakeup.html&quot;&gt;nvram-wakeup&lt;/a&gt;
2582 package, the BIOS is told to turn the machine back on around 07:00 +-
2583 10 minutes. If this isn&#39;t working, one can configure wake-on-lan to
2584 try to turn on the client. The wake-on-lan option is only documented
2585 and not enabled by default in Debian Edu.&lt;/p&gt;
2586
2587 &lt;p&gt;It is important to not turn all machines on at once, as this can
2588 blow a fuse if several computers are connected to the same fuse like
2589 the common setup for a classroom. The nvram-wakeup method only work
2590 for machines with a functioning hardware/BIOS clock. I&#39;ve seen old
2591 machines where the BIOS battery were dead and the hardware clock were
2592 starting from 0 (or was it 1990?) every boot. If you have one of
2593 those, you have to turn on the computer manually.&lt;/p&gt;
2594
2595 &lt;p&gt;The shutdown-at-night package is completely self contained, and can
2596 also be used outside the Debian Edu environment. For those without a
2597 central LDAP server with netgroups, one can instead touch the file
2598 &lt;tt&gt;/etc/shutdown-at-night/shutdown-at-night&lt;/tt&gt; to enable it.
2599 Perhaps you too can use it to save some power?&lt;/p&gt;
2600 </description>
2601 </item>
2602
2603 <item>
2604 <title>Third beta version of Debian Edu / Skolelinux based on Squeeze</title>
2605 <link>http://people.skolelinux.org/pere/blog/Third_beta_version_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</link>
2606 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Third_beta_version_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</guid>
2607 <pubDate>Sat, 4 Feb 2012 13:25:00 +0100</pubDate>
2608 <description>&lt;p&gt;I am happy to announce that finally we managed today to wrap up and
2609 publish the third beta version of
2610 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt; based
2611 on Squeeze. If you want to test a LDAP backed Kerberos server with
2612 out of the box PXE configuration for running diskless machines and
2613 installing new machines, check it out. If you need a software
2614 solution for your school, check it out too. The full announcement is
2615 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2012/02/msg00000.html&quot;&gt;available&lt;/a&gt;
2616 on the project announcement list.&lt;/p&gt;
2617
2618 &lt;p&gt;I am very happy to report these changes and improvements since
2619 beta2 (there are more, see announcement for full list):&lt;/p&gt;
2620
2621 &lt;ul&gt;
2622
2623 &lt;li&gt;It is now possible to change the pre-configured IP subnet from
2624 10.0.0.0/8 to something else by using the subnet-change tool after
2625 the installation.&lt;/li&gt;
2626
2627 &lt;li&gt;Too full partitions are now automatically extended on the Main
2628 Server, based on the rules specified in /etc/fsautoresizetab.&lt;/li&gt;
2629
2630 &lt;li&gt;The CUPS queues are now automatically flushed every night, and all
2631 disabled queues are restarted every hour. This should cut down on
2632 the amount of manual administration needed for printers.&lt;/li&gt;
2633
2634 &lt;li&gt;The set of initial users have been changed. Now a personal user
2635 for the local system administrator is created during installation
2636 instead of the previously created localadmin and super-admin users,
2637 and this user is granted administrative privileges using group
2638 membership. This reduces the number of passwords one need to keep
2639 up to date on the system.&lt;/li&gt;
2640
2641 &lt;/ul&gt;
2642
2643 &lt;p&gt;The new main server seem to work so well that I am testing it as my
2644 private DNS/LDAP/Kerberos/PXE/LTSP server at home. I will use it look
2645 for issues we could fix to polish Debian Edu even further before the
2646 final Squeeze release is published.&lt;/p&gt;
2647
2648 &lt;p&gt;Next weekend the project organise a
2649 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2012/01/msg00001.html&quot;&gt;developer
2650 gathering&lt;/a&gt; in Oslo. We will continue the work on the Squeeze
2651 version, and start initial planning for the Wheezy version. Perhaps I
2652 will see you there?&lt;/p&gt;
2653 </description>
2654 </item>
2655
2656 <item>
2657 <title>Handling non-free firmware in Debian Edu/Squeeze</title>
2658 <link>http://people.skolelinux.org/pere/blog/Handling_non_free_firmware_in_Debian_Edu_Squeeze.html</link>
2659 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Handling_non_free_firmware_in_Debian_Edu_Squeeze.html</guid>
2660 <pubDate>Fri, 27 Jan 2012 23:30:00 +0100</pubDate>
2661 <description>&lt;p&gt;With some computer hardware, one need non-free firmware blobs.
2662 This is the sad fact of todays computers. In the next version of
2663 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt; based
2664 on Squeeze, we provide several scripts and modifications to make
2665 firmware blobs easier to handle. The common use case I run into is a
2666 laptop with a wireless network card requiring non-free firmware to
2667 work, but there are other use cases as well.&lt;/p&gt;
2668
2669 &lt;p&gt;First and foremost, Debian Edu provide ISO images for DVD and CD
2670 with all firmware packages in the Debian sections main and non-free
2671 included, to ensure debian-installer find and can install all of them
2672 during installation. This take care firmware for network devices used
2673 by the installer when installing from from local media. But for
2674 example multimedia devices are not activated in the installer and are
2675 not taken care of by this.&lt;/p&gt;
2676
2677 &lt;p&gt;For non-network devices, we provide the script
2678 &lt;tt&gt;/usr/share/debian-edu-config/tools/auto-addfirmware&lt;/tt&gt; which
2679 search through the &lt;tt&gt;dmesg&lt;/tt&gt; output for drivers requesting extra
2680 firmware. The firmware file name is looked up in the Contents-ARCH.gz
2681 file available in the package repository, and the packages providing
2682 the requested firmware file(s) is installed. I have proposed to do
2683 something similar in debian-installer (BTS report
2684 &lt;a href=&quot;http://bugs.debian.org/655507&quot;&gt;#655507&lt;/a&gt;), to allow PXE
2685 installs of Debian to handle firmware installation better. Run the
2686 script as root from the command line to fetch and install the needed
2687 firmware packages.&lt;/p&gt;
2688
2689 &lt;p&gt;Debian Edu provide PXE installation of Debian out of the box, and
2690 because some machines need firmware to get their network cards
2691 working, the installation initrd some times need extra firmware
2692 included to be able to install at all. To fill the PXE installation
2693 initrd with extra firmware, the
2694 &lt;tt&gt;/usr/share/debian-edu-config/tools/pxe-addfirmware&lt;/tt&gt; script is
2695 provided. Again, just run it as root on the command line to fill the
2696 PXE initrd with firmware packages.&lt;/p&gt;
2697
2698 &lt;p&gt;Last, some LTSP clients might also need firmware to get their
2699 network cards working. For this,
2700 &lt;tt&gt;/usr/share/debian-edu-config/tools/ltsp-addfirmware&lt;/tt&gt; is
2701 provided to update the LTSP initrd with firmware blobs. It is used
2702 the same way as the other firmware related tools.&lt;/p&gt;
2703
2704 &lt;p&gt;At the moment, we do not run any of these during installation. We
2705 do not know if this is acceptable for the local administrator to use
2706 non-free software, and it is their choice.&lt;/p&gt;
2707
2708 &lt;p&gt;We plan to release beta3 this weekend. You might want to give it a
2709 try.&lt;/p&gt;
2710 </description>
2711 </item>
2712
2713 <item>
2714 <title>Setting up a new school with Debian Edu/Squeeze</title>
2715 <link>http://people.skolelinux.org/pere/blog/Setting_up_a_new_school_with_Debian_Edu_Squeeze.html</link>
2716 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Setting_up_a_new_school_with_Debian_Edu_Squeeze.html</guid>
2717 <pubDate>Wed, 25 Jan 2012 21:00:00 +0100</pubDate>
2718 <description>&lt;p&gt;The next version of &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu
2719 / Skolelinux&lt;/a&gt; will include a new tool
2720 &lt;tt&gt;sitesummary2ldapdhcp&lt;/tt&gt;, which can be used to quickly set up all
2721 the computers in a school without much manual labour. Here is a short
2722 summary on how to use it to set up a new school.&lt;/p&gt;
2723
2724 &lt;p&gt;First, install a combined Main Server and Thin Client Server as the
2725 central server in the network. Next, PXE boot all the client machines
2726 as thin clients and wait 5 minutes after the last client booted to
2727 allow the clients to report their existence to the central server. When
2728 this is done, log on to the central server and run
2729 &lt;tt&gt;sitesummary2ldapdhcp -a&lt;/tt&gt; in the &lt;tt&gt;konsole&lt;/tt&gt; to use the
2730 collected information to generate system objects in LDAP. The output
2731 will look similar to this:&lt;/p&gt;
2732
2733 &lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
2734 % sitesummary2ldapdhcp -a
2735 info: Updating machine tjener.intern [10.0.2.2] id ether-00:01:02:03:04:05.
2736 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.
2737
2738 Enter password if you want to activate these changes, and ^c to abort.
2739
2740 Connecting to LDAP as cn=admin,ou=ldap-access,dc=skole,dc=skolelinux,dc=no
2741 enter password: *******
2742 %
2743 &lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
2744
2745 &lt;p&gt;After providing the LDAP administrative password (the same as the
2746 root password set during installation), the LDAP database will be
2747 populated with system objects for each PXE booted machine with
2748 automatically generated names. The final step to set up the school is
2749 then to log into &lt;a href=&quot;https://oss.gonicus.de/labs/gosa/&quot;&gt;GOsa&lt;/a&gt;,
2750 the web based user, group and system administration system to change
2751 system names, add systems to the correct host groups and finally
2752 enable DHCP and DNS for the systems. All clients that should be used
2753 as diskless workstations should be added to the workstation-hosts
2754 group. After this is done, all computers can be booted again via PXE
2755 and get their assigned names and group based configuration
2756 automatically.&lt;/p&gt;
2757
2758 &lt;p&gt;We plan to release beta3 with the updated version of this feature
2759 enabled this weekend. You might want to give it a try.&lt;/p&gt;
2760
2761 &lt;p&gt;Update 2012-01-28: When calling sitesummary2ldapdhcp to add new
2762 hosts, one need to add the option -a. I forgot to mention this in my
2763 original text, and have added it to the text now.&lt;/p&gt;
2764 </description>
2765 </item>
2766
2767 <item>
2768 <title>Changing the default Iceweasel start page in Debian Edu/Squeeze</title>
2769 <link>http://people.skolelinux.org/pere/blog/Changing_the_default_Iceweasel_start_page_in_Debian_Edu_Squeeze.html</link>
2770 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Changing_the_default_Iceweasel_start_page_in_Debian_Edu_Squeeze.html</guid>
2771 <pubDate>Tue, 10 Jan 2012 15:30:00 +0100</pubDate>
2772 <description>&lt;p&gt;In the Squeeze version of
2773 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt; soon
2774 to be released, users of the system will get their default browser
2775 start page set from LDAP, allowing the system administrator to point
2776 all users to the school web page by updating one setting in LDAP. In
2777 addition to setting the default start page when a machine boots, users
2778 are shown the same page as a welcome page when they log in for the
2779 first time.&lt;/p&gt;
2780
2781 &lt;p&gt;The LDAP object dc=skole,dc=skolelinux,dc=no have an attribute
2782 labeledURI with &quot;http://www/ LDAP for Debian Edu/Skolelinux&quot; as the
2783 default content. By changing this value to another URL, all users get
2784 to see the page behind this new URL.&lt;/p&gt;
2785
2786 &lt;p&gt;An easy way to update it is by using the ldapvi tool. It can be
2787 called as &quot;&lt;tt&gt;ldapvi -ZD &#39;(cn=admin)&#39;&lt;/tt&gt;&#39; to update LDAP with the
2788 new setting.&lt;/p&gt;
2789
2790 &lt;p&gt;We have written the code to adjust the default start page and show
2791 the welcome page, and I wonder if there is an easier way to do this
2792 from within Iceweasel instead.&lt;/p&gt;
2793 </description>
2794 </item>
2795
2796 <item>
2797 <title>Second beta version of Debian Edu / Skolelinux based on Squeeze</title>
2798 <link>http://people.skolelinux.org/pere/blog/Second_beta_version_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</link>
2799 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Second_beta_version_of_Debian_Edu___Skolelinux_based_on_Squeeze.html</guid>
2800 <pubDate>Sat, 7 Jan 2012 22:50:00 +0100</pubDate>
2801 <description>&lt;p&gt;I am happy to announce that today we managed to wrap up and publish
2802 the second beta version of
2803 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt;. If
2804 you want to test a LDAP backed Kerberos server with out of the box PXE
2805 configuration for running diskless machines and installing new
2806 machines, check it out. If you need a software solution for your
2807 school, check it out too. The full announcement is
2808 &lt;a href=&quot;http://lists.debian.org/debian-edu-announce/2012/01/msg00000.html&quot;&gt;available&lt;/a&gt;
2809 on the project announcement list.&lt;/p&gt;
2810 </description>
2811 </item>
2812
2813 <item>
2814 <title>Fixing an hanging debian installer for Debian Edu</title>
2815 <link>http://people.skolelinux.org/pere/blog/Fixing_an_hanging_debian_installer_for_Debian_Edu.html</link>
2816 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Fixing_an_hanging_debian_installer_for_Debian_Edu.html</guid>
2817 <pubDate>Tue, 3 Jan 2012 11:25:00 +0100</pubDate>
2818 <description>&lt;p&gt;During christmas, I have been working getting the next version of
2819 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu / Skolelinux&lt;/a&gt; ready
2820 for release. The initial problem I looked at was particularly
2821 interesting.&lt;/p&gt;
2822
2823 &lt;P&gt;The installer would hang at the end when it was doing it
2824 post-installation configuration, and whatevery I did to try to find
2825 the cause and fix it always worked while I tested it, but never when I
2826 integrated it into the installer and ran the installation from
2827 scratch. I would try to restart processes, close file descriptors,
2828 remove or create files, and the installer would always unblock and
2829 wrap up its tasks.&lt;/p&gt;
2830
2831 &lt;p&gt;Eventually the cause was found. The kernel was simply running out
2832 of entropy, causing the Kerberos setup to hang waiting for more.
2833 Pressing keys was adding entropy to the kernel, and thus all my tries
2834 to fix the problem worked not because what I was typing to fix it, but
2835 because I was typing.&lt;/P&gt;
2836
2837 &lt;p&gt;The fix I implemented was to add a background process looking at
2838 the level of entropy in the kernel (by checking
2839 /proc/sys/kernel/random/entropy_avail), and if it was too small, the
2840 installer will flush the kernel file buffers and do &#39;find /&#39; to
2841 generate some disk IO. Disk IO generate entropy in the kernel, and is
2842 one of the few things that can be initated from within the system to
2843 generate entropy.&lt;/p&gt;
2844
2845 &lt;p&gt;The fix is in
2846 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/Documentation/Squeeze/Installation&quot;&gt;beta1
2847 of the Debian Edu/Squeeze&lt;/a&gt; version, and we
2848 &lt;a href=&quot;http://wiki.debian.org/DebianEdu&quot;&gt;welcome more testers and
2849 developers&lt;/a&gt;. We plan to release beta2 this weekend.&lt;/p&gt;
2850 </description>
2851 </item>
2852
2853 <item>
2854 <title>Automatically upgrading server firmware on Dell PowerEdge</title>
2855 <link>http://people.skolelinux.org/pere/blog/Automatically_upgrading_server_firmware_on_Dell_PowerEdge.html</link>
2856 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Automatically_upgrading_server_firmware_on_Dell_PowerEdge.html</guid>
2857 <pubDate>Mon, 21 Nov 2011 12:00:00 +0100</pubDate>
2858 <description>&lt;p&gt;At work we have heaps of servers. I believe the total count is
2859 around 1000 at the moment. To be able to get help from the vendors
2860 when something go wrong, we want to keep the firmware on the servers
2861 up to date. If the firmware isn&#39;t the latest and greatest, the
2862 vendors typically refuse to start debugging any problems until the
2863 firmware is upgraded. So before every reboot, we want to upgrade the
2864 firmware, and we would really like everyone handling servers at the
2865 university to do this themselves when they plan to reboot a machine.
2866 For that to happen we at the unix server admin group need to provide
2867 the tools to do so.&lt;/p&gt;
2868
2869 &lt;p&gt;To make firmware upgrading easier, I am working on a script to
2870 fetch and install the latest firmware for the servers we got. Most of
2871 our hardware are from Dell and HP, so I have focused on these servers
2872 so far. This blog post is about the Dell part.&lt;/P&gt;
2873
2874 &lt;p&gt;On the Dell FTP site I was lucky enough to find
2875 &lt;a href=&quot;ftp://ftp.us.dell.com/catalog/Catalog.xml.gz&quot;&gt;an XML file&lt;/a&gt;
2876 with firmware information for all 11th generation servers, listing
2877 which firmware should be used on a given model and where on the FTP
2878 site I can find it. Using a simple perl XML parser I can then
2879 download the shell scripts Dell provides to do firmware upgrades from
2880 within Linux and reboot when all the firmware is primed and ready to
2881 be activated on the first reboot.&lt;/p&gt;
2882
2883 &lt;p&gt;This is the Dell related fragment of the perl code I am working on.
2884 Are there anyone working on similar tools for firmware upgrading all
2885 servers at a site? Please get in touch and lets share resources.&lt;/p&gt;
2886
2887 &lt;p&gt;&lt;pre&gt;
2888 #!/usr/bin/perl
2889 use strict;
2890 use warnings;
2891 use File::Temp qw(tempdir);
2892 BEGIN {
2893 # Install needed RHEL packages if missing
2894 my %rhelmodules = (
2895 &#39;XML::Simple&#39; =&gt; &#39;perl-XML-Simple&#39;,
2896 );
2897 for my $module (keys %rhelmodules) {
2898 eval &quot;use $module;&quot;;
2899 if ($@) {
2900 my $pkg = $rhelmodules{$module};
2901 system(&quot;yum install -y $pkg&quot;);
2902 eval &quot;use $module;&quot;;
2903 }
2904 }
2905 }
2906 my $errorsto = &#39;pere@hungry.com&#39;;
2907
2908 upgrade_dell();
2909
2910 exit 0;
2911
2912 sub run_firmware_script {
2913 my ($opts, $script) = @_;
2914 unless ($script) {
2915 print STDERR &quot;fail: missing script name\n&quot;;
2916 exit 1
2917 }
2918 print STDERR &quot;Running $script\n\n&quot;;
2919
2920 if (0 == system(&quot;sh $script $opts&quot;)) { # FIXME correct exit code handling
2921 print STDERR &quot;success: firmware script ran succcessfully\n&quot;;
2922 } else {
2923 print STDERR &quot;fail: firmware script returned error\n&quot;;
2924 }
2925 }
2926
2927 sub run_firmware_scripts {
2928 my ($opts, @dirs) = @_;
2929 # Run firmware packages
2930 for my $dir (@dirs) {
2931 print STDERR &quot;info: Running scripts in $dir\n&quot;;
2932 opendir(my $dh, $dir) or die &quot;Unable to open directory $dir: $!&quot;;
2933 while (my $s = readdir $dh) {
2934 next if $s =~ m/^\.\.?/;
2935 run_firmware_script($opts, &quot;$dir/$s&quot;);
2936 }
2937 closedir $dh;
2938 }
2939 }
2940
2941 sub download {
2942 my $url = shift;
2943 print STDERR &quot;info: Downloading $url\n&quot;;
2944 system(&quot;wget --quiet \&quot;$url\&quot;&quot;);
2945 }
2946
2947 sub upgrade_dell {
2948 my @dirs;
2949 my $product = `dmidecode -s system-product-name`;
2950 chomp $product;
2951
2952 if ($product =~ m/PowerEdge/) {
2953
2954 # on RHEL, these pacakges are needed by the firwmare upgrade scripts
2955 system(&#39;yum install -y compat-libstdc++-33.i686 libstdc++.i686 libxml2.i686 procmail&#39;);
2956
2957 my $tmpdir = tempdir(
2958 CLEANUP =&gt; 1
2959 );
2960 chdir($tmpdir);
2961 fetch_dell_fw(&#39;catalog/Catalog.xml.gz&#39;);
2962 system(&#39;gunzip Catalog.xml.gz&#39;);
2963 my @paths = fetch_dell_fw_list(&#39;Catalog.xml&#39;);
2964 # -q is quiet, disabling interactivity and reducing console output
2965 my $fwopts = &quot;-q&quot;;
2966 if (@paths) {
2967 for my $url (@paths) {
2968 fetch_dell_fw($url);
2969 }
2970 run_firmware_scripts($fwopts, $tmpdir);
2971 } else {
2972 print STDERR &quot;error: Unsupported Dell model &#39;$product&#39;.\n&quot;;
2973 print STDERR &quot;error: Please report to $errorsto.\n&quot;;
2974 }
2975 chdir(&#39;/&#39;);
2976 } else {
2977 print STDERR &quot;error: Unsupported Dell model &#39;$product&#39;.\n&quot;;
2978 print STDERR &quot;error: Please report to $errorsto.\n&quot;;
2979 }
2980 }
2981
2982 sub fetch_dell_fw {
2983 my $path = shift;
2984 my $url = &quot;ftp://ftp.us.dell.com/$path&quot;;
2985 download($url);
2986 }
2987
2988 # Using ftp://ftp.us.dell.com/catalog/Catalog.xml.gz, figure out which
2989 # firmware packages to download from Dell. Only work for Linux
2990 # machines and 11th generation Dell servers.
2991 sub fetch_dell_fw_list {
2992 my $filename = shift;
2993
2994 my $product = `dmidecode -s system-product-name`;
2995 chomp $product;
2996 my ($mybrand, $mymodel) = split(/\s+/, $product);
2997
2998 print STDERR &quot;Finding firmware bundles for $mybrand $mymodel\n&quot;;
2999
3000 my $xml = XMLin($filename);
3001 my @paths;
3002 for my $bundle (@{$xml-&gt;{SoftwareBundle}}) {
3003 my $brand = $bundle-&gt;{TargetSystems}-&gt;{Brand}-&gt;{Display}-&gt;{content};
3004 my $model = $bundle-&gt;{TargetSystems}-&gt;{Brand}-&gt;{Model}-&gt;{Display}-&gt;{content};
3005 my $oscode;
3006 if (&quot;ARRAY&quot; eq ref $bundle-&gt;{TargetOSes}-&gt;{OperatingSystem}) {
3007 $oscode = $bundle-&gt;{TargetOSes}-&gt;{OperatingSystem}[0]-&gt;{osCode};
3008 } else {
3009 $oscode = $bundle-&gt;{TargetOSes}-&gt;{OperatingSystem}-&gt;{osCode};
3010 }
3011 if ($mybrand eq $brand &amp;&amp; $mymodel eq $model &amp;&amp; &quot;LIN&quot; eq $oscode)
3012 {
3013 @paths = map { $_-&gt;{path} } @{$bundle-&gt;{Contents}-&gt;{Package}};
3014 }
3015 }
3016 for my $component (@{$xml-&gt;{SoftwareComponent}}) {
3017 my $componenttype = $component-&gt;{ComponentType}-&gt;{value};
3018
3019 # Drop application packages, only firmware and BIOS
3020 next if &#39;APAC&#39; eq $componenttype;
3021
3022 my $cpath = $component-&gt;{path};
3023 for my $path (@paths) {
3024 if ($cpath =~ m%/$path$%) {
3025 push(@paths, $cpath);
3026 }
3027 }
3028 }
3029 return @paths;
3030 }
3031 &lt;/pre&gt;
3032
3033 &lt;p&gt;The code is only tested on RedHat Enterprise Linux, but I suspect
3034 it could work on other platforms with some tweaking. Anyone know a
3035 index like Catalog.xml is available from HP for HP servers? At the
3036 moment I maintain a similar list manually and it is quickly getting
3037 outdated.&lt;/p&gt;
3038 </description>
3039 </item>
3040
3041 <item>
3042 <title>Free e-book kiosk for the public libraries?</title>
3043 <link>http://people.skolelinux.org/pere/blog/Free_e_book_kiosk_for_the_public_libraries_.html</link>
3044 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Free_e_book_kiosk_for_the_public_libraries_.html</guid>
3045 <pubDate>Fri, 7 Oct 2011 19:20:00 +0200</pubDate>
3046 <description>&lt;p&gt;Here in Norway the public libraries are debating with the
3047 publishing houses how to handle electronic books. Surprisingly, the
3048 libraries seem to be willing to accept digital restriction mechanisms
3049 (DRM) on books and renting e-books with artificial scarcity from the
3050 publishing houses. Time limited renting (2-3 years) is one proposed
3051 model, and only allowing X borrowers for each book is another.
3052 Personally I find it amazing that libraries are even considering such
3053 models.&lt;/p&gt;
3054
3055 &lt;p&gt;Anyway, while reading &lt;a href=&quot;http://boklaben.no/?p=220&quot;&gt;part of
3056 this debate&lt;/a&gt;, it occurred to me that someone should present a more
3057 sensible approach to the libraries, to allow its borrowers to get used
3058 to a better model. The idea is simple:&lt;/p&gt;
3059
3060 &lt;p&gt;Create a computer system for the libraries, either in the form of a
3061 Live DVD or a installable distribution, that provide a simple kiosk
3062 solution to hand out free e-books. As a start, the books distributed
3063 by &lt;a href=&quot;http://www.gutenberg.org/&quot;&gt;Project Gutenberg&lt;/a&gt; (abount
3064 36,000 books), &lt;a href=&quot;http://runeberg.org/&quot;&gt;Project Runenberg&lt;/a&gt;
3065 (1149 books) and &lt;a href=&quot;http://www.archive.org/details/texts&quot;&gt;The
3066 Internet Archive&lt;/a&gt; (3,033,748 books) could be included, but any book
3067 where the copyright has expired or with a free licence could be
3068 distributed.&lt;/p&gt;
3069
3070 &lt;p&gt;The computer system would make it easy to:&lt;/p&gt;
3071
3072 &lt;ul&gt;
3073
3074 &lt;li&gt;Copy e-books into a USB stick, reading tablets, cell phones and
3075 other relevant equipment.&lt;/li&gt;
3076
3077 &lt;li&gt;Show the books for reading on the the screen in the library.&lt;/li&gt;
3078
3079 &lt;/ul&gt;
3080
3081 &lt;p&gt;In addition to such kiosk solution, there should probably be a web
3082 site as well to allow people easy access to these books without
3083 visiting the library. The site would be the distribution point for
3084 the kiosk systems, which would connect regularly to fetch any new
3085 books available.&lt;/p&gt;
3086
3087 &lt;p&gt;Are there anyone working on a system like this? I guess it would
3088 fit any library in the world, and not just the Norwegian public
3089 libraries. :)&lt;/p&gt;
3090 </description>
3091 </item>
3092
3093 <item>
3094 <title>Ripping problematic DVDs using dvdbackup and genisoimage</title>
3095 <link>http://people.skolelinux.org/pere/blog/Ripping_problematic_DVDs_using_dvdbackup_and_genisoimage.html</link>
3096 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Ripping_problematic_DVDs_using_dvdbackup_and_genisoimage.html</guid>
3097 <pubDate>Sat, 17 Sep 2011 20:20:00 +0200</pubDate>
3098 <description>&lt;p&gt;For convenience, I want to store copies of all my DVDs on my file
3099 server. It allow me to save shelf space flat while still having my
3100 movie collection easily available. It also make it possible to let
3101 the kids see their favourite DVDs without wearing the physical copies
3102 down. I prefer to store the DVDs as ISOs to keep the DVD menu and
3103 subtitle options intact. It also ensure that the entire film is one
3104 file on the disk. As this is for personal use, the ripping is
3105 perfectly legal here in Norway.&lt;/p&gt;
3106
3107 &lt;p&gt;Normally I rip the DVDs using dd like this:&lt;/p&gt;
3108
3109 &lt;blockquote&gt;&lt;pre&gt;
3110 #!/bin/sh
3111 # apt-get install lsdvd
3112 title=$(lsdvd 2&gt;/dev/null|awk &#39;/Disc Title: / {print $3}&#39;)
3113 dd if=/dev/dvd of=/storage/dvds/$title.iso bs=1M
3114 &lt;/pre&gt;&lt;/blockquote&gt;
3115
3116 &lt;p&gt;But some DVDs give a input/output error when I read it, and I have
3117 been looking for a better alternative. I have no idea why this I/O
3118 error occur, but suspect my DVD drive, the Linux kernel driver or
3119 something fishy with the DVDs in question. Or perhaps all three.&lt;/p&gt;
3120
3121 &lt;p&gt;Anyway, I believe I found a solution today using dvdbackup and
3122 genisoimage. This script gave me a working ISO for a problematic
3123 movie by first extracting the DVD file system and then re-packing it
3124 back as an ISO.
3125
3126 &lt;blockquote&gt;&lt;pre&gt;
3127 #!/bin/sh
3128 # apt-get install lsdvd dvdbackup genisoimage
3129 set -e
3130 tmpdir=/storage/dvds/
3131 title=$(lsdvd 2&gt;/dev/null|awk &#39;/Disc Title: / {print $3}&#39;)
3132 dvdbackup -i /dev/dvd -M -o $tmpdir -n$title
3133 genisoimage -dvd-video -o $tmpdir/$title.iso $tmpdir/$title
3134 rm -rf $tmpdir/$title
3135 &lt;/pre&gt;&lt;/blockquote&gt;
3136
3137 &lt;p&gt;Anyone know of a better way available in Debian/Squeeze?&lt;/p&gt;
3138
3139 &lt;p&gt;Update 2011-09-18: I got a tip from Konstantin Khomoutov about the
3140 readom program from the wodim package. It is specially written to
3141 read optical media, and is called like this: &lt;tt&gt;readom dev=/dev/dvd
3142 f=image.iso&lt;/tt&gt;. It got 6 GB along with the problematic Cars DVD
3143 before it failed, and failed right away with a Timmy Time DVD.&lt;/p&gt;
3144
3145 &lt;p&gt;Next, I got a tip from Bastian Blank about
3146 &lt;a href=&quot;http://bblank.thinkmo.de/blog/new-software-python-dvdvideo&quot;&gt;his
3147 program python-dvdvideo&lt;/a&gt;, which seem to be just what I am looking
3148 for. Tested it with my problematic Timmy Time DVD, and it succeeded
3149 creating a ISO image. The git source built and installed just fine in
3150 Squeeze, so I guess this will be my tool of choice in the future.&lt;/p&gt;
3151 </description>
3152 </item>
3153
3154 <item>
3155 <title>How is booting into runlevel 1 different from single user boots?</title>
3156 <link>http://people.skolelinux.org/pere/blog/How_is_booting_into_runlevel_1_different_from_single_user_boots_.html</link>
3157 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/How_is_booting_into_runlevel_1_different_from_single_user_boots_.html</guid>
3158 <pubDate>Thu, 4 Aug 2011 12:40:00 +0200</pubDate>
3159 <description>&lt;p&gt;Wouter Verhelst have some
3160 &lt;a href=&quot;http://grep.be/blog/en/retorts/pere_kubuntu_boot&quot;&gt;interesting
3161 comments and opinions&lt;/a&gt; on my blog post on
3162 &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
3163 need to clean up /etc/rcS.d/ in Debian&lt;/a&gt; and my blog post about
3164 &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
3165 default KDE desktop in Debian&lt;/a&gt;. I only have time to address one
3166 small piece of his comment now, and though it best to address the
3167 misunderstanding he bring forward:&lt;/p&gt;
3168
3169 &lt;p&gt;&lt;blockquote&gt;
3170 Currently, a system admin has four options: [...] boot to a
3171 single-user system (by adding &#39;single&#39; to the kernel command line;
3172 this runs rcS and rc1 scripts)
3173 &lt;/blockquote&gt;&lt;/p&gt;
3174
3175 &lt;p&gt;This make me believe Wouter believe booting into single user mode
3176 and booting into runlevel 1 is the same. I am not surprised he
3177 believe this, because it would make sense and is a quite sensible
3178 thing to believe. But because the boot in Debian is slightly broken,
3179 runlevel 1 do not work properly and it isn&#39;t the same as single user
3180 mode. I&#39;ll try to explain what is actually happing, but it is a bit
3181 hard to explain.&lt;/p&gt;
3182
3183 &lt;p&gt;Single user mode is defined like this in /etc/inittab:
3184 &quot;&lt;tt&gt;~~:S:wait:/sbin/sulogin&lt;/tt&gt;&quot;. This means the only thing that is
3185 executed in single user mode is sulogin. Single user mode is a boot
3186 state &quot;between&quot; the runlevels, and when booting into single user mode,
3187 only the scripts in /etc/rcS.d/ are executed before the init process
3188 enters the single user state. When switching to runlevel 1, the state
3189 is in fact not ending in runlevel 1, but it passes through runlevel 1
3190 and end up in the single user mode (see /etc/rc1.d/S03single, which
3191 runs &quot;init -t1 S&quot; to switch to single user mode at the end of runlevel
3192 1. It is confusing that the &#39;S&#39; (single user) init mode is not the
3193 mode enabled by /etc/rcS.d/ (which is more like the initial boot
3194 mode).&lt;/p&gt;
3195
3196 &lt;p&gt;This summary might make it clearer. When booting for the first
3197 time into single user mode, the following commands are executed:
3198 &quot;&lt;tt&gt;/etc/init.d/rc S; /sbin/sulogin&lt;/tt&gt;&quot;. When booting into
3199 runlevel 1, the following commands are executed: &quot;&lt;tt&gt;/etc/init.d/rc
3200 S; /etc/init.d/rc 1; /sbin/sulogin&lt;/tt&gt;&quot;. A problem show up when
3201 trying to continue after visiting single user mode. Not all services
3202 are started again as they should, causing the machine to end up in an
3203 unpredicatble state. This is why Debian admins recommend rebooting
3204 after visiting single user mode.&lt;/p&gt;
3205
3206 &lt;p&gt;A similar problem with runlevel 1 is caused by the amount of
3207 scripts executed from /etc/rcS.d/. When switching from say runlevel 2
3208 to runlevel 1, the services started from /etc/rcS.d/ are not properly
3209 stopped when passing through the scripts in /etc/rc1.d/, and not
3210 started again when switching away from runlevel 1 to the runlevels
3211 2-5. I believe the problem is best fixed by moving all the scripts
3212 out of /etc/rcS.d/ that are not &lt;strong&gt;required&lt;/strong&gt; to get a
3213 functioning single user mode during boot.&lt;/p&gt;
3214
3215 &lt;p&gt;I have spent several years investigating the Debian boot system,
3216 and discovered this problem a few years ago. I suspect it originates
3217 from when sysvinit was introduced into Debian, a long time ago.&lt;/p&gt;
3218 </description>
3219 </item>
3220
3221 <item>
3222 <title>What should start from /etc/rcS.d/ in Debian? - almost nothing</title>
3223 <link>http://people.skolelinux.org/pere/blog/What_should_start_from__etc_rcS_d__in_Debian____almost_nothing.html</link>
3224 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/What_should_start_from__etc_rcS_d__in_Debian____almost_nothing.html</guid>
3225 <pubDate>Sat, 30 Jul 2011 14:00:00 +0200</pubDate>
3226 <description>&lt;p&gt;In the Debian boot system, several packages include scripts that
3227 are started from /etc/rcS.d/. In fact, there is a bite more of them
3228 than make sense, and this causes a few problems. What kind of
3229 problems, you might ask. There are at least two problems. The first
3230 is that it is not possible to recover a machine after switching to
3231 runlevel 1. One need to actually reboot to get the machine back to
3232 the expected state. The other is that single user boot will sometimes
3233 run into problems because some of the subsystems are activated before
3234 the root login is presented, causing problems when trying to recover a
3235 machine from a problem in that subsystem. A minor additional point is
3236 that moving more scripts out of rcS.d/ and into the other rc#.d/
3237 directories will increase the amount of scripts that can run in
3238 parallel during boot, and thus decrease the boot time.&lt;/p&gt;
3239
3240 &lt;p&gt;So, which scripts should start from rcS.d/. In short, only the
3241 scripts that _have_ to execute before the root login prompt is
3242 presented during a single user boot should go there. Everything else
3243 should go into the numeric runlevels. This means things like
3244 lm-sensors, fuse and x11-common should not run from rcS.d, but from
3245 the numeric runlevels. Today in Debian, there are around 115 init.d
3246 scripts that are started from rcS.d/, and most of them should be moved
3247 out. Do your package have one of them? Please help us make single
3248 user and runlevel 1 better by moving it.&lt;/p&gt;
3249
3250 &lt;p&gt;Scripts setting up the screen, keyboard, system partitions
3251 etc. should still be started from rcS.d/, but there is for example no
3252 need to have the network enabled before the single user login prompt
3253 is presented.&lt;/p&gt;
3254
3255 &lt;p&gt;As always, things are not so easy to fix as they sound. To keep
3256 Debian systems working while scripts migrate and during upgrades, the
3257 scripts need to be moved from rcS.d/ to rc2.d/ in reverse dependency
3258 order, ie the scripts that nothing in rcS.d/ depend on can be moved,
3259 and the next ones can only be moved when their dependencies have been
3260 moved first. This migration must be done sequentially while we ensure
3261 that the package system upgrade packages in the right order to keep
3262 the system state correct. This will require some coordination when it
3263 comes to network related packages, but most of the packages with
3264 scripts that should migrate do not have anything in rcS.d/ depending
3265 on them. Some packages have already been updated, like the sudo
3266 package, while others are still left to do. I wish I had time to work
3267 on this myself, but real live constrains make it unlikely that I will
3268 find time to push this forward.&lt;/p&gt;
3269 </description>
3270 </item>
3271
3272 <item>
3273 <title>What is missing in the Debian desktop, or why my parents use Kubuntu</title>
3274 <link>http://people.skolelinux.org/pere/blog/What_is_missing_in_the_Debian_desktop__or_why_my_parents_use_Kubuntu.html</link>
3275 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/What_is_missing_in_the_Debian_desktop__or_why_my_parents_use_Kubuntu.html</guid>
3276 <pubDate>Fri, 29 Jul 2011 08:10:00 +0200</pubDate>
3277 <description>&lt;p&gt;While at Debconf11, I have several times during discussions
3278 mentioned the issues I believe should be improved in Debian for its
3279 desktop to be useful for more people. The use case for this is my
3280 parents, which are currently running Kubuntu which solve the
3281 issues.&lt;/p&gt;
3282
3283 &lt;p&gt;I suspect these four missing features are not very hard to
3284 implement. After all, they are present in Ubuntu, so if we wanted to
3285 do this in Debian we would have a source.&lt;/p&gt;
3286
3287 &lt;ol&gt;
3288
3289 &lt;li&gt;&lt;strong&gt;Simple GUI based upgrade of packages.&lt;/strong&gt; When there
3290 are new packages available for upgrades, a icon in the KDE status bar
3291 indicate this, and clicking on it will activate the simple upgrade
3292 tool to handle it. I have no problem guiding both of my parents
3293 through the process over the phone. If a kernel reboot is required,
3294 this too is indicated by the status bars and the upgrade tool. Last
3295 time I checked, nothing with the same features was working in KDE in
3296 Debian.&lt;/li&gt;
3297
3298 &lt;li&gt;&lt;strong&gt;Simple handling of missing Firefox browser
3299 plugins.&lt;/strong&gt; When the browser encounter a MIME type it do not
3300 currently have a handler for, it will ask the user if the system
3301 should search for a package that would add support for this MIME type,
3302 and if the user say yes, the APT sources will be searched for packages
3303 advertising the MIME type in their control file (visible in the
3304 Packages file in the APT archive). If one or more packages are found,
3305 it is a simple click of the mouse to add support for the missing mime
3306 type. If the package require the user to accept some non-free
3307 license, this is explained to the user. The entire process make it
3308 more clear to the user why something do not work in the browser, and
3309 make the chances higher for the user to blame the web page authors and
3310 not the browser for any missing features.&lt;/li&gt;
3311
3312 &lt;li&gt;&lt;strong&gt;Simple handling of missing multimedia codec/format
3313 handlers.&lt;/strong&gt; When the media players encounter a format or codec
3314 it is not supporting, a dialog pop up asking the user if the system
3315 should search for a package that would add support for it. This
3316 happen with things like MP3, Windows Media or H.264. The selection
3317 and installation procedure is very similar to the Firefox browser
3318 plugin handling. This is as far as I know implemented using a
3319 gstreamer hook. The end result is that the user easily get access to
3320 the codecs that are present from the APT archives available, while
3321 explaining more on why a given format is unsupported by Ubuntu.&lt;/li&gt;
3322
3323 &lt;li&gt;&lt;strong&gt;Better browser handling of some MIME types.&lt;/strong&gt; When
3324 displaying a text/plain file in my Debian browser, it will propose to
3325 start emacs to show it. If I remember correctly, when doing the same
3326 in Kunbutu it show the file as a text file in the browser. At least I
3327 know Opera will show text files within the browser. I much prefer the
3328 latter behaviour.&lt;/li&gt;
3329
3330 &lt;/ol&gt;
3331
3332 &lt;p&gt;There are other nice features as well, like the simplified suite
3333 upgrader, but given that I am the one mostly doing the dist-upgrade,
3334 it do not matter much.&lt;/p&gt;
3335
3336 &lt;p&gt;I really hope we could get these features in place for the next
3337 Debian release. It would require the coordinated effort of several
3338 maintainers, but would make the end user experience a lot better.&lt;/p&gt;
3339 </description>
3340 </item>
3341
3342 <item>
3343 <title>Perl modules used by FixMyStreet which are missing in Debian/Squeeze</title>
3344 <link>http://people.skolelinux.org/pere/blog/Perl_modules_used_by_FixMyStreet_which_are_missing_in_Debian_Squeeze.html</link>
3345 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Perl_modules_used_by_FixMyStreet_which_are_missing_in_Debian_Squeeze.html</guid>
3346 <pubDate>Tue, 26 Jul 2011 12:25:00 +0200</pubDate>
3347 <description>&lt;p&gt;The Norwegian &lt;a href=&quot;http://www.fiksgatami.no/&quot;&gt;FiksGataMi&lt;/A&gt;
3348 site is build on Debian/Squeeze, and this platform was chosen because
3349 I am most familiar with Debian (being a Debian Developer for around 10
3350 years) because it is the latest stable Debian release which should get
3351 security support for a few years.&lt;/p&gt;
3352
3353 &lt;p&gt;The web service is written in Perl, and depend on some perl modules
3354 that are missing in Debian at the moment. It would be great if these
3355 modules were added to the Debian archive, allowing anyone to set up
3356 their own &lt;a href=&quot;http://www.fixmystreet.com&quot;&gt;FixMyStreet&lt;/a&gt; clone
3357 in their own country using only Debian packages. The list of modules
3358 missing in Debian/Squeeze isn&#39;t very long, and I hope the perl group
3359 will find time to package the 12 modules Catalyst::Plugin::SmartURI,
3360 Catalyst::Plugin::Unicode::Encoding, Catalyst::View::TT, Devel::Hide,
3361 Sort::Key, Statistics::Distributions, Template::Plugin::Comma,
3362 Template::Plugin::DateTime::Format, Term::Size::Any, Term::Size::Perl,
3363 URI::SmartURI and Web::Scraper to make the maintenance of FixMyStreet
3364 easier in the future.&lt;/p&gt;
3365
3366 &lt;p&gt;Thanks to the great tools in Debian, getting the missing modules
3367 installed on my server was a simple call to &#39;cpan2deb Module::Name&#39;
3368 and &#39;dpkg -i&#39; to install the resulting package. But this leave me
3369 with the responsibility of tracking security problems, which I really
3370 do not have time for.&lt;/p&gt;
3371 </description>
3372 </item>
3373
3374 <item>
3375 <title>Free Software vs. proprietary softare...</title>
3376 <link>http://people.skolelinux.org/pere/blog/Free_Software_vs__proprietary_softare___.html</link>
3377 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Free_Software_vs__proprietary_softare___.html</guid>
3378 <pubDate>Mon, 20 Jun 2011 12:50:00 +0200</pubDate>
3379 <description>&lt;p&gt;Reading
3380 &lt;a href=&quot;http://blog.thingiverse.com/2011/06/20/open-source-vs-closed-source-eulas/&quot;&gt;the
3381 thingiverse blog&lt;/a&gt;, I came across two highlights of interesting
3382 parts of the
3383 &lt;a href=&quot;http://wiki.blender.org/index.php/Autodesk_EULA&quot;&gt;Autodesk&lt;/a&gt;
3384 and
3385 &lt;a href=&quot;http://blog.makezine.com/archive/2011/06/things-you-cant-do-with-the-microsoft-kinect-sdk.html&quot;&gt;Microsoft
3386 Kinect&lt;/a&gt; End User License Agreements (EULAs), which illustrates
3387 quite well why I stay away from software with EULAs. Whenever I take
3388 the time to read their content, the terms are simply unacceptable.&lt;/p&gt;
3389 </description>
3390 </item>
3391
3392 <item>
3393 <title>Experimental Open311 API for the mySociety fixmystreet system</title>
3394 <link>http://people.skolelinux.org/pere/blog/Experimental_Open311_API_for_the_mySociety_fixmystreet_system.html</link>
3395 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Experimental_Open311_API_for_the_mySociety_fixmystreet_system.html</guid>
3396 <pubDate>Sat, 30 Apr 2011 17:20:00 +0200</pubDate>
3397 <description>&lt;p&gt;Today, the first draft implementation of an
3398 &lt;a href=&quot;http://www.open311.org/&quot;&gt;Open311 API&lt;/a&gt; for the Norwegian
3399 service &lt;a href=&quot;http://www.fiksgatami.no/&quot;&gt;FiksGataMi&lt;/a&gt; started to
3400 work. It is only available on the developer server for now, and I
3401 have not tested it using any existing Open311 client (I lack the
3402 platforms needed to run the clients I have found so far), but it is
3403 able to query the database and extract a list of open and closed
3404 requests within a given category and reported to a given municipality.
3405 I believe that is a good start to create a useful service for those
3406 that want to do data mining on the requests submitted so far.&lt;/p&gt;
3407
3408 &lt;p&gt;Where is it? Visit
3409 &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;
3410 to have a look. Please send feedback to the
3411 &lt;a href=&quot;http://lists.nuug.no/mailman/listinfo/fiksgatami&quot;&gt;fiksgatami
3412 (at) nuug.no&lt;/a&gt; mailing list.&lt;/p&gt;
3413 </description>
3414 </item>
3415
3416 <item>
3417 <title>Initial notes on adding Open311 server API on FixMyStreet</title>
3418 <link>http://people.skolelinux.org/pere/blog/Initial_notes_on_adding_Open311_server_API_on_FixMyStreet.html</link>
3419 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Initial_notes_on_adding_Open311_server_API_on_FixMyStreet.html</guid>
3420 <pubDate>Fri, 29 Apr 2011 10:00:00 +0200</pubDate>
3421 <description>&lt;p&gt;The last few days I have spent some time trying to add support for
3422 the &lt;a href=&quot;http://www.open311.org/&quot;&gt;Open311 API&lt;/a&gt; in the
3423 &lt;a href=&quot;http://www.fiksgatami.no/&quot;&gt;Norwegian FixMyStreet service&lt;/a&gt;.
3424 Earlier I believed Open311 would be a useful API to use to submit
3425 reports to the municipalities, but when I noticed that the
3426 &lt;a href=&quot;http://fixmystreet.org.nz/&quot;&gt;New Zealand version&lt;/a&gt; of
3427 FixMyStreet had implemented Open311 on the server side, it occurred to
3428 me that this was a nice way to allow the public, press and
3429 municipalities to do data mining directly in the FixMyStreet service.
3430 Thus I went to work implementing the Open311 specification for
3431 FixMyStreet. The implementation is not yet ready, but I am starting
3432 to get a draft limping along. In the process, I have discovered a few
3433 issues with the Open311 specification.&lt;/p&gt;
3434
3435 &lt;p&gt;One obvious missing feature is the lack of natural language
3436 handling in the specification. The specification seem to assume all
3437 reports will be written in English, and do not provide a way for the
3438 receiving end to specify which languages are understood there. To be
3439 able to use the same client and submit to several Open311 receivers,
3440 it would be useful to know which language to use when writing reports.
3441 I believe the specification should be extended to allow the receivers
3442 of problem reports to specify which language they accept, and the
3443 submitter to specify which language the report is written in.
3444 Language of a text can also be automatically guessed using statistical
3445 methods, but for multi-lingual persons like myself, it is useful to
3446 know which language to use when writing a problem report. I suspect
3447 some lang=nb,nn kind of attribute would solve it.&lt;/p&gt;
3448
3449 &lt;p&gt;A key part of the Open311 API is the list of services provided,
3450 which is similar to the categories used by FixMyStreet. One issue I
3451 run into is the need to specify both name and unique identifier for
3452 each category. The specification do not state that the identifier
3453 should be numeric, but all example implementations have used numbers
3454 here. In FixMyStreet, there is no number associated with each
3455 category. As the specification do not forbid it, I will use the name
3456 as the unique identifier for now and see how open311 clients handle
3457 it.&lt;/p&gt;
3458
3459 &lt;p&gt;The report format in open311 and the report format in FixMyStreet
3460 differ in a key part. FixMyStreet have a title and a description,
3461 while Open311 only have a description and lack the title. I&#39;m not
3462 quite sure how to best handle this yet. When asking for a FixMyStreet
3463 report in Open311 format, I just merge title an description into the
3464 open311 description, but this is not going to work if the open311 API
3465 should be used for submitting new reports to FixMyStreet.&lt;/p&gt;
3466
3467 &lt;p&gt;The search feature in Open311 is missing a way to ask for problems
3468 near a geographic location. I believe this is important if one is to
3469 use Open311 as the query language for mobile units. The specification
3470 should be extended to handle this, probably using some new lat=, lon=
3471 and range= options.&lt;/p&gt;
3472
3473 &lt;p&gt;The final challenge I see is that the FixMyStreet code handle
3474 several administrations in one interface, while the Open311 API seem
3475 to assume only one administration. For FixMyStreet, this mean a
3476 report can be sent to several administrations, and the categories
3477 available depend on the location of the problem. Not quite sure how
3478 to best handle this. I&#39;ve noticed
3479 &lt;a href=&quot;http://seeclickfix.com/open311/&quot;&gt;SeeClickFix&lt;/a&gt; added
3480 latitude and longitude options to the services request, but it do not
3481 solve the problem of what to return when no location is specified.
3482 Will have to investigate this a bit more.&lt;/p&gt;
3483
3484 &lt;p&gt;My distaste for web forums have kept me from bringing these issues
3485 up with the open311 developer group. I really wish they had a email
3486 list available via &lt;a href=&quot;http://www.gmane.org/&quot;&gt;Gmane&lt;/a&gt; to use for
3487 discussions instead of only
3488 &lt;a href=&quot;http://lists.open311.org/groups/discuss&quot;&gt;a forum&lt;a/&gt;. Oh,
3489 well. That will probably resolve itself, one way or another. I&#39;ve
3490 also tried visiting the IRC channel #open311 on FreeNode, but no-one
3491 seem to reply to my questions there. This make me wonder if I just
3492 fail to understand how the open311 community work. It sure do not
3493 work like the free software project communities I am used to.&lt;/p&gt;
3494 </description>
3495 </item>
3496
3497 <item>
3498 <title>Gnash enteres Google Summer of Code 2011</title>
3499 <link>http://people.skolelinux.org/pere/blog/Gnash_enteres_Google_Summer_of_Code_2011.html</link>
3500 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Gnash_enteres_Google_Summer_of_Code_2011.html</guid>
3501 <pubDate>Wed, 6 Apr 2011 09:00:00 +0200</pubDate>
3502 <description>&lt;p&gt;&lt;a href=&quot;http://www.getgnash.org/&quot;&gt;The Gnash project&lt;/a&gt; is still
3503 the most promising solution for a Free Software Flash implementation.
3504 A few days ago the project
3505 &lt;a href=&quot;http://lists.gnu.org/archive/html/gnash-dev/2011-04/msg00011.html&quot;&gt;announced&lt;/a&gt;
3506 that it will participate in Google Summer of Code. I hope many
3507 students apply, and that some of them succeed in getting AVM2 support
3508 into Gnash.&lt;/p&gt;
3509 </description>
3510 </item>
3511
3512 <item>
3513 <title>A Norwegian FixMyStreet have kept me busy the last few weeks</title>
3514 <link>http://people.skolelinux.org/pere/blog/A_Norwegian_FixMyStreet_have_kept_me_busy_the_last_few_weeks.html</link>
3515 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/A_Norwegian_FixMyStreet_have_kept_me_busy_the_last_few_weeks.html</guid>
3516 <pubDate>Sun, 3 Apr 2011 22:50:00 +0200</pubDate>
3517 <description>&lt;p&gt;Here is a small update for my English readers. Most of my blog
3518 posts have been in Norwegian the last few weeks, so here is a short
3519 update in English.&lt;/p&gt;
3520
3521 &lt;p&gt;The kids still keep me too busy to get much free software work
3522 done, but I did manage to organise a project to get a Norwegian port
3523 of the British service
3524 &lt;a href=&quot;http://www.fixmystreet.com/&quot;&gt;FixMyStreet&lt;/a&gt; up and running,
3525 and it has been running for a month now. The entire project has been
3526 organised by me and two others. Around Christmas we gathered sponsors
3527 to fund the development work. In January I drafted a contract with
3528 &lt;a href=&quot;http://www.mysociety.org/&quot;&gt;mySociety&lt;/a&gt; on what to develop,
3529 and in February the development took place. Most of it involved
3530 converting the source to use GPS coordinates instead of British
3531 easting/northing, and the resulting code should be a lot easier to get
3532 running in any country by now. The Norwegian
3533 &lt;a href=&quot;http://www.fiksgatami.no/&quot;&gt;FiksGataMi&lt;/a&gt; is using
3534 &lt;a href=&quot;http://www.openstreetmap.org/&quot;&gt;OpenStreetmap&lt;/a&gt; as the map
3535 source and the source for administrative borders in Norway, and
3536 support for this had to be added/fixed.&lt;/p&gt;
3537
3538 &lt;p&gt;The Norwegian version went live March 3th, and we spent the weekend
3539 polishing the system before we announced it March 7th. The system is
3540 running on a KVM instance of Debian/Squeeze, and has seen almost 3000
3541 problem reports in a few weeks. Soon we hope to announce the Android
3542 and iPhone versions making it even easier to report problems with the
3543 public infrastructure.&lt;/p&gt;
3544
3545 &lt;p&gt;Perhaps something to consider for those of you in countries without
3546 such service?&lt;/p&gt;
3547 </description>
3548 </item>
3549
3550 <item>
3551 <title>Using NVD and CPE to track CVEs in locally maintained software</title>
3552 <link>http://people.skolelinux.org/pere/blog/Using_NVD_and_CPE_to_track_CVEs_in_locally_maintained_software.html</link>
3553 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Using_NVD_and_CPE_to_track_CVEs_in_locally_maintained_software.html</guid>
3554 <pubDate>Fri, 28 Jan 2011 15:40:00 +0100</pubDate>
3555 <description>&lt;p&gt;The last few days I have looked at ways to track open security
3556 issues here at my work with the University of Oslo. My idea is that
3557 it should be possible to use the information about security issues
3558 available on the Internet, and check our locally
3559 maintained/distributed software against this information. It should
3560 allow us to verify that no known security issues are forgotten. The
3561 CVE database listing vulnerabilities seem like a great central point,
3562 and by using the package lists from Debian mapped to CVEs provided by
3563 the testing security team, I believed it should be possible to figure
3564 out which security holes were present in our free software
3565 collection.&lt;/p&gt;
3566
3567 &lt;p&gt;After reading up on the topic, it became obvious that the first
3568 building block is to be able to name software packages in a unique and
3569 consistent way across data sources. I considered several ways to do
3570 this, for example coming up with my own naming scheme like using URLs
3571 to project home pages or URLs to the Freshmeat entries, or using some
3572 existing naming scheme. And it seem like I am not the first one to
3573 come across this problem, as MITRE already proposed and implemented a
3574 solution. Enter the &lt;a href=&quot;http://cpe.mitre.org/index.html&quot;&gt;Common
3575 Platform Enumeration&lt;/a&gt; dictionary, a vocabulary for referring to
3576 software, hardware and other platform components. The CPE ids are
3577 mapped to CVEs in the &lt;a href=&quot;http://web.nvd.nist.gov/&quot;&gt;National
3578 Vulnerability Database&lt;/a&gt;, allowing me to look up know security
3579 issues for any CPE name. With this in place, all I need to do is to
3580 locate the CPE id for the software packages we use at the university.
3581 This is fairly trivial (I google for &#39;cve cpe $package&#39; and check the
3582 NVD entry if a CVE for the package exist).&lt;/p&gt;
3583
3584 &lt;p&gt;To give you an example. The GNU gzip source package have the CPE
3585 name cpe:/a:gnu:gzip. If the old version 1.3.3 was the package to
3586 check out, one could look up
3587 &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
3588 in NVD&lt;/a&gt; and get a list of 6 security holes with public CVE entries.
3589 The most recent one is
3590 &lt;a href=&quot;http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-0001&quot;&gt;CVE-2010-0001&lt;/a&gt;,
3591 and at the bottom of the NVD page for this vulnerability the complete
3592 list of affected versions is provided.&lt;/p&gt;
3593
3594 &lt;p&gt;The NVD database of CVEs is also available as a XML dump, allowing
3595 for offline processing of issues. Using this dump, I&#39;ve written a
3596 small script taking a list of CPEs as input and list all CVEs
3597 affecting the packages represented by these CPEs. One give it CPEs
3598 with version numbers as specified above and get a list of open
3599 security issues out.&lt;/p&gt;
3600
3601 &lt;p&gt;Of course for this approach to be useful, the quality of the NVD
3602 information need to be high. For that to happen, I believe as many as
3603 possible need to use and contribute to the NVD database. I notice
3604 RHEL is providing
3605 &lt;a href=&quot;https://www.redhat.com/security/data/metrics/rhsamapcpe.txt&quot;&gt;a
3606 map from CVE to CPE&lt;/a&gt;, indicating that they are using the CPE
3607 information. I&#39;m not aware of Debian and Ubuntu doing the same.&lt;/p&gt;
3608
3609 &lt;p&gt;To get an idea about the quality for free software, I spent some
3610 time making it possible to compare the CVE database from Debian with
3611 the CVE database in NVD. The result look fairly good, but there are
3612 some inconsistencies in NVD (same software package having several
3613 CPEs), and some inaccuracies (NVD not mentioning buggy packages that
3614 Debian believe are affected by a CVE). Hope to find time to improve
3615 the quality of NVD, but that require being able to get in touch with
3616 someone maintaining it. So far my three emails with questions and
3617 corrections have not seen any reply, but I hope contact can be
3618 established soon.&lt;/p&gt;
3619
3620 &lt;p&gt;An interesting application for CPEs is cross platform package
3621 mapping. It would be useful to know which packages in for example
3622 RHEL, OpenSuSe and Mandriva are missing from Debian and Ubuntu, and
3623 this would be trivial if all linux distributions provided CPE entries
3624 for their packages.&lt;/p&gt;
3625 </description>
3626 </item>
3627
3628 <item>
3629 <title>Which module is loaded for a given PCI and USB device?</title>
3630 <link>http://people.skolelinux.org/pere/blog/Which_module_is_loaded_for_a_given_PCI_and_USB_device_.html</link>
3631 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Which_module_is_loaded_for_a_given_PCI_and_USB_device_.html</guid>
3632 <pubDate>Sun, 23 Jan 2011 00:20:00 +0100</pubDate>
3633 <description>&lt;p&gt;In the
3634 &lt;a href=&quot;http://packages.qa.debian.org/discover-data&quot;&gt;discover-data&lt;/a&gt;
3635 package in Debian, there is a script to report useful information
3636 about the running hardware for use when people report missing
3637 information. One part of this script that I find very useful when
3638 debugging hardware problems, is the part mapping loaded kernel module
3639 to the PCI device it claims. It allow me to quickly see if the kernel
3640 module I expect is driving the hardware I am struggling with. To see
3641 the output, make sure discover-data is installed and run
3642 &lt;tt&gt;/usr/share/bug/discover-data 3&gt;&amp;1&lt;/tt&gt;. The relevant output on
3643 one of my machines like this:&lt;/p&gt;
3644
3645 &lt;pre&gt;
3646 loaded modules:
3647 10de:03eb i2c_nforce2
3648 10de:03f1 ohci_hcd
3649 10de:03f2 ehci_hcd
3650 10de:03f0 snd_hda_intel
3651 10de:03ec pata_amd
3652 10de:03f6 sata_nv
3653 1022:1103 k8temp
3654 109e:036e bttv
3655 109e:0878 snd_bt87x
3656 11ab:4364 sky2
3657 &lt;/pre&gt;
3658
3659 &lt;p&gt;The code in question look like this, slightly modified for
3660 readability and to drop the output to file descriptor 3:&lt;/p&gt;
3661
3662 &lt;pre&gt;
3663 if [ -d /sys/bus/pci/devices/ ] ; then
3664 echo loaded pci modules:
3665 (
3666 cd /sys/bus/pci/devices/
3667 for address in * ; do
3668 if [ -d &quot;$address/driver/module&quot; ] ; then
3669 module=`cd $address/driver/module ; pwd -P | xargs basename`
3670 if grep -q &quot;^$module &quot; /proc/modules ; then
3671 address=$(echo $address |sed s/0000://)
3672 id=`lspci -n -s $address | tail -n 1 | awk &#39;{print $3}&#39;`
3673 echo &quot;$id $module&quot;
3674 fi
3675 fi
3676 done
3677 )
3678 echo
3679 fi
3680 &lt;/pre&gt;
3681
3682 &lt;p&gt;Similar code could be used to extract USB device module
3683 mappings:&lt;/p&gt;
3684
3685 &lt;pre&gt;
3686 if [ -d /sys/bus/usb/devices/ ] ; then
3687 echo loaded usb modules:
3688 (
3689 cd /sys/bus/usb/devices/
3690 for address in * ; do
3691 if [ -d &quot;$address/driver/module&quot; ] ; then
3692 module=`cd $address/driver/module ; pwd -P | xargs basename`
3693 if grep -q &quot;^$module &quot; /proc/modules ; then
3694 address=$(echo $address |sed s/0000://)
3695 id=$(lsusb -s $address | tail -n 1 | awk &#39;{print $6}&#39;)
3696 if [ &quot;$id&quot; ] ; then
3697 echo &quot;$id $module&quot;
3698 fi
3699 fi
3700 fi
3701 done
3702 )
3703 echo
3704 fi
3705 &lt;/pre&gt;
3706
3707 &lt;p&gt;This might perhaps be something to include in other tools as
3708 well.&lt;/p&gt;
3709 </description>
3710 </item>
3711
3712 <item>
3713 <title>The video format most supported in web browsers?</title>
3714 <link>http://people.skolelinux.org/pere/blog/The_video_format_most_supported_in_web_browsers_.html</link>
3715 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_video_format_most_supported_in_web_browsers_.html</guid>
3716 <pubDate>Sun, 16 Jan 2011 00:20:00 +0100</pubDate>
3717 <description>&lt;p&gt;The video format struggle on the web continues, and the three
3718 contenders seem to be Ogg Theora, H.264 and WebM. Most video sites
3719 seem to use H.264, while others use Ogg Theora. Interestingly enough,
3720 the comments I see give me the feeling that a lot of people believe
3721 H.264 is the most supported video format in browsers, but according to
3722 the Wikipedia article on
3723 &lt;a href=&quot;http://en.wikipedia.org/wiki/HTML5_video&quot;&gt;HTML5 video&lt;/a&gt;,
3724 this is not true. Check out the nice table of supprted formats in
3725 different browsers there. The format supported by most browsers is
3726 Ogg Theora, supported by released versions of Mozilla Firefox, Google
3727 Chrome, Chromium, Opera, Konqueror, Epiphany, Origyn Web Browser and
3728 BOLT browser, while not supported by Internet Explorer nor Safari.
3729 The runner up is WebM supported by released versions of Google Chrome
3730 Chromium Opera and Origyn Web Browser, and test versions of Mozilla
3731 Firefox. H.264 is supported by released versions of Safari, Origyn
3732 Web Browser and BOLT browser, and the test version of Internet
3733 Explorer. Those wanting Ogg Theora support in Internet Explorer and
3734 Safari can install plugins to get it.&lt;/p&gt;
3735
3736 &lt;p&gt;To me, the simple conclusion from this is that to reach most users
3737 without any extra software installed, one uses Ogg Theora with the
3738 HTML5 video tag. Of course to reach all those without a browser
3739 handling HTML5, one need fallback mechanisms. In
3740 &lt;a href=&quot;http://www.nuug.no/&quot;&gt;NUUG&lt;/a&gt;, we provide first fallback to a
3741 plugin capable of playing MPEG1 video, and those without such support
3742 we have a second fallback to the Cortado java applet playing Ogg
3743 Theora. This seem to work quite well, as can be seen in an &lt;a
3744 href=&quot;http://www.nuug.no/aktiviteter/20110111-semantic-web/&quot;&gt;example
3745 from last week&lt;/a&gt;.&lt;/p&gt;
3746
3747 &lt;p&gt;The reason Ogg Theora is the most supported format, and H.264 is
3748 the least supported is simple. Implementing and using H.264
3749 require royalty payment to MPEG-LA, and the terms of use from MPEG-LA
3750 are incompatible with free software licensing. If you believed H.264
3751 was without royalties and license terms, check out
3752 &quot;&lt;a href=&quot;http://webmink.com/essays/h-264/&quot;&gt;H.264 – Not The Kind Of
3753 Free That Matters&lt;/a&gt;&quot; by Simon Phipps.&lt;/p&gt;
3754
3755 &lt;p&gt;A incomplete list of sites providing video in Ogg Theora is
3756 available from
3757 &lt;a href=&quot;http://wiki.xiph.org/index.php/List_of_Theora_videos&quot;&gt;the
3758 Xiph.org wiki&lt;/a&gt;, if you want to have a look. I&#39;m not aware of a
3759 similar list for WebM nor H.264.&lt;/p&gt;
3760
3761 &lt;p&gt;Update 2011-01-16 09:40: A question from Tollef on IRC made me
3762 realise that I failed to make it clear enough this text is about the
3763 &amp;lt;video&amp;gt; tag support in browsers and not the video support
3764 provided by external plugins like the Flash plugins.&lt;/p&gt;
3765 </description>
3766 </item>
3767
3768 <item>
3769 <title>Chrome plan to drop H.264 support for HTML5 &amp;lt;video&amp;gt;</title>
3770 <link>http://people.skolelinux.org/pere/blog/Chrome_plan_to_drop_H_264_support_for_HTML5__lt_video_gt_.html</link>
3771 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Chrome_plan_to_drop_H_264_support_for_HTML5__lt_video_gt_.html</guid>
3772 <pubDate>Wed, 12 Jan 2011 22:10:00 +0100</pubDate>
3773 <description>&lt;p&gt;Today I discovered
3774 &lt;a href=&quot;http://www.digi.no/860070/google-dropper-h264-stotten-i-chrome&quot;&gt;via
3775 digi.no&lt;/a&gt; that the Chrome developers, in a surprising announcement,
3776 &lt;a href=&quot;http://blog.chromium.org/2011/01/html-video-codec-support-in-chrome.html&quot;&gt;yesterday
3777 announced&lt;/a&gt; plans to drop H.264 support for HTML5 &amp;lt;video&amp;gt; in
3778 the browser. The argument used is that H.264 is not a &quot;completely
3779 open&quot; codec technology. If you believe H.264 was free for everyone
3780 to use, I recommend having a look at the essay
3781 &quot;&lt;a href=&quot;http://webmink.com/essays/h-264/&quot;&gt;H.264 – Not The Kind Of
3782 Free That Matters&lt;/a&gt;&quot;. It is not free of cost for creators of video
3783 tools, nor those of us that want to publish on the Internet, and the
3784 terms provided by MPEG-LA excludes free software projects from
3785 licensing the patents needed for H.264. Some background information
3786 on the Google announcement is available from
3787 &lt;a href=&quot;http://www.osnews.com/story/24243/Google_To_Drop_H264_Support_from_Chrome&quot;&gt;OSnews&lt;/a&gt;.
3788 A good read. :)&lt;/p&gt;
3789
3790 &lt;p&gt;Personally, I believe it is great that Google is taking a stand to
3791 promote equal terms for everyone when it comes to video publishing on
3792 the Internet. This can only be done by publishing using free and open
3793 standards, which is only possible if the web browsers provide support
3794 for these free and open standards. At the moment there seem to be two
3795 camps in the web browser world when it come to video support. Some
3796 browsers support H.264, and others support
3797 &lt;a href=&quot;http://www.theora.org/&quot;&gt;Ogg Theora&lt;/a&gt; and
3798 &lt;a href=&quot;http://www.webmproject.org/&quot;&gt;WebM&lt;/a&gt;
3799 (&lt;a href=&quot;http://www.diracvideo.org/&quot;&gt;Dirac&lt;/a&gt; is not really an option
3800 yet), forcing those of us that want to publish video on the Internet
3801 and which can not accept the terms of use presented by MPEG-LA for
3802 H.264 to not reach all potential viewers.
3803 Wikipedia keep &lt;a href=&quot;http://en.wikipedia.org/wiki/HTML5_video&quot;&gt;an
3804 updated summary&lt;/a&gt; of the current browser support.&lt;/p&gt;
3805
3806 &lt;p&gt;Not surprising, several people would prefer Google to keep
3807 promoting H.264, and John Gruber
3808 &lt;a href=&quot;http://daringfireball.net/2011/01/simple_questions&quot;&gt;presents
3809 the mind set&lt;/a&gt; of these people quite well. His rhetorical questions
3810 provoked a reply from Thom Holwerda with another set of questions
3811 &lt;a href=&quot;http://www.osnews.com/story/24245/10_Questions_for_John_Gruber_Regarding_H_264_WebM&quot;&gt;presenting
3812 the issues with H.264&lt;/a&gt;. Both are worth a read.&lt;/p&gt;
3813
3814 &lt;p&gt;Some argue that if Google is dropping H.264 because it isn&#39;t free,
3815 they should also drop support for the Adobe Flash plugin. This
3816 argument was covered by Simon Phipps in
3817 &lt;a href=&quot;http://blogs.computerworlduk.com/simon-says/2011/01/google-and-h264---far-from-hypocritical/index.htm&quot;&gt;todays
3818 blog post&lt;/a&gt;, which I find to put the issue in context. To me it
3819 make perfect sense to drop native H.264 support for HTML5 in the
3820 browser while still allowing plugins.&lt;/p&gt;
3821
3822 &lt;p&gt;I suspect the reason this announcement make so many people protest,
3823 is that all the users and promoters of H.264 suddenly get an uneasy
3824 feeling that they might be backing the wrong horse. A lot of TV
3825 broadcasters have been moving to H.264 the last few years, and a lot
3826 of money has been invested in hardware based on the belief that they
3827 could use the same video format for both broadcasting and web
3828 publishing. Suddenly this belief is shaken.&lt;/p&gt;
3829
3830 &lt;p&gt;An interesting question is why Google is doing this. While the
3831 presented argument might be true enough, I believe Google would only
3832 present the argument if the change make sense from a business
3833 perspective. One reason might be that they are currently negotiating
3834 with MPEG-LA over royalties or usage terms, and giving MPEG-LA the
3835 feeling that dropping H.264 completely from Chroome, Youtube and
3836 Google Video would improve the negotiation position of Google.
3837 Another reason might be that Google want to save money by not having
3838 to pay the video tax to MPEG-LA at all, and thus want to move to a
3839 video format not requiring royalties at all. A third reason might be
3840 that the Chrome development team simply want to avoid the
3841 Chrome/Chromium split to get more help with the development of Chrome.
3842 I guess time will tell.&lt;/p&gt;
3843
3844 &lt;p&gt;Update 2011-01-15: The Google Chrome team provided
3845 &lt;a href=&quot;http://blog.chromium.org/2011/01/more-about-chrome-html-video-codec.html&quot;&gt;more
3846 background and information on the move&lt;/a&gt; it a blog post yesterday.&lt;/p&gt;
3847 </description>
3848 </item>
3849
3850 <item>
3851 <title>What standards are Free and Open as defined by Digistan?</title>
3852 <link>http://people.skolelinux.org/pere/blog/What_standards_are_Free_and_Open_as_defined_by_Digistan_.html</link>
3853 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/What_standards_are_Free_and_Open_as_defined_by_Digistan_.html</guid>
3854 <pubDate>Thu, 30 Dec 2010 23:15:00 +0100</pubDate>
3855 <description>&lt;p&gt;After trying to
3856 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Is_Ogg_Theora_a_free_and_open_standard_.html&quot;&gt;compare
3857 Ogg Theora&lt;/a&gt; to
3858 &lt;a href=&quot;http://www.digistan.org/open-standard:definition&quot;&gt;the Digistan
3859 definition&lt;/a&gt; of a free and open standard, I concluded that this need
3860 to be done for more standards and started on a framework for doing
3861 this. As a start, I want to get the status for all the standards in
3862 the Norwegian reference directory, which include UTF-8, HTML, PDF, ODF,
3863 JPEG, PNG, SVG and others. But to be able to complete this in a
3864 reasonable time frame, I will need help.&lt;/p&gt;
3865
3866 &lt;p&gt;If you want to help out with this work, please visit
3867 &lt;a href=&quot;http://wiki.nuug.no/grupper/standard/digistan-analyse&quot;&gt;the
3868 wiki pages I have set up for this&lt;/a&gt;, and let me know that you want
3869 to help out. The IRC channel #nuug on irc.freenode.net is a good
3870 place to coordinate this for now, as it is the IRC channel for the
3871 NUUG association where I have created the framework (I am the leader
3872 of the Norwegian Unix User Group).&lt;/p&gt;
3873
3874 &lt;p&gt;The framework is still forming, and a lot is left to do. Do not be
3875 scared by the sketchy form of the current pages. :)&lt;/p&gt;
3876 </description>
3877 </item>
3878
3879 <item>
3880 <title>The many definitions of a open standard</title>
3881 <link>http://people.skolelinux.org/pere/blog/The_many_definitions_of_a_open_standard.html</link>
3882 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_many_definitions_of_a_open_standard.html</guid>
3883 <pubDate>Mon, 27 Dec 2010 14:45:00 +0100</pubDate>
3884 <description>&lt;p&gt;One of the reasons I like the Digistan definition of
3885 &quot;&lt;a href=&quot;http://www.digistan.org/open-standard:definition&quot;&gt;Free and
3886 Open Standard&lt;/a&gt;&quot; is that this is a new term, and thus the meaning of
3887 the term has been decided by Digistan. The term &quot;Open Standard&quot; has
3888 become so misunderstood that it is no longer very useful when talking
3889 about standards. One end up discussing which definition is the best
3890 one and with such frame the only one gaining are the proponents of
3891 de-facto standards and proprietary solutions.&lt;/p&gt;
3892
3893 &lt;p&gt;But to give us an idea about the diversity of definitions of open
3894 standards, here are a few that I know about. This list is not
3895 complete, but can be a starting point for those that want to do a
3896 complete survey. More definitions are available on the
3897 &lt;a href=&quot;http://en.wikipedia.org/wiki/Open_standard&quot;&gt;wikipedia
3898 page&lt;/a&gt;.&lt;/p&gt;
3899
3900 &lt;p&gt;First off is my favourite, the definition from the European
3901 Interoperability Framework version 1.0. Really sad to notice that BSA
3902 and others has succeeded in getting it removed from version 2.0 of the
3903 framework by stacking the committee drafting the new version with
3904 their own people. Anyway, the definition is still available and it
3905 include the key properties needed to make sure everyone can use a
3906 specification on equal terms.&lt;/p&gt;
3907
3908 &lt;blockquote&gt;
3909
3910 &lt;p&gt;The following are the minimal characteristics that a specification
3911 and its attendant documents must have in order to be considered an
3912 open standard:&lt;/p&gt;
3913
3914 &lt;ul&gt;
3915
3916 &lt;li&gt;The standard is adopted and will be maintained by a not-for-profit
3917 organisation, and its ongoing development occurs on the basis of an
3918 open decision-making procedure available to all interested parties
3919 (consensus or majority decision etc.).&lt;/li&gt;
3920
3921 &lt;li&gt;The standard has been published and the standard specification
3922 document is available either freely or at a nominal charge. It must be
3923 permissible to all to copy, distribute and use it for no fee or at a
3924 nominal fee.&lt;/li&gt;
3925
3926 &lt;li&gt;The intellectual property - i.e. patents possibly present - of
3927 (parts of) the standard is made irrevocably available on a royalty-
3928 free basis.&lt;/li&gt;
3929
3930 &lt;li&gt;There are no constraints on the re-use of the standard.&lt;/li&gt;
3931
3932 &lt;/ul&gt;
3933 &lt;/blockquote&gt;
3934
3935 &lt;p&gt;Another one originates from my friends over at
3936 &lt;a href=&quot;http://www.dkuug.dk/&quot;&gt;DKUUG&lt;/a&gt;, who coined and gathered
3937 support for &lt;a href=&quot;http://www.aaben-standard.dk/&quot;&gt;this
3938 definition&lt;/a&gt; in 2004. It even made it into the Danish parlament as
3939 &lt;a href=&quot;http://www.ft.dk/dokumenter/tingdok.aspx?/samling/20051/beslutningsforslag/B103/som_fremsat.htm&quot;&gt;their
3940 definition of a open standard&lt;/a&gt;. Another from a different part of
3941 the Danish government is available from the wikipedia page.&lt;/p&gt;
3942
3943 &lt;blockquote&gt;
3944
3945 &lt;p&gt;En åben standard opfylder følgende krav:&lt;/p&gt;
3946
3947 &lt;ol&gt;
3948
3949 &lt;li&gt;Veldokumenteret med den fuldstændige specifikation offentligt
3950 tilgængelig.&lt;/li&gt;
3951
3952 &lt;li&gt;Frit implementerbar uden økonomiske, politiske eller juridiske
3953 begrænsninger på implementation og anvendelse.&lt;/li&gt;
3954
3955 &lt;li&gt;Standardiseret og vedligeholdt i et åbent forum (en såkaldt
3956 &quot;standardiseringsorganisation&quot;) via en åben proces.&lt;/li&gt;
3957
3958 &lt;/ol&gt;
3959
3960 &lt;/blockquote&gt;
3961
3962 &lt;p&gt;Then there is &lt;a href=&quot;http://www.fsfe.org/projects/os/def.html&quot;&gt;the
3963 definition&lt;/a&gt; from Free Software Foundation Europe.&lt;/p&gt;
3964
3965 &lt;blockquote&gt;
3966
3967 &lt;p&gt;An Open Standard refers to a format or protocol that is&lt;/p&gt;
3968
3969 &lt;ol&gt;
3970
3971 &lt;li&gt;subject to full public assessment and use without constraints in a
3972 manner equally available to all parties;&lt;/li&gt;
3973
3974 &lt;li&gt;without any components or extensions that have dependencies on
3975 formats or protocols that do not meet the definition of an Open
3976 Standard themselves;&lt;/li&gt;
3977
3978 &lt;li&gt;free from legal or technical clauses that limit its utilisation by
3979 any party or in any business model;&lt;/li&gt;
3980
3981 &lt;li&gt;managed and further developed independently of any single vendor
3982 in a process open to the equal participation of competitors and third
3983 parties;&lt;/li&gt;
3984
3985 &lt;li&gt;available in multiple complete implementations by competing
3986 vendors, or as a complete implementation equally available to all
3987 parties.&lt;/li&gt;
3988
3989 &lt;/ol&gt;
3990
3991 &lt;/blockquote&gt;
3992
3993 &lt;p&gt;A long time ago, SUN Microsystems, now bought by Oracle, created
3994 its
3995 &lt;a href=&quot;http://blogs.sun.com/dennisding/resource/Open%20Standard%20Definition.pdf&quot;&gt;Open
3996 Standards Checklist&lt;/a&gt; with a fairly detailed description.&lt;/p&gt;
3997
3998 &lt;blockquote&gt;
3999 &lt;p&gt;Creation and Management of an Open Standard
4000
4001 &lt;ul&gt;
4002
4003 &lt;li&gt;Its development and management process must be collaborative and
4004 democratic:
4005
4006 &lt;ul&gt;
4007
4008 &lt;li&gt;Participation must be accessible to all those who wish to
4009 participate and can meet fair and reasonable criteria
4010 imposed by the organization under which it is developed
4011 and managed.&lt;/li&gt;
4012
4013 &lt;li&gt;The processes must be documented and, through a known
4014 method, can be changed through input from all
4015 participants.&lt;/li&gt;
4016
4017 &lt;li&gt;The process must be based on formal and binding commitments for
4018 the disclosure and licensing of intellectual property rights.&lt;/li&gt;
4019
4020 &lt;li&gt;Development and management should strive for consensus,
4021 and an appeals process must be clearly outlined.&lt;/li&gt;
4022
4023 &lt;li&gt;The standard specification must be open to extensive
4024 public review at least once in its life-cycle, with
4025 comments duly discussed and acted upon, if required.&lt;/li&gt;
4026
4027 &lt;/ul&gt;
4028
4029 &lt;/li&gt;
4030
4031 &lt;/ul&gt;
4032
4033 &lt;p&gt;Use and Licensing of an Open Standard&lt;/p&gt;
4034 &lt;ul&gt;
4035
4036 &lt;li&gt;The standard must describe an interface, not an implementation,
4037 and the industry must be capable of creating multiple, competing
4038 implementations to the interface described in the standard without
4039 undue or restrictive constraints. Interfaces include APIs,
4040 protocols, schemas, data formats and their encoding.&lt;/li&gt;
4041
4042 &lt;li&gt; The standard must not contain any proprietary &quot;hooks&quot; that create
4043 a technical or economic barriers&lt;/li&gt;
4044
4045 &lt;li&gt;Faithful implementations of the standard must
4046 interoperate. Interoperability means the ability of a computer
4047 program to communicate and exchange information with other computer
4048 programs and mutually to use the information which has been
4049 exchanged. This includes the ability to use, convert, or exchange
4050 file formats, protocols, schemas, interface information or
4051 conventions, so as to permit the computer program to work with other
4052 computer programs and users in all the ways in which they are
4053 intended to function.&lt;/li&gt;
4054
4055 &lt;li&gt;It must be permissible for anyone to copy, distribute and read the
4056 standard for a nominal fee, or even no fee. If there is a fee, it
4057 must be low enough to not preclude widespread use.&lt;/li&gt;
4058
4059 &lt;li&gt;It must be possible for anyone to obtain free (no royalties or
4060 fees; also known as &quot;royalty free&quot;), worldwide, non-exclusive and
4061 perpetual licenses to all essential patent claims to make, use and
4062 sell products based on the standard. The only exceptions are
4063 terminations per the reciprocity and defensive suspension terms
4064 outlined below. Essential patent claims include pending, unpublished
4065 patents, published patents, and patent applications. The license is
4066 only for the exact scope of the standard in question.
4067
4068 &lt;ul&gt;
4069
4070 &lt;li&gt; May be conditioned only on reciprocal licenses to any of
4071 licensees&#39; patent claims essential to practice that standard
4072 (also known as a reciprocity clause)&lt;/li&gt;
4073
4074 &lt;li&gt; May be terminated as to any licensee who sues the licensor
4075 or any other licensee for infringement of patent claims
4076 essential to practice that standard (also known as a
4077 &quot;defensive suspension&quot; clause)&lt;/li&gt;
4078
4079 &lt;li&gt; The same licensing terms are available to every potential
4080 licensor&lt;/li&gt;
4081
4082 &lt;/ul&gt;
4083 &lt;/li&gt;
4084
4085 &lt;li&gt;The licensing terms of an open standards must not preclude
4086 implementations of that standard under open source licensing terms
4087 or restricted licensing terms&lt;/li&gt;
4088
4089 &lt;/ul&gt;
4090
4091 &lt;/blockquote&gt;
4092
4093 &lt;p&gt;It is said that one of the nice things about standards is that
4094 there are so many of them. As you can see, the same holds true for
4095 open standard definitions. Most of the definitions have a lot in
4096 common, and it is not really controversial what properties a open
4097 standard should have, but the diversity of definitions have made it
4098 possible for those that want to avoid a level marked field and real
4099 competition to downplay the significance of open standards. I hope we
4100 can turn this tide by focusing on the advantages of Free and Open
4101 Standards.&lt;/p&gt;
4102 </description>
4103 </item>
4104
4105 <item>
4106 <title>Is Ogg Theora a free and open standard?</title>
4107 <link>http://people.skolelinux.org/pere/blog/Is_Ogg_Theora_a_free_and_open_standard_.html</link>
4108 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Is_Ogg_Theora_a_free_and_open_standard_.html</guid>
4109 <pubDate>Sat, 25 Dec 2010 20:25:00 +0100</pubDate>
4110 <description>&lt;p&gt;&lt;a href=&quot;http://www.digistan.org/open-standard:definition&quot;&gt;The
4111 Digistan definition&lt;/a&gt; of a free and open standard reads like this:&lt;/p&gt;
4112
4113 &lt;blockquote&gt;
4114
4115 &lt;p&gt;The Digital Standards Organization defines free and open standard
4116 as follows:&lt;/p&gt;
4117
4118 &lt;ol&gt;
4119
4120 &lt;li&gt;A free and open standard is immune to vendor capture at all stages
4121 in its life-cycle. Immunity from vendor capture makes it possible to
4122 freely use, improve upon, trust, and extend a standard over time.&lt;/li&gt;
4123
4124 &lt;li&gt;The standard is adopted and will be maintained by a not-for-profit
4125 organisation, and its ongoing development occurs on the basis of an
4126 open decision-making procedure available to all interested
4127 parties.&lt;/li&gt;
4128
4129 &lt;li&gt;The standard has been published and the standard specification
4130 document is available freely. It must be permissible to all to copy,
4131 distribute, and use it freely.&lt;/li&gt;
4132
4133 &lt;li&gt;The patents possibly present on (parts of) the standard are made
4134 irrevocably available on a royalty-free basis.&lt;/li&gt;
4135
4136 &lt;li&gt;There are no constraints on the re-use of the standard.&lt;/li&gt;
4137
4138 &lt;/ol&gt;
4139
4140 &lt;p&gt;The economic outcome of a free and open standard, which can be
4141 measured, is that it enables perfect competition between suppliers of
4142 products based on the standard.&lt;/p&gt;
4143 &lt;/blockquote&gt;
4144
4145 &lt;p&gt;For a while now I have tried to figure out of Ogg Theora is a free
4146 and open standard according to this definition. Here is a short
4147 writeup of what I have been able to gather so far. I brought up the
4148 topic on the Xiph advocacy mailing list
4149 &lt;a href=&quot;http://lists.xiph.org/pipermail/advocacy/2009-July/001632.html&quot;&gt;in
4150 July 2009&lt;/a&gt;, for those that want to see some background information.
4151 According to Ivo Emanuel Gonçalves and Monty Montgomery on that list
4152 the Ogg Theora specification fulfils the Digistan definition.&lt;/p&gt;
4153
4154 &lt;p&gt;&lt;strong&gt;Free from vendor capture?&lt;/strong&gt;&lt;/p&gt;
4155
4156 &lt;p&gt;As far as I can see, there is no single vendor that can control the
4157 Ogg Theora specification. It can be argued that the
4158 &lt;a href=&quot;http://www.xiph.org/&quot;&gt;Xiph foundation&lt;/A&gt; is such vendor, but
4159 given that it is a non-profit foundation with the expressed goal
4160 making free and open protocols and standards available, it is not
4161 obvious that this is a real risk. One issue with the Xiph
4162 foundation is that its inner working (as in board member list, or who
4163 control the foundation) are not easily available on the web. I&#39;ve
4164 been unable to find out who is in the foundation board, and have not
4165 seen any accounting information documenting how money is handled nor
4166 where is is spent in the foundation. It is thus not obvious for an
4167 external observer who control The Xiph foundation, and for all I know
4168 it is possible for a single vendor to take control over the
4169 specification. But it seem unlikely.&lt;/p&gt;
4170
4171 &lt;p&gt;&lt;strong&gt;Maintained by open not-for-profit organisation?&lt;/strong&gt;&lt;/p&gt;
4172
4173 &lt;p&gt;Assuming that the Xiph foundation is the organisation its web pages
4174 claim it to be, this point is fulfilled. If Xiph foundation is
4175 controlled by a single vendor, it isn&#39;t, but I have not found any
4176 documentation indicating this.&lt;/p&gt;
4177
4178 &lt;p&gt;According to
4179 &lt;a href=&quot;http://media.hiof.no/diverse/fad/rapport_4.pdf&quot;&gt;a report&lt;/a&gt;
4180 prepared by Audun Vaaler og Børre Ludvigsen for the Norwegian
4181 government, the Xiph foundation is a non-commercial organisation and
4182 the development process is open, transparent and non-Discrimatory.
4183 Until proven otherwise, I believe it make most sense to believe the
4184 report is correct.&lt;/p&gt;
4185
4186 &lt;p&gt;&lt;strong&gt;Specification freely available?&lt;/strong&gt;&lt;/p&gt;
4187
4188 &lt;p&gt;The specification for the &lt;a href=&quot;http://www.xiph.org/ogg/doc/&quot;&gt;Ogg
4189 container format&lt;/a&gt; and both the
4190 &lt;a href=&quot;http://www.xiph.org/vorbis/doc/&quot;&gt;Vorbis&lt;/a&gt; and
4191 &lt;a href=&quot;http://theora.org/doc/&quot;&gt;Theora&lt;/a&gt; codeces are available on
4192 the web. This are the terms in the Vorbis and Theora specification:
4193
4194 &lt;blockquote&gt;
4195
4196 Anyone may freely use and distribute the Ogg and [Vorbis/Theora]
4197 specifications, whether in private, public, or corporate
4198 capacity. However, the Xiph.Org Foundation and the Ogg project reserve
4199 the right to set the Ogg [Vorbis/Theora] specification and certify
4200 specification compliance.
4201
4202 &lt;/blockquote&gt;
4203
4204 &lt;p&gt;The Ogg container format is specified in IETF
4205 &lt;a href=&quot;http://www.xiph.org/ogg/doc/rfc3533.txt&quot;&gt;RFC 3533&lt;/a&gt;, and
4206 this is the term:&lt;p&gt;
4207
4208 &lt;blockquote&gt;
4209
4210 &lt;p&gt;This document and translations of it may be copied and furnished to
4211 others, and derivative works that comment on or otherwise explain it
4212 or assist in its implementation may be prepared, copied, published and
4213 distributed, in whole or in part, without restriction of any kind,
4214 provided that the above copyright notice and this paragraph are
4215 included on all such copies and derivative works. However, this
4216 document itself may not be modified in any way, such as by removing
4217 the copyright notice or references to the Internet Society or other
4218 Internet organizations, except as needed for the purpose of developing
4219 Internet standards in which case the procedures for copyrights defined
4220 in the Internet Standards process must be followed, or as required to
4221 translate it into languages other than English.&lt;/p&gt;
4222
4223 &lt;p&gt;The limited permissions granted above are perpetual and will not be
4224 revoked by the Internet Society or its successors or assigns.&lt;/p&gt;
4225 &lt;/blockquote&gt;
4226
4227 &lt;p&gt;All these terms seem to allow unlimited distribution and use, an
4228 this term seem to be fulfilled. There might be a problem with the
4229 missing permission to distribute modified versions of the text, and
4230 thus reuse it in other specifications. Not quite sure if that is a
4231 requirement for the Digistan definition.&lt;/p&gt;
4232
4233 &lt;p&gt;&lt;strong&gt;Royalty-free?&lt;/strong&gt;&lt;/p&gt;
4234
4235 &lt;p&gt;There are no known patent claims requiring royalties for the Ogg
4236 Theora format.
4237 &lt;a href=&quot;http://www.streamingmedia.com/Articles/ReadArticle.aspx?ArticleID=65782&quot;&gt;MPEG-LA&lt;/a&gt;
4238 and
4239 &lt;a href=&quot;http://yro.slashdot.org/story/10/04/30/237238/Steve-Jobs-Hints-At-Theora-Lawsuit&quot;&gt;Steve
4240 Jobs&lt;/a&gt; in Apple claim to know about some patent claims (submarine
4241 patents) against the Theora format, but no-one else seem to believe
4242 them. Both Opera Software and the Mozilla Foundation have looked into
4243 this and decided to implement Ogg Theora support in their browsers
4244 without paying any royalties. For now the claims from MPEG-LA and
4245 Steve Jobs seem more like FUD to scare people to use the H.264 codec
4246 than any real problem with Ogg Theora.&lt;/p&gt;
4247
4248 &lt;p&gt;&lt;strong&gt;No constraints on re-use?&lt;/strong&gt;&lt;/p&gt;
4249
4250 &lt;p&gt;I am not aware of any constraints on re-use.&lt;/p&gt;
4251
4252 &lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;
4253
4254 &lt;p&gt;3 of 5 requirements seem obviously fulfilled, and the remaining 2
4255 depend on the governing structure of the Xiph foundation. Given the
4256 background report used by the Norwegian government, I believe it is
4257 safe to assume the last two requirements are fulfilled too, but it
4258 would be nice if the Xiph foundation web site made it easier to verify
4259 this.&lt;/p&gt;
4260
4261 &lt;p&gt;It would be nice to see other analysis of other specifications to
4262 see if they are free and open standards.&lt;/p&gt;
4263 </description>
4264 </item>
4265
4266 <item>
4267 <title>The reply from Edgar Villanueva to Microsoft in Peru</title>
4268 <link>http://people.skolelinux.org/pere/blog/The_reply_from_Edgar_Villanueva_to_Microsoft_in_Peru.html</link>
4269 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_reply_from_Edgar_Villanueva_to_Microsoft_in_Peru.html</guid>
4270 <pubDate>Sat, 25 Dec 2010 10:50:00 +0100</pubDate>
4271 <description>&lt;p&gt;A few days ago
4272 &lt;a href=&quot;http://www.idg.no/computerworld/article189879.ece&quot;&gt;an
4273 article&lt;/a&gt; in the Norwegian Computerworld magazine about how version
4274 2.0 of
4275 &lt;a href=&quot;http://en.wikipedia.org/wiki/European_Interoperability_Framework&quot;&gt;European
4276 Interoperability Framework&lt;/a&gt; has been successfully lobbied by the
4277 proprietary software industry to remove the focus on free software.
4278 Nothing very surprising there, given
4279 &lt;a href=&quot;http://news.slashdot.org/story/10/03/29/2115235/Open-Source-Open-Standards-Under-Attack-In-Europe&quot;&gt;earlier
4280 reports&lt;/a&gt; on how Microsoft and others have stacked the committees in
4281 this work. But I find this very sad. The definition of
4282 &lt;a href=&quot;http://www.nuug.no/dokumenter/standard-presse-def-200506.txt&quot;&gt;an
4283 open standard from version 1&lt;/a&gt; was very good, and something I
4284 believe should be used also in the future, alongside
4285 &lt;a href=&quot;http://www.digistan.org/open-standard:definition&quot;&gt;the
4286 definition from Digistan&lt;/A&gt;. Version 2 have removed the open
4287 standard definition from its content.&lt;/p&gt;
4288
4289 &lt;p&gt;Anyway, the news reminded me of the great reply sent by Dr. Edgar
4290 Villanueva, congressman in Peru at the time, to Microsoft as a reply
4291 to Microsofts attack on his proposal regarding the use of free software
4292 in the public sector in Peru. As the text was not available from a
4293 few of the URLs where it used to be available, I copy it here from
4294 &lt;a href=&quot;http://gnuwin.epfl.ch/articles/en/reponseperou/villanueva_to_ms.html&quot;&gt;my
4295 source&lt;/a&gt; to ensure it is available also in the future. Some
4296 background information about that story is available in
4297 &lt;a href=&quot;http://www.linuxjournal.com/article/6099&quot;&gt;an article&lt;/a&gt; from
4298 Linux Journal in 2002.&lt;/p&gt;
4299
4300 &lt;blockquote&gt;
4301 &lt;p&gt;Lima, 8th of April, 2002&lt;br&gt;
4302 To: Señor JUAN ALBERTO GONZÁLEZ&lt;br&gt;
4303 General Manager of Microsoft Perú&lt;/p&gt;
4304
4305 &lt;p&gt;Dear Sir:&lt;/p&gt;
4306
4307 &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;
4308
4309 &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;
4310
4311 &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;
4312
4313 &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;
4314
4315 &lt;p&gt;
4316 &lt;ul&gt;
4317 &lt;li&gt;Free access to public information by the citizen. &lt;/li&gt;
4318 &lt;li&gt;Permanence of public data. &lt;/li&gt;
4319 &lt;li&gt;Security of the State and citizens.&lt;/li&gt;
4320 &lt;/ul&gt;
4321 &lt;/p&gt;
4322
4323 &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;
4324
4325 &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;
4326
4327 &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;
4328
4329 &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;
4330
4331 &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;
4332
4333
4334 &lt;p&gt;From reading the Bill it will be clear that once passed:&lt;br&gt;
4335 &lt;li&gt;the law does not forbid the production of proprietary software&lt;/li&gt;
4336 &lt;li&gt;the law does not forbid the sale of proprietary software&lt;/li&gt;
4337 &lt;li&gt;the law does not specify which concrete software to use&lt;/li&gt;
4338 &lt;li&gt;the law does not dictate the supplier from whom software will be bought&lt;/li&gt;
4339 &lt;li&gt;the law does not limit the terms under which a software product can be licensed.&lt;/li&gt;
4340
4341 &lt;/p&gt;
4342
4343 &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;
4344
4345 &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;
4346
4347 &lt;p&gt;As for the observations you have made, we will now go on to analyze them in detail:&lt;/p&gt;
4348
4349 &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;
4350
4351 &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;
4352
4353 &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;
4354
4355 &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;
4356
4357 &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;
4358
4359 &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;
4360
4361 &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;
4362
4363 &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;
4364
4365 &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;
4366
4367 &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;
4368
4369 &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;
4370
4371 &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;
4372
4373 &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;
4374
4375 &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;
4376
4377 &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;
4378
4379 &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;
4380
4381 &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;
4382
4383 &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;
4384
4385 &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;
4386
4387 &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;
4388
4389 &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;
4390
4391 &lt;p&gt;On security:&lt;/p&gt;
4392
4393 &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;
4394
4395 &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;
4396
4397 &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;
4398
4399 &lt;p&gt;In respect of the guarantee:&lt;/p&gt;
4400
4401 &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;
4402
4403 &lt;p&gt;On Intellectual Property:&lt;/p&gt;
4404
4405 &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;
4406
4407 &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;
4408
4409 &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;
4410
4411 &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;
4412
4413 &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;
4414
4415 &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;
4416
4417 &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;
4418
4419 &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;
4420
4421 &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;
4422
4423 &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;
4424
4425 &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;
4426
4427 &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;
4428
4429 &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;
4430
4431 &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;
4432
4433 &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;
4434
4435 &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;
4436
4437 &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;
4438
4439 &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;
4440
4441 &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;
4442
4443 &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;
4444
4445 &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;
4446
4447 &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;
4448
4449 &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;
4450
4451 &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;
4452
4453 &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;
4454
4455 &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;
4456
4457 &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;
4458
4459 &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;
4460
4461 &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;
4462
4463 &lt;p&gt;Cordially,&lt;br&gt;
4464 DR. EDGAR DAVID VILLANUEVA NUÑEZ&lt;br&gt;
4465 Congressman of the Republic of Perú.&lt;/p&gt;
4466 &lt;/blockquote&gt;
4467 </description>
4468 </item>
4469
4470 <item>
4471 <title>Officeshots still going strong</title>
4472 <link>http://people.skolelinux.org/pere/blog/Officeshots_still_going_strong.html</link>
4473 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Officeshots_still_going_strong.html</guid>
4474 <pubDate>Sat, 25 Dec 2010 09:40:00 +0100</pubDate>
4475 <description>&lt;p&gt;Half a year ago I
4476 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Officeshots_taking_shape.html&quot;&gt;wrote
4477 a bit&lt;/a&gt; about &lt;a href=&quot;http://www.officeshots.org/&quot;&gt;OfficeShots&lt;/a&gt;,
4478 a web service to allow anyone to test how ODF documents are handled by
4479 the different programs reading and writing the ODF format.&lt;/p&gt;
4480
4481 &lt;p&gt;I just had a look at the service, and it seem to be going strong.
4482 Very interesting to see the results reported in the gallery, how
4483 different Office implementations handle different ODF features. Sad
4484 to see that KOffice was not doing it very well, and happy to see that
4485 LibreOffice has been tested already (but sadly not listed as a option
4486 for OfficeShots users yet). I am glad to see that the ODF community
4487 got such a great test tool available.&lt;/p&gt;
4488 </description>
4489 </item>
4490
4491 <item>
4492 <title>How to test if a laptop is working with Linux</title>
4493 <link>http://people.skolelinux.org/pere/blog/How_to_test_if_a_laptop_is_working_with_Linux.html</link>
4494 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/How_to_test_if_a_laptop_is_working_with_Linux.html</guid>
4495 <pubDate>Wed, 22 Dec 2010 14:55:00 +0100</pubDate>
4496 <description>&lt;p&gt;The last few days I have spent at work here at the &lt;a
4497 href=&quot;http://www.uio.no/&quot;&gt;University of Oslo&lt;/a&gt; testing if the new
4498 batch of computers will work with Linux. Every year for the last few
4499 years the university have organised shared bid of a few thousand
4500 computers, and this year HP won the bid. Two different desktops and
4501 five different laptops are on the list this year. We in the UNIX
4502 group want to know which one of these computers work well with RHEL
4503 and Ubuntu, the two Linux distributions we currently handle at the
4504 university.&lt;/p&gt;
4505
4506 &lt;p&gt;My test method is simple, and I share it here to get feedback and
4507 perhaps inspire others to test hardware as well. To test, I PXE
4508 install the OS version of choice, and log in as my normal user and run
4509 a few applications and plug in selected pieces of hardware. When
4510 something fail, I make a note about this in the test matrix and move
4511 on. If I have some spare time I try to report the bug to the OS
4512 vendor, but as I only have the machines for a short time, I rarely
4513 have the time to do this for all the problems I find.&lt;/p&gt;
4514
4515 &lt;p&gt;Anyway, to get to the point of this post. Here is the simple tests
4516 I perform on a new model.&lt;/p&gt;
4517
4518 &lt;ul&gt;
4519
4520 &lt;li&gt;Is PXE installation working? I&#39;m testing with RHEL6, Ubuntu Lucid
4521 and Ubuntu Maverik at the moment. If I feel like it, I also test with
4522 RHEL5 and Debian Edu/Squeeze.&lt;/li&gt;
4523
4524 &lt;li&gt;Is X.org working? If the graphical login screen show up after
4525 installation, X.org is working.&lt;/li&gt;
4526
4527 &lt;li&gt;Is hardware accelerated OpenGL working? Running glxgears (in
4528 package mesa-utils on Ubuntu) and writing down the frames per second
4529 reported by the program.&lt;/li&gt;
4530
4531 &lt;li&gt;Is sound working? With Gnome and KDE, a sound is played when
4532 logging in, and if I can hear this the test is successful. If there
4533 are several audio exits on the machine, I try them all and check if
4534 the Gnome/KDE audio mixer can control where to send the sound. I
4535 normally test this by playing
4536 &lt;a href=&quot;http://www.nuug.no/aktiviteter/20101012-chef/ &quot;&gt;a HTML5
4537 video&lt;/a&gt; in Firefox/Iceweasel.&lt;/li&gt;
4538
4539 &lt;li&gt;Is the USB subsystem working? I test this by plugging in a USB
4540 memory stick and see if Gnome/KDE notices this.&lt;/li&gt;
4541
4542 &lt;li&gt;Is the CD/DVD player working? I test this by inserting any CD/DVD
4543 I have lying around, and see if Gnome/KDE notices this.&lt;/li&gt;
4544
4545 &lt;li&gt;Is any built in camera working? Test using cheese, and see if a
4546 picture from the v4l device show up.&lt;/li&gt;
4547
4548 &lt;li&gt;Is bluetooth working? Use the Gnome/KDE browsing tool to see if
4549 any bluetooth devices are discovered. In my office, I normally see a
4550 few.&lt;/li&gt;
4551
4552 &lt;li&gt;For laptops, is the SD or Compaq Flash reader working. I have
4553 memory modules lying around, and stick them in and see if Gnome/KDE
4554 notice this.&lt;/li&gt;
4555
4556 &lt;li&gt;For laptops, is suspend/hibernate working? I&#39;m testing if the
4557 special button work, and if the laptop continue to work after
4558 resume.&lt;/li&gt;
4559
4560 &lt;li&gt;For laptops, is the extra buttons working, like audio level,
4561 adjusting background light, switching on/off external video output,
4562 switching on/off wifi, bluetooth, etc? The set of buttons differ from
4563 laptop to laptop, so I just write down which are working and which are
4564 not.&lt;/li&gt;
4565
4566 &lt;li&gt;Some laptops have smart card readers, finger print readers,
4567 acceleration sensors etc. I rarely test these, as I do not know how
4568 to quickly test if they are working or not, so I only document their
4569 existence.&lt;/li&gt;
4570
4571 &lt;/ul&gt;
4572
4573 &lt;p&gt;By now I suspect you are really curious what the test results are
4574 for the HP machines I am testing. I&#39;m not done yet, so I will report
4575 the test results later. For now I can report that HP 8100 Elite work
4576 fine, and hibernation fail with HP EliteBook 8440p on Ubuntu Lucid,
4577 and audio fail on RHEL6. Ubuntu Maverik worked with 8440p. As you
4578 can see, I have most machines left to test. One interesting
4579 observation is that Ubuntu Lucid has almost twice the frame rate than
4580 RHEL6 with glxgears. No idea why.&lt;/p&gt;
4581 </description>
4582 </item>
4583
4584 <item>
4585 <title>Some thoughts on BitCoins</title>
4586 <link>http://people.skolelinux.org/pere/blog/Some_thoughts_on_BitCoins.html</link>
4587 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Some_thoughts_on_BitCoins.html</guid>
4588 <pubDate>Sat, 11 Dec 2010 15:10:00 +0100</pubDate>
4589 <description>&lt;p&gt;As I continue to explore
4590 &lt;a href=&quot;http://www.bitcoin.org/&quot;&gt;BitCoin&lt;/a&gt;, I&#39;ve starting to wonder
4591 what properties the system have, and how it will be affected by laws
4592 and regulations here in Norway. Here are some random notes.&lt;/p&gt;
4593
4594 &lt;p&gt;One interesting thing to note is that since the transactions are
4595 verified using a peer to peer network, all details about a transaction
4596 is known to everyone. This means that if a BitCoin address has been
4597 published like I did with mine in my initial post about BitCoin, it is
4598 possible for everyone to see how many BitCoins have been transfered to
4599 that address. There is even a web service to look at the details for
4600 all transactions. There I can see that my address
4601 &lt;a href=&quot;http://blockexplorer.com/address/15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&quot;&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/a&gt;
4602 have received 16.06 Bitcoin, the
4603 &lt;a href=&quot;http://blockexplorer.com/address/1LfdGnGuWkpSJgbQySxxCWhv8MHqvwst3&quot;&gt;1LfdGnGuWkpSJgbQySxxCWhv8MHqvwst3&lt;/a&gt;
4604 address of Simon Phipps have received 181.97 BitCoin and the address
4605 &lt;a href=&quot;http://blockexplorer.com/address/1MCwBbhNGp5hRm5rC1Aims2YFRe2SXPYKt&quot;&gt;1MCwBbhNGp5hRm5rC1Aims2YFRe2SXPYKt&lt;/A&gt;
4606 of EFF have received 2447.38 BitCoins so far. Thank you to each and
4607 every one of you that donated bitcoins to support my activity. The
4608 fact that anyone can see how much money was transfered to a given
4609 address make it more obvious why the BitCoin community recommend to
4610 generate and hand out a new address for each transaction. I&#39;m told
4611 there is no way to track which addresses belong to a given person or
4612 organisation without the person or organisation revealing it
4613 themselves, as Simon, EFF and I have done.&lt;/p&gt;
4614
4615 &lt;p&gt;In Norway, and in most other countries, there are laws and
4616 regulations limiting how much money one can transfer across the border
4617 without declaring it. There are money laundering, tax and accounting
4618 laws and regulations I would expect to apply to the use of BitCoin.
4619 If the Skolelinux foundation
4620 (&lt;a href=&quot;http://linuxiskolen.no/slxdebianlabs/donations.html&quot;&gt;SLX
4621 Debian Labs&lt;/a&gt;) were to accept donations in BitCoin in addition to
4622 normal bank transfers like EFF is doing, how should this be accounted?
4623 Given that it is impossible to know if money can across the border or
4624 not, should everything or nothing be declared? What exchange rate
4625 should be used when calculating taxes? Would receivers have to pay
4626 income tax if the foundation were to pay Skolelinux contributors in
4627 BitCoin? I have no idea, but it would be interesting to know.&lt;/p&gt;
4628
4629 &lt;p&gt;For a currency to be useful and successful, it must be trusted and
4630 accepted by a lot of users. It must be possible to get easy access to
4631 the currency (as a wage or using currency exchanges), and it must be
4632 easy to spend it. At the moment BitCoin seem fairly easy to get
4633 access to, but there are very few places to spend it. I am not really
4634 a regular user of any of the vendor types currently accepting BitCoin,
4635 so I wonder when my kind of shop would start accepting BitCoins. I
4636 would like to buy electronics, travels and subway tickets, not herbs
4637 and books. :) The currency is young, and this will improve over time
4638 if it become popular, but I suspect regular banks will start to lobby
4639 to get BitCoin declared illegal if it become popular. I&#39;m sure they
4640 will claim it is helping fund terrorism and money laundering (which
4641 probably would be true, as is any currency in existence), but I
4642 believe the problems should be solved elsewhere and not by blaming
4643 currencies.&lt;/p&gt;
4644
4645 &lt;p&gt;The process of creating new BitCoins is called mining, and it is
4646 CPU intensive process that depend on a bit of luck as well (as one is
4647 competing against all the other miners currently spending CPU cycles
4648 to see which one get the next lump of cash). The &quot;winner&quot; get 50
4649 BitCoin when this happen. Yesterday I came across the obvious way to
4650 join forces to increase ones changes of getting at least some coins,
4651 by coordinating the work on mining BitCoins across several machines
4652 and people, and sharing the result if one is lucky and get the 50
4653 BitCoins. Check out
4654 &lt;a href=&quot;http://www.bluishcoder.co.nz/bitcoin-pool/&quot;&gt;BitCoin Pool&lt;/a&gt;
4655 if this sounds interesting. I have not had time to try to set up a
4656 machine to participate there yet, but have seen that running on ones
4657 own for a few days have not yield any BitCoins througth mining
4658 yet.&lt;/p&gt;
4659
4660 &lt;p&gt;Update 2010-12-15: Found an &lt;a
4661 href=&quot;http://inertia.posterous.com/reply-to-the-underground-economist-why-bitcoi&quot;&gt;interesting
4662 criticism&lt;/a&gt; of bitcoin. Not quite sure how valid it is, but thought
4663 it was interesting to read. The arguments presented seem to be
4664 equally valid for gold, which was used as a currency for many years.&lt;/p&gt;
4665 </description>
4666 </item>
4667
4668 <item>
4669 <title>Now accepting bitcoins - anonymous and distributed p2p crypto-money</title>
4670 <link>http://people.skolelinux.org/pere/blog/Now_accepting_bitcoins___anonymous_and_distributed_p2p_crypto_money.html</link>
4671 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Now_accepting_bitcoins___anonymous_and_distributed_p2p_crypto_money.html</guid>
4672 <pubDate>Fri, 10 Dec 2010 08:20:00 +0100</pubDate>
4673 <description>&lt;p&gt;With this weeks lawless
4674 &lt;a href=&quot;http://www.salon.com/news/opinion/glenn_greenwald/2010/12/06/wikileaks/index.html&quot;&gt;governmental
4675 attacks&lt;/a&gt; on Wikileak and
4676 &lt;a href=&quot;http://www.salon.com/technology/dan_gillmor/2010/12/06/war_on_speech&quot;&gt;free
4677 speech&lt;/a&gt;, it has become obvious that PayPal, visa and mastercard can
4678 not be trusted to handle money transactions.
4679 A blog post from
4680 &lt;a href=&quot;http://webmink.com/2010/12/06/now-accepting-bitcoin/&quot;&gt;Simon
4681 Phipps on bitcoin&lt;/a&gt; reminded me about a project that a friend of
4682 mine mentioned earlier. I decided to follow Simon&#39;s example, and get
4683 involved with &lt;a href=&quot;http://www.bitcoin.org/&quot;&gt;BitCoin&lt;/a&gt;. I got
4684 some help from my friend to get it all running, and he even handed me
4685 some bitcoins to get started. I even donated a few bitcoins to Simon
4686 for helping me remember BitCoin.&lt;/p&gt;
4687
4688 &lt;p&gt;So, what is bitcoins, you probably wonder? It is a digital
4689 crypto-currency, decentralised and handled using peer-to-peer
4690 networks. It allows anonymous transactions and prohibits central
4691 control over the transactions, making it impossible for governments
4692 and companies alike to block donations and other transactions. The
4693 source is free software, and while the key dependency wxWidgets 2.9
4694 for the graphical user interface is missing in Debian, the command
4695 line client builds just fine. Hopefully Jonas
4696 &lt;a href=&quot;http://bugs.debian.org/578157&quot;&gt;will get the package into
4697 Debian&lt;/a&gt; soon.&lt;/p&gt;
4698
4699 &lt;p&gt;Bitcoins can be converted to other currencies, like USD and EUR.
4700 There are &lt;a href=&quot;http://www.bitcoin.org/trade&quot;&gt;companies accepting
4701 bitcoins&lt;/a&gt; when selling services and goods, and there are even
4702 currency &quot;stock&quot; markets where the exchange rate is decided. There
4703 are not many users so far, but the concept seems promising. If you
4704 want to get started and lack a friend with any bitcoins to spare,
4705 you can even get
4706 &lt;a href=&quot;https://freebitcoins.appspot.com/&quot;&gt;some for free&lt;/a&gt; (0.05
4707 bitcoin at the time of writing). Use
4708 &lt;a href=&quot;http://www.bitcoinwatch.com/&quot;&gt;BitcoinWatch&lt;/a&gt; to keep an eye
4709 on the current exchange rates.&lt;/p&gt;
4710
4711 &lt;p&gt;As an experiment, I have decided to set up bitcoind on one of my
4712 machines. If you want to support my activity, please send Bitcoin
4713 donations to the address
4714 &lt;b&gt;15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&lt;/b&gt;. Thank you!&lt;/p&gt;
4715 </description>
4716 </item>
4717
4718 <item>
4719 <title>Student group continue the work on my Reprap 3D printer</title>
4720 <link>http://people.skolelinux.org/pere/blog/Student_group_continue_the_work_on_my_Reprap_3D_printer.html</link>
4721 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Student_group_continue_the_work_on_my_Reprap_3D_printer.html</guid>
4722 <pubDate>Thu, 9 Dec 2010 19:30:00 +0100</pubDate>
4723 <description>&lt;p&gt;A few days ago, I was introduces to some students in the robot
4724 student assosiation &lt;a href=&quot;http://www.robotica.no/&quot;&gt;Robotica
4725 Osloensis&lt;/a&gt; at the University of Oslo where I work, who planned to
4726 get their own 3D printer. They wanted to learn from me based on my
4727 work in the area. After having a short lunch meeting with them, I
4728 offered them to borrow my reprap kit, as I never had time to complete
4729 the build and this seem unlike to change any time soon. I look
4730 forward to see how this goes. This monday their volunteer driver
4731 picked up my kit and drove it to their lab, and tomorrow I am told the
4732 last exam is over so they can start work on getting the 3D printer
4733 operational.&lt;/p&gt;
4734
4735 &lt;p&gt;The robotic group have already build several robots on their own,
4736 and seem capable of getting the reprap operational. I really look
4737 forward to being able to print all the cool 3D designs published on
4738 &lt;a href=&quot;http://www.thingiverse.com/&quot;&gt;Thingiverse&lt;/a&gt;. I even got
4739 some 3D scans I got made during Dagen@IFI when one of the groups at
4740 the computer science department at the university demonstrated their
4741 very cool 3D scanner.&lt;/p&gt;
4742 </description>
4743 </item>
4744
4745 <item>
4746 <title>Debian Edu development gathering and General Assembly for FRiSK</title>
4747 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_development_gathering_and_General_Assembly_for_FRiSK.html</link>
4748 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_development_gathering_and_General_Assembly_for_FRiSK.html</guid>
4749 <pubDate>Mon, 29 Nov 2010 18:40:00 +0100</pubDate>
4750 <description>&lt;p&gt;On friday, the first Debian Edu / Skolelinux
4751 &lt;a href=&quot;http://www.friprogramvareiskolen.no/Gathering/2010-12-03-05-Oslo&quot;&gt;development
4752 gathering&lt;/a&gt; in a long time take place here in Oslo, Norway. I
4753 really look forward to seeing all the good people working on the
4754 Squeeze release. The gathering is open for everyone interested in
4755 learning more about Debian Edu / Skolelinux.&lt;/p&gt;
4756
4757 &lt;p&gt;On Saturday, the Norwegian member organization taking care of
4758 organizing these development gatherings, Fri Programvare i Skolen,
4759 will hold its
4760 &lt;a href=&quot;http://friprogramvareiskolen.no/Genfors/2010&quot;&gt;General Assembly
4761 for 2010&lt;/a&gt;. Membership is open for all, and currently there are 388
4762 people registered as members. Last year 32 members cast their vote in
4763 the memberdb based election system. I hope more people find time to
4764 vote this year.&lt;/p&gt;
4765 </description>
4766 </item>
4767
4768 <item>
4769 <title>Why isn&#39;t Debian Edu using VLC?</title>
4770 <link>http://people.skolelinux.org/pere/blog/Why_isn_t_Debian_Edu_using_VLC_.html</link>
4771 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Why_isn_t_Debian_Edu_using_VLC_.html</guid>
4772 <pubDate>Sat, 27 Nov 2010 11:30:00 +0100</pubDate>
4773 <description>&lt;p&gt;In the latest issue of Linux Journal, the readers choices were
4774 presented, and the winner among the multimedia player were VLC.
4775 Personally, I like VLC, and it is my player of choice when I first try
4776 to play a video file or stream. Only if VLC fail will I drag out
4777 gmplayer to see if it can do better. The reason is mostly the failure
4778 model and trust. When VLC fail, it normally pop up a error message
4779 reporting the problem. When mplayer fail, it normally segfault or
4780 just hangs. The latter failure mode drain my trust in the program.&lt;p&gt;
4781
4782 &lt;p&gt;But even if VLC is my player of choice, we have choosen to use
4783 mplayer in &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian
4784 Edu/Skolelinux&lt;/a&gt;. The reason is simple. We need a good browser
4785 plugin to play web videos seamlessly, and the VLC browser plugin is
4786 not very good. For example, it lack in-line control buttons, so there
4787 is no way for the user to pause the video. Also, when I
4788 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/BrowserMultimedia&quot;&gt;last
4789 tested the browser plugins&lt;/a&gt; available in Debian, the VLC plugin
4790 failed on several video pages where mplayer based plugins worked. If
4791 the browser plugin for VLC was as good as the gecko-mediaplayer
4792 package (which uses mplayer), we would switch.&lt;/P&gt;
4793
4794 &lt;p&gt;While VLC is a good player, its user interface is slightly
4795 annoying. The most annoying feature is its inconsistent use of
4796 keyboard shortcuts. When the player is in full screen mode, its
4797 shortcuts are different from when it is playing the video in a window.
4798 For example, space only work as pause when in full screen mode. I
4799 wish it had consisten shortcuts and that space also would work when in
4800 window mode. Another nice shortcut in gmplayer is [enter] to restart
4801 the current video. It is very nice when playing short videos from the
4802 web and want to restart it when new people arrive to have a look at
4803 what is going on.&lt;/p&gt;
4804 </description>
4805 </item>
4806
4807 <item>
4808 <title>Lenny-&gt;Squeeze upgrades of the Gnome and KDE desktop, now with apt-get autoremove</title>
4809 <link>http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades_of_the_Gnome_and_KDE_desktop__now_with_apt_get_autoremove.html</link>
4810 <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>
4811 <pubDate>Mon, 22 Nov 2010 14:15:00 +0100</pubDate>
4812 <description>&lt;p&gt;Michael Biebl suggested to me on IRC, that I changed my automated
4813 upgrade testing of the
4814 &lt;a href=&quot;http://people.skolelinux.org/~pere/debian-upgrade-testing/&quot;&gt;Lenny
4815 Gnome and KDE Desktop&lt;/a&gt; to do &lt;tt&gt;apt-get autoremove&lt;/tt&gt; when using apt-get.
4816 This seem like a very good idea, so I adjusted by test scripts and
4817 can now present the updated result from today:&lt;/p&gt;
4818
4819 &lt;p&gt;This is for Gnome:&lt;/p&gt;
4820
4821 &lt;p&gt;Installed using apt-get, missing with aptitude&lt;/p&gt;
4822
4823 &lt;blockquote&gt;&lt;p&gt;
4824 apache2.2-bin
4825 aptdaemon
4826 baobab
4827 binfmt-support
4828 browser-plugin-gnash
4829 cheese-common
4830 cli-common
4831 cups-pk-helper
4832 dmz-cursor-theme
4833 empathy
4834 empathy-common
4835 freedesktop-sound-theme
4836 freeglut3
4837 gconf-defaults-service
4838 gdm-themes
4839 gedit-plugins
4840 geoclue
4841 geoclue-hostip
4842 geoclue-localnet
4843 geoclue-manual
4844 geoclue-yahoo
4845 gnash
4846 gnash-common
4847 gnome
4848 gnome-backgrounds
4849 gnome-cards-data
4850 gnome-codec-install
4851 gnome-core
4852 gnome-desktop-environment
4853 gnome-disk-utility
4854 gnome-screenshot
4855 gnome-search-tool
4856 gnome-session-canberra
4857 gnome-system-log
4858 gnome-themes-extras
4859 gnome-themes-more
4860 gnome-user-share
4861 gstreamer0.10-fluendo-mp3
4862 gstreamer0.10-tools
4863 gtk2-engines
4864 gtk2-engines-pixbuf
4865 gtk2-engines-smooth
4866 hamster-applet
4867 libapache2-mod-dnssd
4868 libapr1
4869 libaprutil1
4870 libaprutil1-dbd-sqlite3
4871 libaprutil1-ldap
4872 libart2.0-cil
4873 libboost-date-time1.42.0
4874 libboost-python1.42.0
4875 libboost-thread1.42.0
4876 libchamplain-0.4-0
4877 libchamplain-gtk-0.4-0
4878 libcheese-gtk18
4879 libclutter-gtk-0.10-0
4880 libcryptui0
4881 libdiscid0
4882 libelf1
4883 libepc-1.0-2
4884 libepc-common
4885 libepc-ui-1.0-2
4886 libfreerdp-plugins-standard
4887 libfreerdp0
4888 libgconf2.0-cil
4889 libgdata-common
4890 libgdata7
4891 libgdu-gtk0
4892 libgee2
4893 libgeoclue0
4894 libgexiv2-0
4895 libgif4
4896 libglade2.0-cil
4897 libglib2.0-cil
4898 libgmime2.4-cil
4899 libgnome-vfs2.0-cil
4900 libgnome2.24-cil
4901 libgnomepanel2.24-cil
4902 libgpod-common
4903 libgpod4
4904 libgtk2.0-cil
4905 libgtkglext1
4906 libgtksourceview2.0-common
4907 libmono-addins-gui0.2-cil
4908 libmono-addins0.2-cil
4909 libmono-cairo2.0-cil
4910 libmono-corlib2.0-cil
4911 libmono-i18n-west2.0-cil
4912 libmono-posix2.0-cil
4913 libmono-security2.0-cil
4914 libmono-sharpzip2.84-cil
4915 libmono-system2.0-cil
4916 libmtp8
4917 libmusicbrainz3-6
4918 libndesk-dbus-glib1.0-cil
4919 libndesk-dbus1.0-cil
4920 libopal3.6.8
4921 libpolkit-gtk-1-0
4922 libpt2.6.7
4923 libpython2.6
4924 librpm1
4925 librpmio1
4926 libsdl1.2debian
4927 libsrtp0
4928 libssh-4
4929 libtelepathy-farsight0
4930 libtelepathy-glib0
4931 libtidy-0.99-0
4932 media-player-info
4933 mesa-utils
4934 mono-2.0-gac
4935 mono-gac
4936 mono-runtime
4937 nautilus-sendto
4938 nautilus-sendto-empathy
4939 p7zip-full
4940 pkg-config
4941 python-aptdaemon
4942 python-aptdaemon-gtk
4943 python-axiom
4944 python-beautifulsoup
4945 python-bugbuddy
4946 python-clientform
4947 python-coherence
4948 python-configobj
4949 python-crypto
4950 python-cupshelpers
4951 python-elementtree
4952 python-epsilon
4953 python-evolution
4954 python-feedparser
4955 python-gdata
4956 python-gdbm
4957 python-gst0.10
4958 python-gtkglext1
4959 python-gtksourceview2
4960 python-httplib2
4961 python-louie
4962 python-mako
4963 python-markupsafe
4964 python-mechanize
4965 python-nevow
4966 python-notify
4967 python-opengl
4968 python-openssl
4969 python-pam
4970 python-pkg-resources
4971 python-pyasn1
4972 python-pysqlite2
4973 python-rdflib
4974 python-serial
4975 python-tagpy
4976 python-twisted-bin
4977 python-twisted-conch
4978 python-twisted-core
4979 python-twisted-web
4980 python-utidylib
4981 python-webkit
4982 python-xdg
4983 python-zope.interface
4984 remmina
4985 remmina-plugin-data
4986 remmina-plugin-rdp
4987 remmina-plugin-vnc
4988 rhythmbox-plugin-cdrecorder
4989 rhythmbox-plugins
4990 rpm-common
4991 rpm2cpio
4992 seahorse-plugins
4993 shotwell
4994 software-center
4995 system-config-printer-udev
4996 telepathy-gabble
4997 telepathy-mission-control-5
4998 telepathy-salut
4999 tomboy
5000 totem
5001 totem-coherence
5002 totem-mozilla
5003 totem-plugins
5004 transmission-common
5005 xdg-user-dirs
5006 xdg-user-dirs-gtk
5007 xserver-xephyr
5008 &lt;/p&gt;&lt;/blockquote&gt;
5009
5010 &lt;p&gt;Installed using apt-get, removed with aptitude&lt;/p&gt;
5011
5012 &lt;blockquote&gt;&lt;p&gt;
5013 cheese
5014 ekiga
5015 eog
5016 epiphany-extensions
5017 evolution-exchange
5018 fast-user-switch-applet
5019 file-roller
5020 gcalctool
5021 gconf-editor
5022 gdm
5023 gedit
5024 gedit-common
5025 gnome-games
5026 gnome-games-data
5027 gnome-nettool
5028 gnome-system-tools
5029 gnome-themes
5030 gnuchess
5031 gucharmap
5032 guile-1.8-libs
5033 libavahi-ui0
5034 libdmx1
5035 libgalago3
5036 libgtk-vnc-1.0-0
5037 libgtksourceview2.0-0
5038 liblircclient0
5039 libsdl1.2debian-alsa
5040 libspeexdsp1
5041 libsvga1
5042 rhythmbox
5043 seahorse
5044 sound-juicer
5045 system-config-printer
5046 totem-common
5047 transmission-gtk
5048 vinagre
5049 vino
5050 &lt;/p&gt;&lt;/blockquote&gt;
5051
5052 &lt;p&gt;Installed using aptitude, missing with apt-get&lt;/p&gt;
5053
5054 &lt;blockquote&gt;&lt;p&gt;
5055 gstreamer0.10-gnomevfs
5056 &lt;/p&gt;&lt;/blockquote&gt;
5057
5058 &lt;p&gt;Installed using aptitude, removed with apt-get&lt;/p&gt;
5059
5060 &lt;blockquote&gt;&lt;p&gt;
5061 [nothing]
5062 &lt;/p&gt;&lt;/blockquote&gt;
5063
5064 &lt;p&gt;This is for KDE:&lt;/p&gt;
5065
5066 &lt;p&gt;Installed using apt-get, missing with aptitude&lt;/p&gt;
5067
5068 &lt;blockquote&gt;&lt;p&gt;
5069 ksmserver
5070 &lt;/p&gt;&lt;/blockquote&gt;
5071
5072 &lt;p&gt;Installed using apt-get, removed with aptitude&lt;/p&gt;
5073
5074 &lt;blockquote&gt;&lt;p&gt;
5075 kwin
5076 network-manager-kde
5077 &lt;/p&gt;&lt;/blockquote&gt;
5078
5079 &lt;p&gt;Installed using aptitude, missing with apt-get&lt;/p&gt;
5080
5081 &lt;blockquote&gt;&lt;p&gt;
5082 arts
5083 dolphin
5084 freespacenotifier
5085 google-gadgets-gst
5086 google-gadgets-xul
5087 kappfinder
5088 kcalc
5089 kcharselect
5090 kde-core
5091 kde-plasma-desktop
5092 kde-standard
5093 kde-window-manager
5094 kdeartwork
5095 kdeartwork-emoticons
5096 kdeartwork-style
5097 kdeartwork-theme-icon
5098 kdebase
5099 kdebase-apps
5100 kdebase-workspace
5101 kdebase-workspace-bin
5102 kdebase-workspace-data
5103 kdeeject
5104 kdelibs
5105 kdeplasma-addons
5106 kdeutils
5107 kdewallpapers
5108 kdf
5109 kfloppy
5110 kgpg
5111 khelpcenter4
5112 kinfocenter
5113 konq-plugins-l10n
5114 konqueror-nsplugins
5115 kscreensaver
5116 kscreensaver-xsavers
5117 ktimer
5118 kwrite
5119 libgle3
5120 libkde4-ruby1.8
5121 libkonq5
5122 libkonq5-templates
5123 libnetpbm10
5124 libplasma-ruby
5125 libplasma-ruby1.8
5126 libqt4-ruby1.8
5127 marble-data
5128 marble-plugins
5129 netpbm
5130 nuvola-icon-theme
5131 plasma-dataengines-workspace
5132 plasma-desktop
5133 plasma-desktopthemes-artwork
5134 plasma-runners-addons
5135 plasma-scriptengine-googlegadgets
5136 plasma-scriptengine-python
5137 plasma-scriptengine-qedje
5138 plasma-scriptengine-ruby
5139 plasma-scriptengine-webkit
5140 plasma-scriptengines
5141 plasma-wallpapers-addons
5142 plasma-widget-folderview
5143 plasma-widget-networkmanagement
5144 ruby
5145 sweeper
5146 update-notifier-kde
5147 xscreensaver-data-extra
5148 xscreensaver-gl
5149 xscreensaver-gl-extra
5150 xscreensaver-screensaver-bsod
5151 &lt;/p&gt;&lt;/blockquote&gt;
5152
5153 &lt;p&gt;Installed using aptitude, removed with apt-get&lt;/p&gt;
5154
5155 &lt;blockquote&gt;&lt;p&gt;
5156 ark
5157 google-gadgets-common
5158 google-gadgets-qt
5159 htdig
5160 kate
5161 kdebase-bin
5162 kdebase-data
5163 kdepasswd
5164 kfind
5165 klipper
5166 konq-plugins
5167 konqueror
5168 ksysguard
5169 ksysguardd
5170 libarchive1
5171 libcln6
5172 libeet1
5173 libeina-svn-06
5174 libggadget-1.0-0b
5175 libggadget-qt-1.0-0b
5176 libgps19
5177 libkdecorations4
5178 libkephal4
5179 libkonq4
5180 libkonqsidebarplugin4a
5181 libkscreensaver5
5182 libksgrd4
5183 libksignalplotter4
5184 libkunitconversion4
5185 libkwineffects1a
5186 libmarblewidget4
5187 libntrack-qt4-1
5188 libntrack0
5189 libplasma-geolocation-interface4
5190 libplasmaclock4a
5191 libplasmagenericshell4
5192 libprocesscore4a
5193 libprocessui4a
5194 libqalculate5
5195 libqedje0a
5196 libqtruby4shared2
5197 libqzion0a
5198 libruby1.8
5199 libscim8c2a
5200 libsmokekdecore4-3
5201 libsmokekdeui4-3
5202 libsmokekfile3
5203 libsmokekhtml3
5204 libsmokekio3
5205 libsmokeknewstuff2-3
5206 libsmokeknewstuff3-3
5207 libsmokekparts3
5208 libsmokektexteditor3
5209 libsmokekutils3
5210 libsmokenepomuk3
5211 libsmokephonon3
5212 libsmokeplasma3
5213 libsmokeqtcore4-3
5214 libsmokeqtdbus4-3
5215 libsmokeqtgui4-3
5216 libsmokeqtnetwork4-3
5217 libsmokeqtopengl4-3
5218 libsmokeqtscript4-3
5219 libsmokeqtsql4-3
5220 libsmokeqtsvg4-3
5221 libsmokeqttest4-3
5222 libsmokeqtuitools4-3
5223 libsmokeqtwebkit4-3
5224 libsmokeqtxml4-3
5225 libsmokesolid3
5226 libsmokesoprano3
5227 libtaskmanager4a
5228 libtidy-0.99-0
5229 libweather-ion4a
5230 libxklavier16
5231 libxxf86misc1
5232 okteta
5233 oxygencursors
5234 plasma-dataengines-addons
5235 plasma-scriptengine-superkaramba
5236 plasma-widget-lancelot
5237 plasma-widgets-addons
5238 plasma-widgets-workspace
5239 polkit-kde-1
5240 ruby1.8
5241 systemsettings
5242 update-notifier-common
5243 &lt;/p&gt;&lt;/blockquote&gt;
5244
5245 &lt;p&gt;Running apt-get autoremove made the results using apt-get and
5246 aptitude a bit more similar, but there are still quite a lott of
5247 differences. I have no idea what packages should be installed after
5248 the upgrade, but hope those that do can have a look.&lt;/p&gt;
5249 </description>
5250 </item>
5251
5252 <item>
5253 <title>Migrating Xen virtual machines using LVM to KVM using disk images</title>
5254 <link>http://people.skolelinux.org/pere/blog/Migrating_Xen_virtual_machines_using_LVM_to_KVM_using_disk_images.html</link>
5255 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Migrating_Xen_virtual_machines_using_LVM_to_KVM_using_disk_images.html</guid>
5256 <pubDate>Mon, 22 Nov 2010 11:20:00 +0100</pubDate>
5257 <description>&lt;p&gt;Most of the computers in use by the
5258 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu/Skolelinux project&lt;/a&gt;
5259 are virtual machines. And they have been Xen machines running on a
5260 fairly old IBM eserver xseries 345 machine, and we wanted to migrate
5261 them to KVM on a newer Dell PowerEdge 2950 host machine. This was a
5262 bit harder that it could have been, because we set up the Xen virtual
5263 machines to get the virtual partitions from LVM, which as far as I
5264 know is not supported by KVM. So to migrate, we had to convert
5265 several LVM logical volumes to partitions on a virtual disk file.&lt;/p&gt;
5266
5267 &lt;p&gt;I found
5268 &lt;a href=&quot;http://searchnetworking.techtarget.com.au/articles/35011-Six-steps-for-migrating-Xen-virtual-machines-to-KVM&quot;&gt;a
5269 nice recipe&lt;/a&gt; to do this, and wrote the following script to do the
5270 migration. It uses qemu-img from the qemu package to make the disk
5271 image, parted to partition it, losetup and kpartx to present the disk
5272 image partions as devices, and dd to copy the data. I NFS mounted the
5273 new servers storage area on the old server to do the migration.&lt;/p&gt;
5274
5275 &lt;pre&gt;
5276 #!/bin/sh
5277
5278 # Based on
5279 # http://searchnetworking.techtarget.com.au/articles/35011-Six-steps-for-migrating-Xen-virtual-machines-to-KVM
5280
5281 set -e
5282 set -x
5283
5284 if [ -z &quot;$1&quot; ] ; then
5285 echo &quot;Usage: $0 &amp;lt;hostname&amp;gt;&quot;
5286 exit 1
5287 else
5288 host=&quot;$1&quot;
5289 fi
5290
5291 if [ ! -e /dev/vg_data/$host-disk ] ; then
5292 echo &quot;error: unable to find LVM volume for $host&quot;
5293 exit 1
5294 fi
5295
5296 # Partitions need to be a bit bigger than the LVM LVs. not sure why.
5297 disksize=$( lvs --units m | grep $host-disk | awk &#39;{sum = sum + $4} END { print int(sum * 1.05) }&#39;)
5298 swapsize=$( lvs --units m | grep $host-swap | awk &#39;{sum = sum + $4} END { print int(sum * 1.05) }&#39;)
5299 totalsize=$(( ( $disksize + $swapsize ) ))
5300
5301 img=$host.img
5302 #dd if=/dev/zero of=$img bs=1M count=$(( $disksize + $swapsize ))
5303 qemu-img create $img ${totalsize}MMaking room on the Debian Edu/Sqeeze DVD
5304
5305 parted $img mklabel msdos
5306 parted $img mkpart primary linux-swap 0 $disksize
5307 parted $img mkpart primary ext2 $disksize $totalsize
5308 parted $img set 1 boot on
5309
5310 modprobe dm-mod
5311 losetup /dev/loop0 $img
5312 kpartx -a /dev/loop0
5313
5314 dd if=/dev/vg_data/$host-disk of=/dev/mapper/loop0p1 bs=1M
5315 fsck.ext3 -f /dev/mapper/loop0p1 || true
5316 mkswap /dev/mapper/loop0p2
5317
5318 kpartx -d /dev/loop0
5319 losetup -d /dev/loop0
5320 &lt;/pre&gt;
5321
5322 &lt;p&gt;The script is perhaps so simple that it is not copyrightable, but
5323 if it is, it is licenced using GPL v2 or later at your discretion.&lt;/p&gt;
5324
5325 &lt;p&gt;After doing this, I booted a Debian CD in rescue mode in KVM with
5326 the new disk image attached, installed grub-pc and linux-image-686 and
5327 set up grub to boot from the disk image. After this, the KVM machines
5328 seem to work just fine.&lt;/p&gt;
5329 </description>
5330 </item>
5331
5332 <item>
5333 <title>Lenny-&gt;Squeeze upgrades, apt vs aptitude with the Gnome and KDE desktop</title>
5334 <link>http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_and_KDE_desktop.html</link>
5335 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_and_KDE_desktop.html</guid>
5336 <pubDate>Sat, 20 Nov 2010 22:50:00 +0100</pubDate>
5337 <description>&lt;p&gt;I&#39;m still running upgrade testing of the
5338 &lt;a href=&quot;http://people.skolelinux.org/~pere/debian-upgrade-testing/&quot;&gt;Lenny
5339 Gnome and KDE Desktop&lt;/a&gt;, but have not had time to spend on reporting the
5340 status. Here is a short update based on a test I ran 20101118.&lt;/p&gt;
5341
5342 &lt;p&gt;I still do not know what a correct migration should look like, so I
5343 report any differences between apt and aptitude and hope someone else
5344 can see if anything should be changed.&lt;/p&gt;
5345
5346 &lt;p&gt;This is for Gnome:&lt;/p&gt;
5347
5348 &lt;p&gt;Installed using apt-get, missing with aptitude&lt;/p&gt;
5349
5350 &lt;blockquote&gt;&lt;p&gt;
5351 apache2.2-bin aptdaemon at-spi baobab binfmt-support
5352 browser-plugin-gnash cheese-common cli-common cpp-4.3 cups-pk-helper
5353 dmz-cursor-theme empathy empathy-common finger
5354 freedesktop-sound-theme freeglut3 gconf-defaults-service gdm-themes
5355 gedit-plugins geoclue geoclue-hostip geoclue-localnet geoclue-manual
5356 geoclue-yahoo gnash gnash-common gnome gnome-backgrounds
5357 gnome-cards-data gnome-codec-install gnome-core
5358 gnome-desktop-environment gnome-disk-utility gnome-screenshot
5359 gnome-search-tool gnome-session-canberra gnome-spell
5360 gnome-system-log gnome-themes-extras gnome-themes-more
5361 gnome-user-share gs-common gstreamer0.10-fluendo-mp3
5362 gstreamer0.10-tools gtk2-engines gtk2-engines-pixbuf
5363 gtk2-engines-smooth hal-info hamster-applet libapache2-mod-dnssd
5364 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap
5365 libart2.0-cil libatspi1.0-0 libboost-date-time1.42.0
5366 libboost-python1.42.0 libboost-thread1.42.0 libchamplain-0.4-0
5367 libchamplain-gtk-0.4-0 libcheese-gtk18 libclutter-gtk-0.10-0
5368 libcryptui0 libcupsys2 libdiscid0 libeel2-data libelf1 libepc-1.0-2
5369 libepc-common libepc-ui-1.0-2 libfreerdp-plugins-standard
5370 libfreerdp0 libgail-common libgconf2.0-cil libgdata-common libgdata7
5371 libgdl-1-common libgdu-gtk0 libgee2 libgeoclue0 libgexiv2-0 libgif4
5372 libglade2.0-cil libglib2.0-cil libgmime2.4-cil libgnome-vfs2.0-cil
5373 libgnome2.24-cil libgnomepanel2.24-cil libgnomeprint2.2-data
5374 libgnomeprintui2.2-common libgnomevfs2-bin libgpod-common libgpod4
5375 libgtk2.0-cil libgtkglext1 libgtksourceview-common
5376 libgtksourceview2.0-common libmono-addins-gui0.2-cil
5377 libmono-addins0.2-cil libmono-cairo2.0-cil libmono-corlib2.0-cil
5378 libmono-i18n-west2.0-cil libmono-posix2.0-cil
5379 libmono-security2.0-cil libmono-sharpzip2.84-cil
5380 libmono-system2.0-cil libmtp8 libmusicbrainz3-6
5381 libndesk-dbus-glib1.0-cil libndesk-dbus1.0-cil libopal3.6.8
5382 libpolkit-gtk-1-0 libpt-1.10.10-plugins-alsa
5383 libpt-1.10.10-plugins-v4l libpt2.6.7 libpython2.6 librpm1 librpmio1
5384 libsdl1.2debian libservlet2.4-java libsrtp0 libssh-4
5385 libtelepathy-farsight0 libtelepathy-glib0 libtidy-0.99-0
5386 libxalan2-java libxerces2-java media-player-info mesa-utils
5387 mono-2.0-gac mono-gac mono-runtime nautilus-sendto
5388 nautilus-sendto-empathy openoffice.org-writer2latex
5389 openssl-blacklist p7zip p7zip-full pkg-config python-4suite-xml
5390 python-aptdaemon python-aptdaemon-gtk python-axiom
5391 python-beautifulsoup python-bugbuddy python-clientform
5392 python-coherence python-configobj python-crypto python-cupshelpers
5393 python-cupsutils python-eggtrayicon python-elementtree
5394 python-epsilon python-evolution python-feedparser python-gdata
5395 python-gdbm python-gst0.10 python-gtkglext1 python-gtkmozembed
5396 python-gtksourceview2 python-httplib2 python-louie python-mako
5397 python-markupsafe python-mechanize python-nevow python-notify
5398 python-opengl python-openssl python-pam python-pkg-resources
5399 python-pyasn1 python-pysqlite2 python-rdflib python-serial
5400 python-tagpy python-twisted-bin python-twisted-conch
5401 python-twisted-core python-twisted-web python-utidylib python-webkit
5402 python-xdg python-zope.interface remmina remmina-plugin-data
5403 remmina-plugin-rdp remmina-plugin-vnc rhythmbox-plugin-cdrecorder
5404 rhythmbox-plugins rpm-common rpm2cpio seahorse-plugins shotwell
5405 software-center svgalibg1 system-config-printer-udev
5406 telepathy-gabble telepathy-mission-control-5 telepathy-salut tomboy
5407 totem totem-coherence totem-mozilla totem-plugins
5408 transmission-common xdg-user-dirs xdg-user-dirs-gtk xserver-xephyr
5409 zip
5410 &lt;/p&gt;&lt;/blockquote&gt;
5411
5412 Installed using apt-get, removed with aptitude
5413
5414 &lt;blockquote&gt;&lt;p&gt;
5415 arj bluez-utils cheese dhcdbd djvulibre-desktop ekiga eog
5416 epiphany-extensions epiphany-gecko evolution-exchange
5417 fast-user-switch-applet file-roller gcalctool gconf-editor gdm gedit
5418 gedit-common gnome-app-install gnome-games gnome-games-data
5419 gnome-nettool gnome-system-tools gnome-themes gnome-utils
5420 gnome-vfs-obexftp gnome-volume-manager gnuchess gucharmap
5421 guile-1.8-libs hal libavahi-compat-libdnssd1 libavahi-core5
5422 libavahi-ui0 libbind9-50 libbluetooth2 libcamel1.2-11 libcdio7
5423 libcucul0 libcurl3 libdirectfb-1.0-0 libdmx1 libdvdread3
5424 libedata-cal1.2-6 libedataserver1.2-9 libeel2-2.20 libepc-1.0-1
5425 libepc-ui-1.0-1 libexchange-storage1.2-3 libfaad0 libgadu3
5426 libgalago3 libgd2-noxpm libgda3-3 libgda3-common libggz2 libggzcore9
5427 libggzmod4 libgksu1.2-0 libgksuui1.0-1 libgmyth0 libgnome-desktop-2
5428 libgnome-pilot2 libgnomecups1.0-1 libgnomeprint2.2-0
5429 libgnomeprintui2.2-0 libgpod3 libgraphviz4 libgtk-vnc-1.0-0
5430 libgtkhtml2-0 libgtksourceview1.0-0 libgtksourceview2.0-0
5431 libgucharmap6 libhesiod0 libicu38 libisccc50 libisccfg50 libiw29
5432 libjaxp1.3-java-gcj libkpathsea4 liblircclient0 libltdl3 liblwres50
5433 libmagick++10 libmagick10 libmalaga7 libmozjs1d libmpfr1ldbl libmtp7
5434 libmysqlclient15off libnautilus-burn4 libneon27 libnm-glib0
5435 libnm-util0 libopal-2.2 libosp5 libparted1.8-10 libpisock9
5436 libpisync1 libpoppler-glib3 libpoppler3 libpt-1.10.10 libraw1394-8
5437 libsdl1.2debian-alsa libsensors3 libsexy2 libsmbios2 libsoup2.2-8
5438 libspeexdsp1 libssh2-1 libsuitesparse-3.1.0 libsvga1
5439 libswfdec-0.6-90 libtalloc1 libtotem-plparser10 libtrackerclient0
5440 libvoikko1 libxalan2-java-gcj libxerces2-java-gcj libxklavier12
5441 libxtrap6 libxxf86misc1 libzephyr3 mysql-common rhythmbox seahorse
5442 sound-juicer swfdec-gnome system-config-printer totem-common
5443 totem-gstreamer transmission-gtk vinagre vino w3c-dtd-xhtml wodim
5444 &lt;/p&gt;&lt;/blockquote&gt;
5445
5446 &lt;p&gt;Installed using aptitude, missing with apt-get&lt;/p&gt;
5447
5448 &lt;blockquote&gt;&lt;p&gt;
5449 gstreamer0.10-gnomevfs
5450 &lt;/p&gt;&lt;/blockquote&gt;
5451
5452 &lt;p&gt;Installed using aptitude, removed with apt-get&lt;/p&gt;
5453
5454 &lt;blockquote&gt;&lt;p&gt;
5455 [nothing]
5456 &lt;/p&gt;&lt;/blockquote&gt;
5457
5458 &lt;p&gt;This is for KDE:&lt;/p&gt;
5459
5460 &lt;p&gt;Installed using apt-get, missing with aptitude&lt;/p&gt;
5461
5462 &lt;blockquote&gt;&lt;p&gt;
5463 autopoint bomber bovo cantor cantor-backend-kalgebra cpp-4.3 dcoprss
5464 edict espeak espeak-data eyesapplet fifteenapplet finger gettext
5465 ghostscript-x git gnome-audio gnugo granatier gs-common
5466 gstreamer0.10-pulseaudio indi kaddressbook-plugins kalgebra
5467 kalzium-data kanjidic kapman kate-plugins kblocks kbreakout kbstate
5468 kde-icons-mono kdeaccessibility kdeaddons-kfile-plugins
5469 kdeadmin-kfile-plugins kdeartwork-misc kdeartwork-theme-window
5470 kdeedu kdeedu-data kdeedu-kvtml-data kdegames kdegames-card-data
5471 kdegames-mahjongg-data kdegraphics-kfile-plugins kdelirc
5472 kdemultimedia-kfile-plugins kdenetwork-kfile-plugins
5473 kdepim-kfile-plugins kdepim-kio-plugins kdessh kdetoys kdewebdev
5474 kdiamond kdnssd kfilereplace kfourinline kgeography-data kigo
5475 killbots kiriki klettres-data kmoon kmrml knewsticker-scripts
5476 kollision kpf krosspython ksirk ksmserver ksquares kstars-data
5477 ksudoku kubrick kweather libasound2-plugins libboost-python1.42.0
5478 libcfitsio3 libconvert-binhex-perl libcrypt-ssleay-perl libdb4.6++
5479 libdjvulibre-text libdotconf1.0 liberror-perl libespeak1
5480 libfinance-quote-perl libgail-common libgsl0ldbl libhtml-parser-perl
5481 libhtml-tableextract-perl libhtml-tagset-perl libhtml-tree-perl
5482 libio-stringy-perl libkdeedu4 libkdegames5 libkiten4 libkpathsea5
5483 libkrossui4 libmailtools-perl libmime-tools-perl
5484 libnews-nntpclient-perl libopenbabel3 libportaudio2 libpulse-browse0
5485 libservlet2.4-java libspeechd2 libtiff-tools libtimedate-perl
5486 libunistring0 liburi-perl libwww-perl libxalan2-java libxerces2-java
5487 lirc luatex marble networkstatus noatun-plugins
5488 openoffice.org-writer2latex palapeli palapeli-data parley
5489 parley-data poster psutils pulseaudio pulseaudio-esound-compat
5490 pulseaudio-module-x11 pulseaudio-utils quanta-data rocs rsync
5491 speech-dispatcher step svgalibg1 texlive-binaries texlive-luatex
5492 ttf-sazanami-gothic
5493 &lt;/p&gt;&lt;/blockquote&gt;
5494
5495 &lt;p&gt;Installed using apt-get, removed with aptitude&lt;/p&gt;
5496
5497 &lt;blockquote&gt;&lt;p&gt;
5498 amor artsbuilder atlantik atlantikdesigner blinken bluez-utils cvs
5499 dhcdbd djvulibre-desktop imlib-base imlib11 kalzium kanagram kandy
5500 kasteroids katomic kbackgammon kbattleship kblackbox kbounce kbruch
5501 kcron kdat kdemultimedia-kappfinder-data kdeprint kdict kdvi kedit
5502 keduca kenolaba kfax kfaxview kfouleggs kgeography kghostview
5503 kgoldrunner khangman khexedit kiconedit kig kimagemapeditor
5504 kitchensync kiten kjumpingcube klatin klettres klickety klines
5505 klinkstatus kmag kmahjongg kmailcvt kmenuedit kmid kmilo kmines
5506 kmousetool kmouth kmplot knetwalk kodo kolf kommander konquest kooka
5507 kpager kpat kpdf kpercentage kpilot kpoker kpovmodeler krec
5508 kregexpeditor kreversi ksame ksayit kshisen ksig ksim ksirc ksirtet
5509 ksmiletris ksnake ksokoban kspaceduel kstars ksvg ksysv kteatime
5510 ktip ktnef ktouch ktron kttsd ktuberling kturtle ktux kuickshow
5511 kverbos kview kviewshell kvoctrain kwifimanager kwin kwin4 kwordquiz
5512 kworldclock kxsldbg libakode2 libarts1-akode libarts1-audiofile
5513 libarts1-mpeglib libarts1-xine libavahi-compat-libdnssd1
5514 libavahi-core5 libavc1394-0 libbind9-50 libbluetooth2
5515 libboost-python1.34.1 libcucul0 libcurl3 libcvsservice0
5516 libdirectfb-1.0-0 libdjvulibre21 libdvdread3 libfaad0 libfreebob0
5517 libgd2-noxpm libgraphviz4 libgsmme1c2a libgtkhtml2-0 libicu38
5518 libiec61883-0 libindex0 libisccc50 libisccfg50 libiw29
5519 libjaxp1.3-java-gcj libk3b3 libkcal2b libkcddb1 libkdeedu3
5520 libkdegames1 libkdepim1a libkgantt0 libkleopatra1 libkmime2
5521 libkpathsea4 libkpimexchange1 libkpimidentities1 libkscan1
5522 libksieve0 libktnef1 liblockdev1 libltdl3 liblwres50 libmagick10
5523 libmimelib1c2a libmodplug0c2 libmozjs1d libmpcdec3 libmpfr1ldbl
5524 libneon27 libnm-util0 libopensync0 libpisock9 libpoppler-glib3
5525 libpoppler-qt2 libpoppler3 libraw1394-8 librss1 libsensors3
5526 libsmbios2 libssh2-1 libsuitesparse-3.1.0 libswfdec-0.6-90
5527 libtalloc1 libxalan2-java-gcj libxerces2-java-gcj libxtrap6 lskat
5528 mpeglib network-manager-kde noatun pmount tex-common texlive-base
5529 texlive-common texlive-doc-base texlive-fonts-recommended tidy
5530 ttf-dustin ttf-kochi-gothic ttf-sjfonts
5531 &lt;/p&gt;&lt;/blockquote&gt;
5532
5533 &lt;p&gt;Installed using aptitude, missing with apt-get&lt;/p&gt;
5534
5535 &lt;blockquote&gt;&lt;p&gt;
5536 dolphin kde-core kde-plasma-desktop kde-standard kde-window-manager
5537 kdeartwork kdebase kdebase-apps kdebase-workspace
5538 kdebase-workspace-bin kdebase-workspace-data kdeutils kscreensaver
5539 kscreensaver-xsavers libgle3 libkonq5 libkonq5-templates libnetpbm10
5540 netpbm plasma-widget-folderview plasma-widget-networkmanagement
5541 xscreensaver-data-extra xscreensaver-gl xscreensaver-gl-extra
5542 xscreensaver-screensaver-bsod
5543 &lt;/p&gt;&lt;/blockquote&gt;
5544
5545 &lt;p&gt;Installed using aptitude, removed with apt-get&lt;/p&gt;
5546
5547 &lt;blockquote&gt;&lt;p&gt;
5548 kdebase-bin konq-plugins konqueror
5549 &lt;/p&gt;&lt;/blockquote&gt;
5550 </description>
5551 </item>
5552
5553 <item>
5554 <title>Gnash buildbot slave and Debian kfreebsd</title>
5555 <link>http://people.skolelinux.org/pere/blog/Gnash_buildbot_slave_and_Debian_kfreebsd.html</link>
5556 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Gnash_buildbot_slave_and_Debian_kfreebsd.html</guid>
5557 <pubDate>Sat, 20 Nov 2010 07:20:00 +0100</pubDate>
5558 <description>&lt;p&gt;Answering
5559 &lt;a href=&quot;http://www.listware.net/201011/gnash-dev/67431-gnash-dev-buildbot-looking-for-slaves.html&quot;&gt;the
5560 call from the Gnash project&lt;/a&gt; for
5561 &lt;a href=&quot;http://www.gnashdev.org:8010&quot;&gt;buildbot&lt;/a&gt; slaves to test the
5562 current source, I have set up a virtual KVM machine on the Debian
5563 Edu/Skolelinux virtualization host to test the git source on
5564 Debian/Squeeze. I hope this can help the developers in getting new
5565 releases out more often.&lt;/p&gt;
5566
5567 &lt;p&gt;As the developers want less main-stream build platforms tested to,
5568 I have considered setting up a &lt;a
5569 href=&quot;http://www.debian.org/ports/kfreebsd-gnu/&quot;&gt;Debian/kfreebsd&lt;/a&gt;
5570 machine as well. I have also considered using the kfreebsd
5571 architecture in Debian as a file server in NUUG to get access to the 5
5572 TB zfs volume we currently use to store DV video. Because of this, I
5573 finally got around to do a test installation of Debian/Squeeze with
5574 kfreebsd. Installation went fairly smooth, thought I noticed some
5575 visual glitches in the cdebconf dialogs (black cursor left on the
5576 screen at random locations). Have not gotten very far with the
5577 testing. Noticed cfdisk did not work, but fdisk did so it was not a
5578 fatal problem. Have to spend some more time on it to see if it is
5579 useful as a file server for NUUG. Will try to find time to set up a
5580 gnash buildbot slave on the Debian Edu/Skolelinux this weekend.&lt;/p&gt;
5581 </description>
5582 </item>
5583
5584 <item>
5585 <title>Debian in 3D</title>
5586 <link>http://people.skolelinux.org/pere/blog/Debian_in_3D.html</link>
5587 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_in_3D.html</guid>
5588 <pubDate>Tue, 9 Nov 2010 16:10:00 +0100</pubDate>
5589 <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;
5590
5591 &lt;p&gt;3D printing is just great. I just came across this Debian logo in
5592 3D linked in from
5593 &lt;a href=&quot;http://blog.thingiverse.com/2010/11/09/participatory-branding/&quot;&gt;the
5594 thingiverse blog&lt;/a&gt;.&lt;/p&gt;
5595 </description>
5596 </item>
5597
5598 <item>
5599 <title>Making room on the Debian Edu/Sqeeze DVD</title>
5600 <link>http://people.skolelinux.org/pere/blog/Making_room_on_the_Debian_Edu_Sqeeze_DVD.html</link>
5601 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Making_room_on_the_Debian_Edu_Sqeeze_DVD.html</guid>
5602 <pubDate>Sun, 7 Nov 2010 11:45:00 +0100</pubDate>
5603 <description>&lt;p&gt;Prioritising packages for the Debian Edu /
5604 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux&lt;/a&gt; DVD, which is
5605 supposed provide a school with all the services and user applications
5606 needed on the pupils computer network has always been hard. Even
5607 schools without Internet connections should be able to get Debian Edu
5608 working using this DVD.&lt;/p&gt;
5609
5610 &lt;p&gt;The job became a lot harder when apt and aptitude started
5611 installing recommended packages by default. We want the same set of
5612 packages to be installed when using the DVD and the netinst CD, and
5613 that means all recommended packages need to be on the DVD. I created
5614 a patch for debian-cd in &lt;a href=&quot;http://bugs.debian.org/601203&quot;&gt;BTS
5615 report #601203&lt;/a&gt; to do this, and since this change was applied to
5616 the Debian Edu DVD build, we have been seriously short on space.&lt;/p&gt;
5617
5618 &lt;p&gt;A few days ago we decided to drop blender, wxmaxima and kicad from
5619 the default installation to save space on the DVD, believing that
5620 those needing these applications are few and can get them from the
5621 Debian archive.&lt;/p&gt;
5622
5623 &lt;p&gt;Yesterday, I had a look what source packages to see which packages
5624 were using most space. A few large packages are well know;
5625 openoffice.org, openclipart and fluid-soundfont. But I also
5626 discovered that lilypond used 106 MiB and fglrx-driver used 53 MiB.
5627 The lilypond package is pulled in as a dependency for rosegarden, and
5628 when looking a bit closer I discovered that 99 MiB of the 106 MiB were
5629 the documentation package, which is recommended by the binary package.
5630 I decided to drop this documentation package from our DVD, as most of
5631 our users will use the GUI front-ends and do not need the lilypond
5632 documentation. Similarly, I dropped the non-free fglrx-driver package
5633 which might be installed by d-i when its hardware is detected, as the
5634 free X driver should work.&lt;/p&gt;
5635
5636 &lt;p&gt;With this change, we finally got space for the LXDE and Gnome
5637 desktop packages as well as the language specific packages making the
5638 DVD more useful again.&lt;/p&gt;
5639 </description>
5640 </item>
5641
5642 <item>
5643 <title>Software updates 2010-10-24</title>
5644 <link>http://people.skolelinux.org/pere/blog/Software_updates_2010_10_24.html</link>
5645 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Software_updates_2010_10_24.html</guid>
5646 <pubDate>Sun, 24 Oct 2010 22:45:00 +0200</pubDate>
5647 <description>&lt;p&gt;Some updates.&lt;/p&gt;
5648
5649 &lt;p&gt;My &lt;a href=&quot;http://pledgebank.com/gnash-avm2&quot;&gt;gnash pledge&lt;/a&gt; to
5650 raise money for the project is going well. The lower limit of 10
5651 signers was reached in 24 hours, and so far 13 people have signed it.
5652 More signers and more funding is most welcome, and I am really curious
5653 how far we can get before the time limit of December 24 is reached.
5654 :)&lt;/p&gt;
5655
5656 &lt;p&gt;On the #gnash IRC channel on irc.freenode.net, I was just tipped
5657 about what appear to be a great code coverage tool capable of
5658 generating code coverage stats without any changes to the source code.
5659 It is called
5660 &lt;a href=&quot;http://simonkagstrom.github.com/kcov/index.html&quot;&gt;kcov&lt;/a&gt;,
5661 and can be used using &lt;tt&gt;kcov &amp;lt;directory&amp;gt; &amp;lt;binary&amp;gt;&lt;/tt&gt;.
5662 It is missing in Debian, but the git source built just fine in Squeeze
5663 after I installed libelf-dev, libdwarf-dev, pkg-config and
5664 libglib2.0-dev. Failed to build in Lenny, but suspect that is
5665 solvable. I hope kcov make it into Debian soon.&lt;/p&gt;
5666
5667 &lt;p&gt;Finally found time to wrap up the release notes for &lt;a
5668 href=&quot;http://lists.debian.org/debian-edu-announce/2010/10/msg00002.html&quot;&gt;a
5669 new alpha release of Debian Edu&lt;/a&gt;, and just published the second
5670 alpha test release of the Squeeze based Debian Edu /
5671 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux&lt;/a&gt;
5672 release. Give it a try if you need a complete linux solution for your
5673 school, including central infrastructure server, workstations, thin
5674 client servers and diskless workstations. A nice touch added
5675 yesterday is RDP support on the thin client servers, for windows
5676 clients to get a Linux desktop on request.&lt;/p&gt;
5677 </description>
5678 </item>
5679
5680 <item>
5681 <title>Pledge for funding to the Gnash project to get AVM2 support</title>
5682 <link>http://people.skolelinux.org/pere/blog/Pledge_for_funding_to_the_Gnash_project_to_get_AVM2_support.html</link>
5683 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Pledge_for_funding_to_the_Gnash_project_to_get_AVM2_support.html</guid>
5684 <pubDate>Tue, 19 Oct 2010 14:45:00 +0200</pubDate>
5685 <description>&lt;p&gt;&lt;a href=&quot;http://www.getgnash.org/&quot;&gt;The Gnash project&lt;/a&gt; is the
5686 most promising solution for a Free Software Flash implementation. It
5687 has done great so far, but there is still far to go, and recently its
5688 funding has dried up. I believe AVM2 support in Gnash is vital to the
5689 continued progress of the project, as more and more sites show up with
5690 AVM2 flash files.&lt;/p&gt;
5691
5692 &lt;p&gt;To try to get funding for developing such support, I have started
5693 &lt;a href=&quot;http://www.pledgebank.com/gnash-avm2&quot;&gt;a pledge&lt;/a&gt; with the
5694 following text:&lt;/P&gt;
5695
5696 &lt;p&gt;&lt;blockquote&gt;
5697
5698 &lt;p&gt;&quot;I will pay 100$ to the Gnash project to develop AVM2 support but
5699 only if 10 other people will do the same.&quot;&lt;/p&gt;
5700
5701 &lt;p&gt;- Petter Reinholdtsen, free software developer&lt;/p&gt;
5702
5703 &lt;p&gt;Deadline to sign up by: 24th December 2010&lt;/p&gt;
5704
5705 &lt;p&gt;The Gnash project need to get support for the new Flash file
5706 format AVM2 to work with a lot of sites using Flash on the
5707 web. Gnash already work with a lot of Flash sites using the old AVM1
5708 format, but more and more sites are using the AVM2 format these
5709 days. The project web page is available from
5710 http://www.getgnash.org/ . Gnash is a free software implementation
5711 of Adobe Flash, allowing those of us that do not accept the terms of
5712 the Adobe Flash license to get access to Flash sites.&lt;/p&gt;
5713
5714 &lt;p&gt;The project need funding to get developers to put aside enough
5715 time to develop the AVM2 support, and this pledge is my way to try
5716 to get this to happen.&lt;/p&gt;
5717
5718 &lt;p&gt;The project accept donations via the OpenMediaNow foundation,
5719 &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;
5720
5721 &lt;/blockquote&gt;&lt;/p&gt;
5722
5723 &lt;p&gt;I hope you will support this effort too. I hope more than 10
5724 people will participate to make this happen. The more money the
5725 project gets, the more features it can develop using these funds.
5726 :)&lt;/p&gt;
5727 </description>
5728 </item>
5729
5730 <item>
5731 <title>First version of a Perl library to control the Spykee robot</title>
5732 <link>http://people.skolelinux.org/pere/blog/First_version_of_a_Perl_library_to_control_the_Spykee_robot.html</link>
5733 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/First_version_of_a_Perl_library_to_control_the_Spykee_robot.html</guid>
5734 <pubDate>Sat, 9 Oct 2010 14:00:00 +0200</pubDate>
5735 <description>&lt;p&gt;This summer I got the chance to buy cheap Spykee robots, and since
5736 then I have worked on getting Linux software in place to control them.
5737 The firmware for the robot is available from the producer, and using
5738 that source it was trivial to figure out the protocol specification.
5739 I&#39;ve started on a perl library to control it, and made some demo
5740 programs using this perl library to allow one to control the
5741 robots.&lt;/p&gt;
5742
5743 &lt;p&gt;The library is quite functional already, and capable of controlling
5744 the driving, fetching video, uploading MP3s and play them. There are
5745 a few less important features too.&lt;/p&gt;
5746
5747 &lt;p&gt;Since a few weeks ago, I ran out of time to spend on this project,
5748 but I never got around to releasing the current source. I decided
5749 today that it was time to do something about it, and uploaded the
5750 source to my Debian package store at people.skolelinux.org.&lt;/p&gt;
5751
5752 &lt;p&gt;Because it was simpler for me, I made a Debian package and
5753 published the source and deb. If you got a spykee robot, grab the
5754 source or binary package:&lt;/p&gt;
5755
5756 &lt;p&gt;&lt;ul&gt;
5757 &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;
5758 &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;
5759 &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;
5760 &lt;/ul&gt;&lt;/p&gt;
5761
5762 &lt;p&gt;If you are interested in helping out with developing this library,
5763 please let me know.&lt;/p&gt;
5764 </description>
5765 </item>
5766
5767 <item>
5768 <title>Links for 2010-10-03</title>
5769 <link>http://people.skolelinux.org/pere/blog/Links_for_2010_10_03.html</link>
5770 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Links_for_2010_10_03.html</guid>
5771 <pubDate>Sun, 3 Oct 2010 22:30:00 +0200</pubDate>
5772 <description>&lt;p&gt;&lt;ul&gt;
5773
5774 &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
5775 is no Plan B: why the IPv4-to-IPv6 transition will be ugly&lt;/a&gt;&lt;/li&gt;
5776
5777 &lt;li&gt;Scanner looking under clothes
5778 &lt;a href=&quot;http://www.dagbladet.no/2010/10/03/nyheter/utenriks/reise/overvakingskamera/flyplasser/13667192/&quot;&gt;has
5779 already been misused at Heathrow&lt;/a&gt;.&lt;/li&gt;
5780
5781 &lt;li&gt;&lt;a href=&quot;http://wiki.softwarelivre.org/Landell&quot;&gt;Landell
5782 Webcasting&lt;/a&gt; - interesting alternative for
5783 &lt;ahref=&quot;http://dvswitch.alioth.debian.org/wiki/&quot;&gt;DVSwitch&lt;/a&gt; with
5784 simple setup.
5785
5786 &lt;/ul&gt;&lt;/p&gt;
5787 </description>
5788 </item>
5789
5790 <item>
5791 <title>Terms of use for video produced by a Canon IXUS 130 digital camera</title>
5792 <link>http://people.skolelinux.org/pere/blog/Terms_of_use_for_video_produced_by_a_Canon_IXUS_130_digital_camera.html</link>
5793 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Terms_of_use_for_video_produced_by_a_Canon_IXUS_130_digital_camera.html</guid>
5794 <pubDate>Thu, 9 Sep 2010 23:55:00 +0200</pubDate>
5795 <description>&lt;p&gt;A few days ago I had the mixed pleasure of bying a new digital
5796 camera, a Canon IXUS 130. It was instructive and very disturbing to
5797 be able to verify that also this camera producer have the nerve to
5798 specify how I can or can not use the videos produced with the camera.
5799 Even thought I was aware of the issue, the options with new cameras
5800 are limited and I ended up bying the camera anyway. What is the
5801 problem, you might ask? It is software patents, MPEG-4, H.264 and the
5802 MPEG-LA that is the problem, and our right to record our experiences
5803 without asking for permissions that is at risk.
5804
5805 &lt;p&gt;On page 27 of the Danish instruction manual, this section is
5806 written:&lt;/p&gt;
5807
5808 &lt;blockquote&gt;
5809 &lt;p&gt;This product is licensed under AT&amp;T patents for the MPEG-4 standard
5810 and may be used for encoding MPEG-4 compliant video and/or decoding
5811 MPEG-4 compliant video that was encoded only (1) for a personal and
5812 non-commercial purpose or (2) by a video provider licensed under the
5813 AT&amp;T patents to provide MPEG-4 compliant video.&lt;/p&gt;
5814
5815 &lt;p&gt;No license is granted or implied for any other use for MPEG-4
5816 standard.&lt;/p&gt;
5817 &lt;/blockquote&gt;
5818
5819 &lt;p&gt;In short, the camera producer have chosen to use technology
5820 (MPEG-4/H.264) that is only provided if I used it for personal and
5821 non-commercial purposes, or ask for permission from the organisations
5822 holding the knowledge monopoly (patent) for technology used.&lt;/p&gt;
5823
5824 &lt;p&gt;This issue has been brewing for a while, and I recommend you to
5825 read
5826 &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
5827 Our Civilization&#39;s Video Art and Culture is Threatened by the
5828 MPEG-LA&lt;/a&gt;&quot; by Eugenia Loli-Queru and
5829 &quot;&lt;a href=&quot;http://webmink.com/2010/09/03/h-264-and-foss/&quot;&gt;H.264 Is Not
5830 The Sort Of Free That Matters&lt;/a&gt;&quot; by Simon Phipps to learn more about
5831 the issue. The solution is to support the
5832 &lt;a href=&quot;http://www.digistan.org/open-standard:definition&quot;&gt;free and
5833 open standards&lt;/a&gt; for video, like &lt;a href=&quot;http://www.theora.org/&quot;&gt;Ogg
5834 Theora&lt;/a&gt;, and avoid MPEG-4 and H.264 if you can.&lt;/p&gt;
5835 </description>
5836 </item>
5837
5838 <item>
5839 <title>Some notes on Flash in Debian and Debian Edu</title>
5840 <link>http://people.skolelinux.org/pere/blog/Some_notes_on_Flash_in_Debian_and_Debian_Edu.html</link>
5841 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Some_notes_on_Flash_in_Debian_and_Debian_Edu.html</guid>
5842 <pubDate>Sat, 4 Sep 2010 10:10:00 +0200</pubDate>
5843 <description>&lt;p&gt;In the &lt;a href=&quot;http://popcon.debian.org/unknown/by_vote&quot;&gt;Debian
5844 popularity-contest numbers&lt;/a&gt;, the adobe-flashplugin package the
5845 second most popular used package that is missing in Debian. The sixth
5846 most popular is flashplayer-mozilla. This is a clear indication that
5847 working flash is important for Debian users. Around 10 percent of the
5848 users submitting data to popcon.debian.org have this package
5849 installed.&lt;/p&gt;
5850
5851 &lt;p&gt;In the report written by Lars Risan in August 2008
5852&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
5853 i bruk – Rapport for Hurum kommune, Universitetet i Agder og
5854 stiftelsen SLX Debian Labs&lt;/a&gt;»), one of the most important problems
5855 schools experienced with &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian
5856 Edu/Skolelinux&lt;/a&gt; was the lack of working Flash. A lot of educational
5857 web sites require Flash to work, and lacking working Flash support in
5858 the web browser and the problems with installing it was perceived as a
5859 good reason to stay with Windows.&lt;/p&gt;
5860
5861 &lt;p&gt;I once saw a funny and sad comment in a web forum, where Linux was
5862 said to be the retarded cousin that did not really understand
5863 everything you told him but could work fairly well. This was a
5864 comment regarding the problems Linux have with proprietary formats and
5865 non-standard web pages, and is sad because it exposes a fairly common
5866 understanding of whose fault it is if web pages that only work in for
5867 example Internet Explorer 6 fail to work on Firefox, and funny because
5868 it explain very well how annoying it is for users when Linux
5869 distributions do not work with the documents they receive or the web
5870 pages they want to visit.&lt;/p&gt;
5871
5872 &lt;p&gt;This is part of the reason why I believe it is important for Debian
5873 and Debian Edu to have a well working Flash implementation in the
5874 distribution, to get at least popular sites as Youtube and Google
5875 Video to working out of the box. For Squeeze, Debian have the chance
5876 to include the latest version of Gnash that will make this happen, as
5877 the new release 0.8.8 was published a few weeks ago and is resting in
5878 unstable. The new version work with more sites that version 0.8.7.
5879 The Gnash maintainers have asked for a freeze exception, but the
5880 release team have not had time to reply to it yet. I hope they agree
5881 with me that Flash is important for the Debian desktop users, and thus
5882 accept the new package into Squeeze.&lt;/p&gt;
5883 </description>
5884 </item>
5885
5886 <item>
5887 <title>My first perl GUI application - controlling a Spykee robot</title>
5888 <link>http://people.skolelinux.org/pere/blog/My_first_perl_GUI_application___controlling_a_Spykee_robot.html</link>
5889 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/My_first_perl_GUI_application___controlling_a_Spykee_robot.html</guid>
5890 <pubDate>Wed, 1 Sep 2010 21:00:00 +0200</pubDate>
5891 <description>&lt;p&gt;This evening I made my first Perl GUI application. The last few
5892 days I have worked on a Perl module for controlling my recently
5893 aquired Spykee robots, and the module is now getting complete enought
5894 that it is possible to use it to control the robot driving at least.
5895 It was now time to figure out how to use it to create some GUI to
5896 allow me to drive the robot around. I picked PerlQt as I have had
5897 positive experiences with the Qt API before, and spent a few minutes
5898 browsing the web for examples. Using Qt Designer seemed like a short
5899 cut, so I ended up writing the perl GUI using Qt Designer and
5900 compiling it into a perl program using the puic program from
5901 libqt-perl. Nothing fancy yet, but it got buttons to connect and
5902 drive around.&lt;/p&gt;
5903
5904 &lt;p&gt;The perl module I have written provide a object oriented API for
5905 controlling the robot. Here is an small example on how to use it:&lt;/p&gt;
5906
5907 &lt;p&gt;&lt;pre&gt;
5908 use Spykee;
5909 Spykee::discover(sub {$robot{$_[0]} = $_[1]});
5910 my $host = (keys %robot)[0];
5911 my $spykee = Spykee-&gt;new();
5912 $spykee-&gt;contact($host, &quot;admin&quot;, &quot;admin&quot;);
5913 $spykee-&gt;left();
5914 sleep 2;
5915 $spykee-&gt;right();
5916 sleep 2;
5917 $spykee-&gt;forward();
5918 sleep 2;
5919 $spykee-&gt;back();
5920 sleep 2;
5921 $spykee-&gt;stop();
5922 &lt;/pre&gt;&lt;/p&gt;
5923
5924 &lt;p&gt;Thanks to the release of the source of the robot firmware, I could
5925 peek into the implementation at the other end to figure out how to
5926 implement the protocol used by the robot. I&#39;ve implemented several of
5927 the commands the robot understand, but is still missing the camera
5928 support to make it possible to control the robot from remote. First I
5929 want to implement support for uploading new firmware and configuring
5930 the wireless network, to make it possible to bootstrap a Spykee robot
5931 without the producers Windows and MacOSX software (I only have Linux,
5932 so I had to ask a friend to come over to get the robot testing
5933 going. :).&lt;/p&gt;
5934
5935 &lt;p&gt;Will release the source to the public soon, but need to figure out
5936 where to make it available first. I will add a link to
5937 &lt;a href=&quot;http://wiki.nuug.no/grupper/robot/&quot;&gt;the NUUG wiki&lt;/a&gt; for
5938 those that want to check back later to find it.&lt;/p&gt;
5939 </description>
5940 </item>
5941
5942 <item>
5943 <title>Broken hard link handling with sshfs</title>
5944 <link>http://people.skolelinux.org/pere/blog/Broken_hard_link_handling_with_sshfs.html</link>
5945 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Broken_hard_link_handling_with_sshfs.html</guid>
5946 <pubDate>Mon, 30 Aug 2010 19:30:00 +0200</pubDate>
5947 <description>&lt;p&gt;Just got an email from Tobias Gruetzmacher as a followup on my
5948 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html&quot;&gt;previous
5949 post about sshfs&lt;/a&gt;. He reported another problem with sshfs. It
5950 fail to handle hard links properly. A simple way to spot this is to
5951 look at the . and .. entries in the directory tree. These should have
5952 a link count &gt;1, but on sshfs the count is 1. I just tested to see
5953 what happen when trying to hardlink, and this fail as well:&lt;/p&gt;
5954
5955 &lt;pre&gt;
5956 % ln foo bar
5957 ln: creating hard link `bar&#39; =&gt; `foo&#39;: Function not implemented
5958 %
5959 &lt;/pre&gt;
5960
5961 &lt;p&gt;I have not yet found time to implement a test for this in my file
5962 system test code, but believe having working hard links is useful to
5963 avoid surprised unix programs. Not as useful as working file locking
5964 and symlinks, which are required to get a working desktop, but useful
5965 nevertheless. :)&lt;/p&gt;
5966
5967 &lt;p&gt;The latest version of the file system test code is available via
5968 git from
5969 &lt;a href=&quot;http://github.com/gebi/fs-test&quot;&gt;http://github.com/gebi/fs-test&lt;/a&gt;&lt;/p&gt;
5970 </description>
5971 </item>
5972
5973 <item>
5974 <title>Broken umask handling with sshfs</title>
5975 <link>http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html</link>
5976 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html</guid>
5977 <pubDate>Thu, 26 Aug 2010 13:30:00 +0200</pubDate>
5978 <description>&lt;p&gt;My file system sematics program
5979 &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
5980 a few days ago&lt;/a&gt; is very useful to verify that a file system can
5981 work as a unix home directory,and today I had to extend it a bit. I&#39;m
5982 looking into alternatives for home directory access here at the
5983 University of Oslo, and one of the options is sshfs. My friend
5984 Finn-Arne mentioned a while back that they had used sshfs with Debian
5985 Edu, but stopped because of problems. I asked today what the problems
5986 where, and he mentioned that sshfs failed to handle umask properly.
5987 Trying to detect the problem I wrote this addition to my fs testing
5988 script:&lt;/p&gt;
5989
5990 &lt;pre&gt;
5991 mode_t touch_get_mode(const char *name, mode_t mode) {
5992 mode_t retval = 0;
5993 int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, mode);
5994 if (-1 != fd) {
5995 unlink(name);
5996 struct stat statbuf;
5997 if (-1 != fstat(fd, &amp;statbuf)) {
5998 retval = statbuf.st_mode &amp; 0x1ff;
5999 }
6000 close(fd);
6001 }
6002 return retval;
6003 }
6004
6005 /* Try to detect problem discovered using sshfs */
6006 int test_umask(void) {
6007 printf(&quot;info: testing umask effect on file creation\n&quot;);
6008
6009 mode_t orig_umask = umask(000);
6010 mode_t newmode;
6011 if (0666 != (newmode = touch_get_mode(&quot;foobar&quot;, 0666))) {
6012 printf(&quot; error: Wrong file mode %o when creating using mode 666 and umask 000\n&quot;,
6013 newmode);
6014 }
6015 umask(007);
6016 if (0660 != (newmode = touch_get_mode(&quot;foobar&quot;, 0666))) {
6017 printf(&quot; error: Wrong file mode %o when creating using mode 666 and umask 007\n&quot;,
6018 newmode);
6019 }
6020
6021 umask (orig_umask);
6022 return 0;
6023 }
6024
6025 int main(int argc, char **argv) {
6026 [...]
6027 test_umask();
6028 return 0;
6029 }
6030 &lt;/pre&gt;
6031
6032 &lt;p&gt;Sure enough. On NFS to a netapp, I get this result:&lt;/p&gt;
6033
6034 &lt;pre&gt;
6035 Testing POSIX/Unix sematics on file system
6036 info: testing symlink creation
6037 info: testing subdirectory creation
6038 info: testing fcntl locking
6039 Read-locking 1 byte from 1073741824
6040 Read-locking 510 byte from 1073741826
6041 Unlocking 1 byte from 1073741824
6042 Write-locking 1 byte from 1073741824
6043 Write-locking 510 byte from 1073741826
6044 Unlocking 2 byte from 1073741824
6045 info: testing umask effect on file creation
6046 &lt;/pre&gt;
6047
6048 &lt;p&gt;When mounting the same directory using sshfs, I get this
6049 result:&lt;/p&gt;
6050
6051 &lt;pre&gt;
6052 Testing POSIX/Unix sematics on file system
6053 info: testing symlink creation
6054 info: testing subdirectory creation
6055 info: testing fcntl locking
6056 Read-locking 1 byte from 1073741824
6057 Read-locking 510 byte from 1073741826
6058 Unlocking 1 byte from 1073741824
6059 Write-locking 1 byte from 1073741824
6060 Write-locking 510 byte from 1073741826
6061 Unlocking 2 byte from 1073741824
6062 info: testing umask effect on file creation
6063 error: Wrong file mode 644 when creating using mode 666 and umask 000
6064 error: Wrong file mode 640 when creating using mode 666 and umask 007
6065 &lt;/pre&gt;
6066
6067 &lt;p&gt;So, I can conclude that sshfs is better than smb to a Netapp or a
6068 Windows server, but not good enough to be used as a home
6069 directory.&lt;/p&gt;
6070
6071 &lt;p&gt;Update 2010-08-26: Reported the issue in
6072 &lt;a href=&quot;http://bugs.debian.org/594498&quot;&gt;BTS report #594498&lt;/a&gt;&lt;/p&gt;
6073
6074 &lt;p&gt;Update 2010-08-27: Michael Gebetsroither report that he found the
6075 script so useful that he created a GIT repository and stored it in
6076 &lt;a href=&quot;http://github.com/gebi/fs-test&quot;&gt;http://github.com/gebi/fs-test&lt;/a&gt;.&lt;/p&gt;
6077 </description>
6078 </item>
6079
6080 <item>
6081 <title>Rob Weir: How to Crush Dissent</title>
6082 <link>http://people.skolelinux.org/pere/blog/Rob_Weir__How_to_Crush_Dissent.html</link>
6083 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Rob_Weir__How_to_Crush_Dissent.html</guid>
6084 <pubDate>Sun, 15 Aug 2010 22:20:00 +0200</pubDate>
6085 <description>&lt;p&gt;I found the notes from Rob Weir on
6086 &lt;a href=&quot;http://feedproxy.google.com/~r/robweir/antic-atom/~3/VGb23-kta8c/how-to-crush-dissent.html&quot;&gt;how
6087 to crush dissent&lt;/a&gt; matching my own thoughts on the matter quite
6088 well. Highly recommended for those wondering which road our society
6089 should go down. In my view we have been heading the wrong way for a
6090 long time.&lt;/p&gt;
6091 </description>
6092 </item>
6093
6094 <item>
6095 <title>No hardcoded config on Debian Edu clients</title>
6096 <link>http://people.skolelinux.org/pere/blog/No_hardcoded_config_on_Debian_Edu_clients.html</link>
6097 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/No_hardcoded_config_on_Debian_Edu_clients.html</guid>
6098 <pubDate>Mon, 9 Aug 2010 20:15:00 +0200</pubDate>
6099 <description>&lt;p&gt;As reported earlier, the last few days I have looked at how Debian
6100 Edu clients are configured, and tried to get rid of all hardcoded
6101 configuration settings on the clients. I believe the work to be
6102 mostly done, and the clients seem to work just fine with dynamically
6103 generated configuration.&lt;/p&gt;
6104
6105 &lt;p&gt;What is the point, you might ask? The point is to allow a Debian
6106 Edu desktop to integrate into an existing network infrastructure
6107 without any manual configuration.&lt;/p&gt;
6108
6109 &lt;p&gt;This is what happens when installing a Debian Edu client here at
6110 the University of Oslo using PXE. With the PXE installation, I am
6111 asked for language (Norwegian Bokmål), locality (Norway) and keyboard
6112 layout (no-latin1), Debian Edu profile (Roaming Workstation), if I
6113 accept to reformat the hard drive (yes), if I want to submit info to
6114 popcon.debian.org (no) and root password (secret). After answering
6115 these questions, the installer goes ahead and does its thing, and
6116 after around 50 minutes it is done. I press enter to finish the
6117 installation, and the machine reboots into KDE. When the machine is
6118 ready and kdm asks for login information, I enter my university
6119 username and password, am told by kdm that a local home directory has
6120 been created and that I must log in again, and finally log in with the
6121 same username and password to the KDE 4.4 desktop. At no point during
6122 this process did it ask for university specific settings, and all the
6123 required configuration was dynamically detected using information
6124 fetched via DHCP and DNS. The roaming workstation is now ready for
6125 use.&lt;/p&gt;
6126
6127 &lt;p&gt;How was this done, you might wonder? First of all, here is the
6128 list of things that need to be configured on the client to get it
6129 working properly out of the box:&lt;/p&gt;
6130
6131 &lt;ul&gt;
6132 &lt;li&gt;IP address/netmask and DNS server.&lt;/li&gt;
6133 &lt;li&gt;Web proxy URL.&lt;/li&gt;
6134 &lt;li&gt;LDAP server for NSS directory information (user, group, etc).&lt;/li&gt;
6135 &lt;li&gt;Kerberos server for PAM password checking.&lt;/li&gt;
6136 &lt;li&gt;SMB mount point to access the network home directory. (*)&lt;/li&gt;
6137 &lt;li&gt;Central syslog server to send syslog messages to. (*)&lt;/li&gt;
6138 &lt;li&gt;Sitesummary collector URL to submit info to central server. (*)&lt;/li&gt;
6139 &lt;/ul&gt;
6140
6141 &lt;p&gt;(Hm, did I forget anything? Let me knew if I did.)&lt;/p&gt;
6142
6143 &lt;p&gt;The points marked (*) are not required to be able to use the
6144 machine, but needed to provide central storage and allowing system
6145 administrators to track their machines. Since yesterday, everything
6146 but the sitesummary collector URL is dynamically discovered at boot
6147 and installation time in the svn version of Debian Edu.&lt;/p&gt;
6148
6149 &lt;p&gt;The IP and DNS setup is fetched during boot using DHCP as usual.
6150 When a DHCP update arrives, the proxy setup is updated by looking for
6151 http://wpat/wpad.dat and using the content of this WPAD file to
6152 configure the http and ftp proxy in /etc/environment and
6153 /etc/apt/apt.conf. I decided to update the proxy setup using a DHCP
6154 hook to ensure that the client stops using the Debian Edu proxy when
6155 it is moved outside the Debian Edu network, and instead uses any local
6156 proxy present on the new network when it moves around.&lt;/p&gt;
6157
6158 &lt;p&gt;The DNS names of the LDAP, Kerberos and syslog server and related
6159 configuration are generated using DNS information at boot. First the
6160 installer looks for a host named ldap in the current DNS domain. If
6161 not found, it looks for _ldap._tcp SRV records in DNS instead. If an
6162 LDAP server is found, its root DSE entry is requested and the
6163 attributes namingContexts and defaultNamingContext are used to
6164 determine which LDAP base to use for NSS. If there are several
6165 namingContexts attibutes and the defaultNamingContext is present, that
6166 LDAP subtree is used as the base. If defaultNamingContext is missing,
6167 the subtrees listed as namingContexts are searched in sequence for any
6168 object with class posixAccount or posixGroup, and the first one with
6169 such an object is used as the LDAP base. For Kerberos, a similar
6170 search is done by first looking for a host named kerberos, and then
6171 for the _kerberos._tcp SRV record. I&#39;ve been unable to find a way to
6172 look up the Kerberos realm, so for this the upper case string of the
6173 current DNS domain is used.&lt;/p&gt;
6174
6175 &lt;p&gt;For the syslog server, the hosts syslog and loghost are searched
6176 for, and the _syslog._udp SRV record is consulted if no such host is
6177 found. This algorithm works for both Debian Edu and the University of
6178 Oslo. A similar strategy would work for locating the sitesummary
6179 server, but have not been implemented yet. I decided to fetch and
6180 save these settings during installation, to make sure moving to a
6181 different network does not change the set of users being allowed to
6182 log in nor the passwords required to log in. Usernames and passwords
6183 will be cached by sssd when the user logs in on the Debian Edu
6184 network, and will not change as the laptop move around. For a
6185 non-roaming machine, there is no caching, but given that it is
6186 supposed to stay in place it should not matter much. Perhaps we
6187 should switch those to use sssd too?&lt;/p&gt;
6188
6189 &lt;p&gt;The user&#39;s SMB mount point for the network home directory is
6190 located when the user logs in for the first time. The LDAP server is
6191 consulted to look for the user&#39;s LDAP object and the sambaHomePath
6192 attribute is used if found. If it isn&#39;t found, the home directory
6193 path fetched from NSS is used instead. Assuming the path is of the
6194 form /site/server/directory/username, the second part is looked up in
6195 DNS and used to generate a SMB URL of the form
6196 smb://server.domain/username. This algorithm works for both Debian
6197 edu and the University of Oslo. Perhaps there are better attributes
6198 to use or a better algorithm that works for more sites, but this will
6199 do for now. :)&lt;/p&gt;
6200
6201 &lt;p&gt;This work should make it easier to integrate the Debian Edu clients
6202 into any LDAP/Kerberos infrastructure, and make the current setup even
6203 more flexible than before. I suspect it will also work for thin
6204 client servers, allowing one to easily set up LTSP and hook it into a
6205 existing network infrastructure, but I have not had time to test this
6206 yet.&lt;/p&gt;
6207
6208 &lt;p&gt;If you want to help out with implementing these things for Debian
6209 Edu, please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
6210
6211 &lt;p&gt;Update 2010-08-09: Simon Farnsworth gave me a heads-up on how to
6212 detect Kerberos realm from DNS, by looking for _kerberos TXT entries
6213 before falling back to the upper case DNS domain name. Will have to
6214 implement it for Debian Edu. :)&lt;/p&gt;
6215 </description>
6216 </item>
6217
6218 <item>
6219 <title>Testing if a file system can be used for home directories...</title>
6220 <link>http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html</link>
6221 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html</guid>
6222 <pubDate>Sun, 8 Aug 2010 21:20:00 +0200</pubDate>
6223 <description>&lt;p&gt;A few years ago, I was involved in a project planning to use
6224 Windows file servers as home directory servers for Debian
6225 Edu/Skolelinux machines. This was thought to be no problem, as the
6226 access would be through the SMB network file system protocol, and we
6227 knew other sites used SMB with unix and samba as the file server to
6228 mount home directories without any problems. But, after months of
6229 struggling, we had to conclude that our goal was impossible.&lt;/p&gt;
6230
6231 &lt;p&gt;The reason is simply that while SMB can be used for home
6232 directories when the file server is Samba running on Unix, this only
6233 work because of Samba have some extensions and the fact that the
6234 underlying file system is a unix file system. When using a Windows
6235 file server, the underlying file system do not have POSIX semantics,
6236 and several programs will fail if the users home directory where they
6237 want to store their configuration lack POSIX semantics.&lt;/p&gt;
6238
6239 &lt;p&gt;As part of this work, I wrote a small C program I want to share
6240 with you all, to replicate a few of the problematic applications (like
6241 OpenOffice.org and GCompris) and see if the file system was working as
6242 it should. If you find yourself in spooky file system land, it might
6243 help you find your way out again. This is the fs-test.c source:&lt;/p&gt;
6244
6245 &lt;pre&gt;
6246 /*
6247 * Some tests to check the file system sematics. Used to verify that
6248 * CIFS from a windows server do not work properly as a linux home
6249 * directory.
6250 * License: GPL v2 or later
6251 *
6252 * needs libsqlite3-dev and build-essential installed
6253 * compile with: gcc -Wall -lsqlite3 -DTEST_SQLITE fs-test.c -o fs-test
6254 */
6255
6256 #define _FILE_OFFSET_BITS 64
6257 #define _LARGEFILE_SOURCE 1
6258 #define _LARGEFILE64_SOURCE 1
6259
6260 #define _GNU_SOURCE /* for asprintf() */
6261
6262 #include &amp;lt;errno.h&gt;
6263 #include &amp;lt;fcntl.h&gt;
6264 #include &amp;lt;stdio.h&gt;
6265 #include &amp;lt;string.h&gt;
6266 #include &amp;lt;stdlib.h&gt;
6267 #include &amp;lt;sys/file.h&gt;
6268 #include &amp;lt;sys/stat.h&gt;
6269 #include &amp;lt;sys/types.h&gt;
6270 #include &amp;lt;unistd.h&gt;
6271
6272 #ifdef TEST_SQLITE
6273 /*
6274 * Test sqlite open, as done by gcompris require the libsqlite3-dev
6275 * package and linking with -lsqlite3. A more low level test is
6276 * below.
6277 * See also &amp;lt;URL: http://www.sqlite.org./faq.html#q5 &gt;.
6278 */
6279 #include &amp;lt;sqlite3.h&gt;
6280 #define CREATE_TABLE_USERS \
6281 &quot;CREATE TABLE users (user_id INT UNIQUE, login TEXT, lastname TEXT, firstname TEXT, birthdate TEXT, class_id INT ); &quot;
6282 int test_sqlite_open(void) {
6283 char *zErrMsg;
6284 char *name = &quot;testsqlite.db&quot;;
6285 sqlite3 *db=NULL;
6286 unlink(name);
6287 int rc = sqlite3_open(name, &amp;db);
6288 if( rc ){
6289 printf(&quot;error: sqlite open of %s failed: %s\n&quot;, name, sqlite3_errmsg(db));
6290 sqlite3_close(db);
6291 return -1;
6292 }
6293
6294 /* create tables */
6295 rc = sqlite3_exec(db,CREATE_TABLE_USERS, NULL, 0, &amp;zErrMsg);
6296 if( rc != SQLITE_OK ){
6297 printf(&quot;error: sqlite table create failed: %s\n&quot;, zErrMsg);
6298 sqlite3_close(db);
6299 return -1;
6300 }
6301 printf(&quot;info: sqlite worked\n&quot;);
6302 sqlite3_close(db);
6303 return 0;
6304 }
6305 #endif /* TEST_SQLITE */
6306
6307 /*
6308 * Demonstrate locking issue found in gcompris using sqlite3. This
6309 * work with ext3, but not with cifs server on Windows 2003. This is
6310 * done in the sqlite3 library.
6311 * See also
6312 * &amp;lt;URL:http://www.cygwin.com/ml/cygwin/2001-08/msg00854.html&gt; and the
6313 * POSIX specification
6314 * &amp;lt;URL:http://www.opengroup.org/onlinepubs/009695399/functions/fcntl.html&gt;.
6315 */
6316 int test_gcompris_locking(void) {
6317 struct flock fl;
6318 char *name = &quot;testsqlite.db&quot;;
6319 unlink(name);
6320 int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, 0644);
6321 printf(&quot;info: testing fcntl locking\n&quot;);
6322
6323 fl.l_whence = SEEK_SET;
6324 fl.l_pid = getpid();
6325 printf(&quot; Read-locking 1 byte from 1073741824&quot;);
6326 fl.l_start = 1073741824;
6327 fl.l_len = 1;
6328 fl.l_type = F_RDLCK;
6329 if (0 != fcntl(fd, F_SETLK, &amp;fl) ) printf(&quot; - error!\n&quot;); else printf(&quot;\n&quot;);
6330
6331 printf(&quot; Read-locking 510 byte from 1073741826&quot;);
6332 fl.l_start = 1073741826;
6333 fl.l_len = 510;
6334 fl.l_type = F_RDLCK;
6335 if (0 != fcntl(fd, F_SETLK, &amp;fl) ) printf(&quot; - error!\n&quot;); else printf(&quot;\n&quot;);
6336
6337 printf(&quot; Unlocking 1 byte from 1073741824&quot;);
6338 fl.l_start = 1073741824;
6339 fl.l_len = 1;
6340 fl.l_type = F_UNLCK;
6341 if (0 != fcntl(fd, F_SETLK, &amp;fl) ) printf(&quot; - error!\n&quot;); else printf(&quot;\n&quot;);
6342
6343 printf(&quot; Write-locking 1 byte from 1073741824&quot;);
6344 fl.l_start = 1073741824;
6345 fl.l_len = 1;
6346 fl.l_type = F_WRLCK;
6347 if (0 != fcntl(fd, F_SETLK, &amp;fl) ) printf(&quot; - error!\n&quot;); else printf(&quot;\n&quot;);
6348
6349 printf(&quot; Write-locking 510 byte from 1073741826&quot;);
6350 fl.l_start = 1073741826;
6351 fl.l_len = 510;
6352 if (0 != fcntl(fd, F_SETLK, &amp;fl) ) printf(&quot; - error!\n&quot;); else printf(&quot;\n&quot;);
6353
6354 printf(&quot; Unlocking 2 byte from 1073741824&quot;);
6355 fl.l_start = 1073741824;
6356 fl.l_len = 2;
6357 fl.l_type = F_UNLCK;
6358 if (0 != fcntl(fd, F_SETLK, &amp;fl) ) printf(&quot; - error!\n&quot;); else printf(&quot;\n&quot;);
6359
6360 close(fd);
6361 return 0;
6362 }
6363
6364 /*
6365 * Test if permissions of freshly created directories allow entries
6366 * below them. This was a problem with OpenOffice.org and gcompris.
6367 * Mounting with option &#39;sync&#39; seem to solve this problem while
6368 * slowing down file operations.
6369 */
6370 int test_subdirectory_creation(void) {
6371 #define LEVELS 5
6372 char *path = strdup(&quot;test&quot;);
6373 char *dirs[LEVELS];
6374 int level;
6375 printf(&quot;info: testing subdirectory creation\n&quot;);
6376 for (level = 0; level &amp;lt; LEVELS; level++) {
6377 char *newpath = NULL;
6378 if (-1 == mkdir(path, 0777)) {
6379 printf(&quot; error: Unable to create directory &#39;%s&#39;: %s\n&quot;,
6380 path, strerror(errno));
6381 break;
6382 }
6383 asprintf(&amp;newpath, &quot;%s/%s&quot;, path, &quot;test&quot;);
6384 free(path);
6385 path = newpath;
6386 }
6387 return 0;
6388 }
6389
6390 /*
6391 * Test if symlinks can be created. This was a problem detected with
6392 * KDE.
6393 */
6394 int test_symlinks(void) {
6395 printf(&quot;info: testing symlink creation\n&quot;);
6396 unlink(&quot;symlink&quot;);
6397 if (-1 == symlink(&quot;file&quot;, &quot;symlink&quot;))
6398 printf(&quot; error: Unable to create symlink\n&quot;);
6399 return 0;
6400 }
6401
6402 int main(int argc, char **argv) {
6403 printf(&quot;Testing POSIX/Unix sematics on file system\n&quot;);
6404 test_symlinks();
6405 test_subdirectory_creation();
6406 #ifdef TEST_SQLITE
6407 test_sqlite_open();
6408 #endif /* TEST_SQLITE */
6409 test_gcompris_locking();
6410 return 0;
6411 }
6412 &lt;/pre&gt;
6413
6414 &lt;p&gt;When everything is working, it should print something like
6415 this:&lt;/p&gt;
6416
6417 &lt;pre&gt;
6418 Testing POSIX/Unix sematics on file system
6419 info: testing symlink creation
6420 info: testing subdirectory creation
6421 info: sqlite worked
6422 info: testing fcntl locking
6423 Read-locking 1 byte from 1073741824
6424 Read-locking 510 byte from 1073741826
6425 Unlocking 1 byte from 1073741824
6426 Write-locking 1 byte from 1073741824
6427 Write-locking 510 byte from 1073741826
6428 Unlocking 2 byte from 1073741824
6429 &lt;/pre&gt;
6430
6431 &lt;p&gt;I do not remember the exact details of the problems we saw, but one
6432 of them was with locking, where if I remember correctly, POSIX allow a
6433 read-only lock to be upgraded to a read-write lock without unlocking
6434 the read-only lock (while Windows do not). Another was a bug in the
6435 CIFS/SMB client implementation in the Linux kernel where directory
6436 meta information would be wrong for a fraction of a second, making
6437 OpenOffice.org fail to create its deep directory tree because it was
6438 not allowed to create files in its freshly created directory.&lt;/p&gt;
6439
6440 &lt;p&gt;Anyway, here is a nice tool for your tool box, might you never need
6441 it. :)&lt;/p&gt;
6442
6443 &lt;p&gt;Update 2010-08-27: Michael Gebetsroither report that he found the
6444 script so useful that he created a GIT repository and stored it in
6445 &lt;a href=&quot;http://github.com/gebi/fs-test&quot;&gt;http://github.com/gebi/fs-test&lt;/a&gt;.&lt;/p&gt;
6446 </description>
6447 </item>
6448
6449 <item>
6450 <title>Autodetecting Client setup for roaming workstations in Debian Edu</title>
6451 <link>http://people.skolelinux.org/pere/blog/Autodetecting_Client_setup_for_roaming_workstations_in_Debian_Edu.html</link>
6452 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Autodetecting_Client_setup_for_roaming_workstations_in_Debian_Edu.html</guid>
6453 <pubDate>Sat, 7 Aug 2010 14:45:00 +0200</pubDate>
6454 <description>&lt;p&gt;A few days ago, I
6455 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html&quot;&gt;tried
6456 to install&lt;/a&gt; a Roaming workation profile from Debian Edu/Squeeze
6457 while on the university network here at the University of Oslo, and
6458 noticed how much had to change to get it operational using the
6459 university infrastructure. It was fairly easy, but it occured to me
6460 that Debian Edu would improve a lot if I could get the client to
6461 connect without any changes at all, and thus let the client configure
6462 itself during installation and first boot to use the infrastructure
6463 around it. Now I am a huge step further along that road.&lt;/p&gt;
6464
6465 &lt;p&gt;With our current squeeze-test packages, I can select the roaming
6466 workstation profile and get a working laptop connecting to the
6467 university LDAP server for user and group and our active directory
6468 servers for Kerberos authentication. All this without any
6469 configuration at all during installation. My users home directory got
6470 a bookmark in the KDE menu to mount it via SMB, with the correct URL.
6471 In short, openldap and sssd is correctly configured. In addition to
6472 this, the client look for http://wpad/wpad.dat to configure a web
6473 proxy, and when it fail to find it no proxy settings are stored in
6474 /etc/environment and /etc/apt/apt.conf. Iceweasel and KDE is
6475 configured to look for the same wpad configuration and also do not use
6476 a proxy when at the university network. If the machine is moved to a
6477 network with such wpad setup, it would automatically use it when DHCP
6478 gave it a IP address.&lt;/p&gt;
6479
6480 &lt;p&gt;The LDAP server is located using DNS, by first looking for the DNS
6481 entry ldap.$domain. If this do not exist, it look for the
6482 _ldap._tcp.$domain SRV records and use the first one as the LDAP
6483 server. Next, it connects to the LDAP server and search all
6484 namingContexts entries for posixAccount or posixGroup objects, and
6485 pick the first one as the LDAP base. For Kerberos, a similar
6486 algorithm is used to locate the LDAP server, and the realm is the
6487 uppercase version of $domain.&lt;/p&gt;
6488
6489 &lt;p&gt;So, what is not working, you might ask. SMB mounting my home
6490 directory do not work. No idea why, but suspected the incorrect
6491 Kerberos settings in /etc/krb5.conf and /etc/samba/smb.conf might be
6492 the cause. These are not properly configured during installation, and
6493 had to be hand-edited to get the correct Kerberos realm and server,
6494 but SMB mounting still do not work. :(&lt;/p&gt;
6495
6496 &lt;p&gt;With this automatic configuration in place, I expect a Debian Edu
6497 roaming profile installation would be able to automatically detect and
6498 connect to any site using LDAP and Kerberos for NSS directory and PAM
6499 authentication. It should also work out of the box in a Active
6500 Directory environment providing posixAccount and posixGroup objects
6501 with UID and GID values.&lt;/p&gt;
6502
6503 &lt;p&gt;If you want to help out with implementing these things for Debian
6504 Edu, please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
6505 </description>
6506 </item>
6507
6508 <item>
6509 <title>Debian Edu roaming workstation - at the university of Oslo</title>
6510 <link>http://people.skolelinux.org/pere/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html</link>
6511 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html</guid>
6512 <pubDate>Tue, 3 Aug 2010 23:30:00 +0200</pubDate>
6513 <description>&lt;p&gt;The new roaming workstation profile in Debian Edu/Squeeze is fairly
6514 similar to the laptop setup am I working on using Ubuntu for the
6515 University of Oslo, and just for the heck of it, I tested today how
6516 hard it would be to integrate that profile into the university
6517 infrastructure. In this case, it is the university LDAP server,
6518 Active Directory Kerberos server and SMB mounting from the Netapp file
6519 servers.&lt;/p&gt;
6520
6521 &lt;p&gt;I was pleasantly surprised that the only three files needed to be
6522 changed (/etc/sssd/sssd.conf, /etc/ldap.conf and
6523 /etc/mklocaluser.d/20-debian-edu-config) and one file had to be added
6524 (/usr/share/perl5/Debian/Edu_Local.pm), to get the client working.
6525 Most of the changes were to get the client to use the university LDAP
6526 for NSS and Kerberos server for PAM, but one was to change a hard
6527 coded DNS domain name in the mklocaluser hook from .intern to
6528 .uio.no.&lt;/p&gt;
6529
6530 &lt;p&gt;This testing was so encouraging, that I went ahead and adjusted the
6531 Debian Edu scripts and setup in subversion to centralise the roaming
6532 workstation setup a bit more and avoid the hardcoded DNS domain name,
6533 so that when I test this tomorrow, I expect to get away with modifying
6534 only /etc/sssd/sssd.conf and /etc/ldap.conf to get it to use the
6535 university servers.&lt;/p&gt;
6536
6537 &lt;p&gt;My goal is to get the clients to have no hardcoded settings and
6538 fetch all their initial setup during installation and first boot, to
6539 allow them to be inserted also into environments where the default
6540 setup in Debian Edu has been changed or as with the university, where
6541 the environment is different but provides the protocols Debian Edu
6542 uses.&lt;/p&gt;
6543 </description>
6544 </item>
6545
6546 <item>
6547 <title>Circular package dependencies harms apt recovery</title>
6548 <link>http://people.skolelinux.org/pere/blog/Circular_package_dependencies_harms_apt_recovery.html</link>
6549 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Circular_package_dependencies_harms_apt_recovery.html</guid>
6550 <pubDate>Tue, 27 Jul 2010 23:50:00 +0200</pubDate>
6551 <description>&lt;p&gt;I discovered this while doing
6552 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html&quot;&gt;automated
6553 testing of upgrades from Debian Lenny to Squeeze&lt;/a&gt;. A few packages
6554 in Debian still got circular dependencies, and it is often claimed
6555 that apt and aptitude should be able to handle this just fine, but
6556 some times these dependency loops causes apt to fail.&lt;/p&gt;
6557
6558 &lt;p&gt;An example is from todays
6559 &lt;a href=&quot;http://people.skolelinux.org/~pere/debian-upgrade-testing//test-20100727-lenny-squeeze-kde-aptitude.txt&quot;&gt;upgrade
6560 of KDE using aptitude&lt;/a&gt;. In it, a bug in kdebase-workspace-data
6561 causes perl-modules to fail to upgrade. The cause is simple. If a
6562 package fail to unpack, then only part of packages with the circular
6563 dependency might end up being unpacked when unpacking aborts, and the
6564 ones already unpacked will fail to configure in the recovery phase
6565 because its dependencies are unavailable.&lt;/p&gt;
6566
6567 &lt;p&gt;In this log, the problem manifest itself with this error:&lt;/p&gt;
6568
6569 &lt;blockquote&gt;&lt;pre&gt;
6570 dpkg: dependency problems prevent configuration of perl-modules:
6571 perl-modules depends on perl (&gt;= 5.10.1-1); however:
6572 Version of perl on system is 5.10.0-19lenny2.
6573 dpkg: error processing perl-modules (--configure):
6574 dependency problems - leaving unconfigured
6575 &lt;/pre&gt;&lt;/blockquote&gt;
6576
6577 &lt;p&gt;The perl/perl-modules circular dependency is already
6578 &lt;a href=&quot;http://bugs.debian.org/527917&quot;&gt;reported as a bug&lt;/a&gt;, and will
6579 hopefully be solved as soon as possible, but it is not the only one,
6580 and each one of these loops in the dependency tree can cause similar
6581 failures. Of course, they only occur when there are bugs in other
6582 packages causing the unpacking to fail, but it is rather nasty when
6583 the failure of one package causes the problem to become worse because
6584 of dependency loops.&lt;/p&gt;
6585
6586 &lt;p&gt;Thanks to
6587 &lt;a href=&quot;http://lists.debian.org/debian-devel/2010/06/msg00116.html&quot;&gt;the
6588 tireless effort by Bill Allombert&lt;/a&gt;, the number of circular
6589 dependencies
6590 &lt;a href=&quot;http://debian.semistable.com/debgraph.out.html&quot;&gt;left in Debian
6591 is dropping&lt;/a&gt;, and perhaps it will reach zero one day. :)&lt;/p&gt;
6592
6593 &lt;p&gt;Todays testing also exposed a bug in
6594 &lt;a href=&quot;http://bugs.debian.org/590605&quot;&gt;update-notifier&lt;/a&gt; and
6595 &lt;a href=&quot;http://bugs.debian.org/590604&quot;&gt;different behaviour&lt;/a&gt; between
6596 apt-get and aptitude, the latter possibly caused by some circular
6597 dependency. Reported both to BTS to try to get someone to look at
6598 it.&lt;/p&gt;
6599 </description>
6600 </item>
6601
6602 <item>
6603 <title>First Debian Edu test release (alpha0) based on Squeeze is released</title>
6604 <link>http://people.skolelinux.org/pere/blog/First_Debian_Edu_test_release__alpha0__based_on_Squeeze_is_released.html</link>
6605 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/First_Debian_Edu_test_release__alpha0__based_on_Squeeze_is_released.html</guid>
6606 <pubDate>Tue, 27 Jul 2010 17:45:00 +0200</pubDate>
6607 <description>&lt;p&gt;I just posted this announcement culminating several months of work
6608 with the next Debian Edu release. Not nearly done, but one major step
6609 completed.&lt;/p&gt;
6610
6611 &lt;blockquote&gt;
6612 &lt;p&gt;This is the first test release based on Squeeze. The focus of this
6613 release is to test the user application selection. To have a look,
6614 install the standalone profile and let the developers know if the set
6615 of installed packages i.e. applications should be modified. If some
6616 user application is missing, or if there are some applications that no
6617 longer make sense to be included in Debian Edu, please let us know.
6618 Also, if a useful application is missing the translation for your
6619 language of choice, please let us know too.&lt;/p&gt;
6620
6621 &lt;p&gt;In addition, feedback and help to polish the desktop (menus,
6622 artwork, starters, etc.) is appreciated. We would like to ship a nice
6623 and handy KDE4 desktop targeted for schools out of the box.&lt;/p&gt;
6624
6625 &lt;p&gt;The other profiles should be installable, but there is a lot more
6626 work left to be done before they are ready, so do not expect to
6627 much.&lt;/p&gt;
6628
6629 &lt;p&gt;Changes compared to the lenny based version&lt;/p&gt;
6630
6631 &lt;ul&gt;
6632 &lt;li&gt;Everything from Debian Squeeze
6633 &lt;ul&gt;
6634 &lt;li&gt;Desktop environment KDE 4.4 =&gt; the new KDE desktop in
6635 combination with some new artwork
6636 &lt;li&gt;Web browser Iceweasel 3.5
6637 &lt;li&gt;OpenOffice.org 3.2
6638 &lt;li&gt;Educational toolbox GCompris 9.3
6639 &lt;li&gt;Music creator Rosegarden 10.04.2
6640 &lt;li&gt;Image editor Gimp 2.6.10
6641 &lt;li&gt;Virtual universe Celestia 1.6.0
6642 &lt;li&gt;Virtual stargazer Stellarium 0.10.4
6643 &lt;li&gt;3D modeler Blender 2.49.2 (new application)
6644 &lt;li&gt;Video editor Kdenlive 0.7.7 (new application)
6645 &lt;/ul&gt;&lt;/li&gt;
6646 &lt;li&gt;Now using Kerberos for password checking (migration not finished).
6647 Enabled for:
6648 &lt;ul&gt;
6649 &lt;li&gt;PAM
6650 &lt;li&gt;LDAP
6651 &lt;li&gt;IMAP
6652 &lt;li&gt;SMTP (sender verification)
6653 &lt;/ul&gt;
6654 &lt;/li&gt;
6655 &lt;li&gt;New experimental roaming workstation profile for laptops.&lt;/li&gt;
6656 &lt;li&gt;Show welcome page to users when they first log in. The URL is
6657 fetched from LDAP.&lt;/li&gt;
6658 &lt;li&gt;New LXDE desktop option, in addition to KDE (default) and Gnome.&lt;/li&gt;
6659 &lt;li&gt;General cleanup (not finished)&lt;/li&gt;
6660 &lt;/ul&gt;
6661 &lt;p&gt;The following features are not working as they should&lt;/p&gt;
6662
6663 &lt;ul&gt;
6664 &lt;li&gt;No web based administration tool for creating users and groups. The
6665 scripts ldap-createuser-krb and ldap-add-user-to-group can be used
6666 for testing.&lt;/li&gt;
6667 &lt;li&gt;DVD installs are missing debian-installer images for the PXE boot,
6668 and do not set up the PXE menu on eth0 because of this. LTSP
6669 clients should still boot from eth1 on thin client servers.&lt;/li&gt;
6670 &lt;li&gt;The restructured KDE menu is not implemented.&lt;/li&gt;
6671 &lt;li&gt;The LDAP server setup need to be reviewed for security.&lt;/li&gt;
6672 &lt;li&gt;The LDAP directory structure need to be reworked.&lt;/li&gt;
6673 &lt;li&gt;Different sets of packages are installed when using the DVD and the
6674 netinst CD. More packages are installed using the netinst CD.&lt;/li&gt;
6675 &lt;li&gt;The jackd package fail to install. This is believed to be caused by
6676 some ongoing transition, and hopefully should be solved soon. The
6677 jackd1 package can be installed manually for those that need it.&lt;/li&gt;
6678 &lt;li&gt;Some packages lack translations. See
6679 http://wiki.debian.org/DebianEdu/Status/Squeeze for updated status,
6680 and help out with translations.&lt;/li&gt;
6681 &lt;/ul&gt;
6682
6683 &lt;p&gt;To download this multiarch netinstall release you can use&lt;/p&gt;
6684
6685 &lt;ul&gt;
6686 &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;
6687 &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;
6688 &lt;li&gt;rsync -avzP ftp.skolelinux.org::skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso&lt;/li&gt;
6689 &lt;/ul&gt;
6690 &lt;p&gt;To download this multiarch dvd release you can use&lt;/p&gt;
6691
6692 &lt;ul&gt;
6693 &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;
6694 &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;
6695 &lt;li&gt;rsync -avzP ftp.skolelinux.org::skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso&lt;/li&gt;
6696 &lt;/ul&gt;
6697
6698 &lt;p&gt;There is no source DVD available yet. It will be prepared when we
6699 get closer to the final release.&lt;/p&gt;
6700
6701 &lt;p&gt;The MD5SUM of these images are&lt;/p&gt;
6702
6703 &lt;ul&gt;
6704 &lt;li&gt;3dbf45d59f42a53518b6e3c9ec3b5eb6 debian-edu-6.0.0+edua0-CD.iso&lt;/li&gt;
6705 &lt;li&gt;22f2cbfce281d1c6e478be452638675d debian-edu-6.0.0+edua0-DVD.iso&lt;/li&gt;
6706 &lt;/ul&gt;
6707
6708 &lt;p&gt;The SHA1SUM of these images are&lt;/p&gt;
6709 &lt;ul&gt;
6710 &lt;li&gt;c53d1b69b40cf37cd27aefaf33f6f6a3821bedf0 debian-edu-6.0.0+edua0-CD.iso&lt;/li&gt;
6711 &lt;li&gt;2ec29d7db676d59d32197b05c277ffe16348376c debian-edu-6.0.0+edua0-DVD.iso&lt;/li&gt;
6712 &lt;/ul&gt;
6713 &lt;p&gt;How to report bugs:
6714 http://wiki.debian.org/DebianEdu/HowTo/ReportBugsInBugzilla&lt;/p&gt;
6715
6716 &lt;p&gt;Please direct replies to debian-edu@lists.debian.org&lt;/p&gt;
6717 &lt;/blockquote&gt;
6718 </description>
6719 </item>
6720
6721 <item>
6722 <title>One step closer to single signon in Debian Edu</title>
6723 <link>http://people.skolelinux.org/pere/blog/One_step_closer_to_single_signon_in_Debian_Edu.html</link>
6724 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/One_step_closer_to_single_signon_in_Debian_Edu.html</guid>
6725 <pubDate>Sun, 25 Jul 2010 10:00:00 +0200</pubDate>
6726 <description>&lt;p&gt;The last few months me and the other Debian Edu developers have
6727 been working hard to get the Debian/Squeeze based version of Debian
6728 Edu/Skolelinux into shape. This future version will use Kerberos for
6729 authentication, and services are slowly migrated to single signon,
6730 getting rid of password questions one at the time.&lt;/p&gt;
6731
6732 &lt;p&gt;It will also feature a roaming workstation profile with local home
6733 directory, for laptops that are only some times on the Skolelinux
6734 network, and for this profile a shortcut is created in Gnome and KDE
6735 to gain access to the users home directory on the file server. This
6736 shortcut uses SMB at the moment, and yesterday I had time to test if
6737 SMB mounting had started working in KDE after we added the cifs-utils
6738 package. I was pleasantly surprised how well it worked.&lt;/p&gt;
6739
6740 &lt;p&gt;Thanks to the recent changes to our samba configuration to get it
6741 to use Kerberos for authentication, there were no question about user
6742 password when mounting the SMB volume. A simple click on the shortcut
6743 in the KDE menu, and a window with the home directory popped
6744 up. :)&lt;/p&gt;
6745
6746 &lt;p&gt;One step closer to a single signon solution out of the box in
6747 Debian Edu. We already had PAM, LDAP, IMAP and SMTP in place, and now
6748 also Samba. Next step is Cups and hopefully also NFS.&lt;/p&gt;
6749
6750 &lt;p&gt;We had planned a alpha0 release of Debian Edu for today, but thanks
6751 to the autobuilder administrators for some architectures being slow to
6752 sign packages, we are still missing the fixed LTSP package we need for
6753 the release. It was uploaded three days ago with urgency=high, and if
6754 it had entered testing yesterday we would have been able to test it in
6755 time for a alpha0 release today. As the binaries for ia64 and powerpc
6756 still not uploaded to the Debian archive, we need to delay the alpha
6757 release another day.&lt;/p&gt;
6758
6759 &lt;p&gt;If you want to help out with implementing Kerberos for Debian Edu,
6760 please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
6761 </description>
6762 </item>
6763
6764 <item>
6765 <title>OpenStreetmap one step closer to having routing on its front page</title>
6766 <link>http://people.skolelinux.org/pere/blog/OpenStreetmap_one_step_closer_to_having_routing_on_its_front_page.html</link>
6767 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/OpenStreetmap_one_step_closer_to_having_routing_on_its_front_page.html</guid>
6768 <pubDate>Sun, 18 Jul 2010 16:45:00 +0200</pubDate>
6769 <description>&lt;p&gt;Thanks to
6770 &lt;a href=&quot;http://feedproxy.google.com/~r/Opengeodata/~3/wUTCzDZk3lc/project-of-the-week-which-way-home&quot;&gt;todays
6771 opengeodata blog entry&lt;/a&gt;, I just discovered that the
6772 OpenStreetmap.org site have gotten
6773 &lt;a href=&quot;http://nroets.dev.openstreetmap.org/demo/index.html?layers=B000FTFTT&quot;&gt;support
6774 for calculating routes&lt;/a&gt;. The support is still experimental and
6775 only available from the development server, until more experience is
6776 gathered on the user interface and any scalability issues.&lt;/p&gt;
6777
6778 &lt;p&gt;Earlier, the routing I knew about using the OpenStreetmap.org data
6779 was provided by &lt;a href=&quot;http://maps.cloudmade.com/&quot;&gt;Cloudmade&lt;/a&gt;,
6780 but having it on the main page is required to make everyone aware of
6781 the issue. I&#39;ve had people reject Openstreetmap.org as a viable
6782 alternative for them because the front page lacked routing support,
6783 and I hope their needs will be catered for when routing show up on the
6784 www.openstreetmap.org front page.&lt;/p&gt;
6785 </description>
6786 </item>
6787
6788 <item>
6789 <title>What are they searching for - PowerDNS and ISC DHCP in LDAP</title>
6790 <link>http://people.skolelinux.org/pere/blog/What_are_they_searching_for___PowerDNS_and_ISC_DHCP_in_LDAP.html</link>
6791 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/What_are_they_searching_for___PowerDNS_and_ISC_DHCP_in_LDAP.html</guid>
6792 <pubDate>Sat, 17 Jul 2010 21:00:00 +0200</pubDate>
6793 <description>&lt;p&gt;This is a
6794 &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;
6795 on my
6796 &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
6797 work&lt;/a&gt; on
6798 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html&quot;&gt;merging
6799 all&lt;/a&gt; the computer related LDAP objects in Debian Edu.&lt;/p&gt;
6800
6801 &lt;p&gt;As a step to try to see if it possible to merge the DNS and DHCP
6802 LDAP objects, I have had a look at how the packages pdns-backend-ldap
6803 and dhcp3-server-ldap in Debian use the LDAP server. The two
6804 implementations are quite different in how they use LDAP.&lt;/p&gt;
6805
6806 To get this information, I started slapd with debugging enabled and
6807 dumped the debug output to a file to get the LDAP searches performed
6808 on a Debian Edu main-server. Here is a summary.
6809
6810 &lt;p&gt;&lt;strong&gt;powerdns&lt;/strong&gt;&lt;/p&gt;
6811
6812 &lt;a href=&quot;http://www.linuxnetworks.de/doc/index.php/PowerDNS_LDAP_Backend&quot;&gt;Clues
6813 on how to&lt;/a&gt; set up PowerDNS to use a LDAP backend is available on
6814 the web.
6815
6816 &lt;p&gt;PowerDNS have two modes of operation using LDAP as its backend.
6817 One &quot;strict&quot; mode where the forward and reverse DNS lookups are done
6818 using the same LDAP objects, and a &quot;tree&quot; mode where the forward and
6819 reverse entries are in two different subtrees in LDAP with a structure
6820 based on the DNS names, as in tjener.intern and
6821 2.2.0.10.in-addr.arpa.&lt;/p&gt;
6822
6823 &lt;p&gt;In tree mode, the server is set up to use a LDAP subtree as its
6824 base, and uses a &quot;base&quot; scoped search for the DNS name by adding
6825 &quot;dc=tjener,dc=intern,&quot; to the base with a filter for
6826 &quot;(associateddomain=tjener.intern)&quot; for the forward entry and
6827 &quot;dc=2,dc=2,dc=0,dc=10,dc=in-addr,dc=arpa,&quot; with a filter for
6828 &quot;(associateddomain=2.2.0.10.in-addr.arpa)&quot; for the reverse entry. For
6829 forward entries, it is looking for attributes named dnsttl, arecord,
6830 nsrecord, cnamerecord, soarecord, ptrrecord, hinforecord, mxrecord,
6831 txtrecord, rprecord, afsdbrecord, keyrecord, aaaarecord, locrecord,
6832 srvrecord, naptrrecord, kxrecord, certrecord, dsrecord, sshfprecord,
6833 ipseckeyrecord, rrsigrecord, nsecrecord, dnskeyrecord, dhcidrecord,
6834 spfrecord and modifytimestamp. For reverse entries it is looking for
6835 the attributes dnsttl, arecord, nsrecord, cnamerecord, soarecord,
6836 ptrrecord, hinforecord, mxrecord, txtrecord, rprecord, aaaarecord,
6837 locrecord, srvrecord, naptrrecord and modifytimestamp. The equivalent
6838 ldapsearch commands could look like this:&lt;/p&gt;
6839
6840 &lt;blockquote&gt;&lt;pre&gt;
6841 ldapsearch -h ldap \
6842 -b dc=tjener,dc=intern,ou=hosts,dc=skole,dc=skolelinux,dc=no \
6843 -s base -x &#39;(associateddomain=tjener.intern)&#39; dNSTTL aRecord nSRecord \
6844 cNAMERecord sOARecord pTRRecord hInfoRecord mXRecord tXTRecord \
6845 rPRecord aFSDBRecord KeyRecord aAAARecord lOCRecord sRVRecord \
6846 nAPTRRecord kXRecord certRecord dSRecord sSHFPRecord iPSecKeyRecord \
6847 rRSIGRecord nSECRecord dNSKeyRecord dHCIDRecord sPFRecord modifyTimestamp
6848
6849 ldapsearch -h ldap \
6850 -b dc=2,dc=2,dc=0,dc=10,dc=in-addr,dc=arpa,ou=hosts,dc=skole,dc=skolelinux,dc=no \
6851 -s base -x &#39;(associateddomain=2.2.0.10.in-addr.arpa)&#39;
6852 dnsttl, arecord, nsrecord, cnamerecord soarecord ptrrecord \
6853 hinforecord mxrecord txtrecord rprecord aaaarecord locrecord \
6854 srvrecord naptrrecord modifytimestamp
6855 &lt;/pre&gt;&lt;/blockquote&gt;
6856
6857 &lt;p&gt;In Debian Edu/Lenny, the PowerDNS tree mode is used with
6858 ou=hosts,dc=skole,dc=skolelinux,dc=no as the base, and these are two
6859 example LDAP objects used there. In addition to these objects, the
6860 parent objects all th way up to ou=hosts,dc=skole,dc=skolelinux,dc=no
6861 also exist.&lt;/p&gt;
6862
6863 &lt;blockquote&gt;&lt;pre&gt;
6864 dn: dc=tjener,dc=intern,ou=hosts,dc=skole,dc=skolelinux,dc=no
6865 objectclass: top
6866 objectclass: dnsdomain
6867 objectclass: domainrelatedobject
6868 dc: tjener
6869 arecord: 10.0.2.2
6870 associateddomain: tjener.intern
6871
6872 dn: dc=2,dc=2,dc=0,dc=10,dc=in-addr,dc=arpa,ou=hosts,dc=skole,dc=skolelinux,dc=no
6873 objectclass: top
6874 objectclass: dnsdomain2
6875 objectclass: domainrelatedobject
6876 dc: 2
6877 ptrrecord: tjener.intern
6878 associateddomain: 2.2.0.10.in-addr.arpa
6879 &lt;/pre&gt;&lt;/blockquote&gt;
6880
6881 &lt;p&gt;In strict mode, the server behaves differently. When looking for
6882 forward DNS entries, it is doing a &quot;subtree&quot; scoped search with the
6883 same base as in the tree mode for a object with filter
6884 &quot;(associateddomain=tjener.intern)&quot; and requests the attributes dnsttl,
6885 arecord, nsrecord, cnamerecord, soarecord, ptrrecord, hinforecord,
6886 mxrecord, txtrecord, rprecord, aaaarecord, locrecord, srvrecord,
6887 naptrrecord and modifytimestamp. For reverse entires it also do a
6888 subtree scoped search but this time the filter is &quot;(arecord=10.0.2.2)&quot;
6889 and the requested attributes are associateddomain, dnsttl and
6890 modifytimestamp. In short, in strict mode the objects with ptrrecord
6891 go away, and the arecord attribute in the forward object is used
6892 instead.&lt;/p&gt;
6893
6894 &lt;p&gt;The forward and reverse searches can be simulated using ldapsearch
6895 like this:&lt;/p&gt;
6896
6897 &lt;blockquote&gt;&lt;pre&gt;
6898 ldapsearch -h ldap -b ou=hosts,dc=skole,dc=skolelinux,dc=no -s sub -x \
6899 &#39;(associateddomain=tjener.intern)&#39; dNSTTL aRecord nSRecord \
6900 cNAMERecord sOARecord pTRRecord hInfoRecord mXRecord tXTRecord \
6901 rPRecord aFSDBRecord KeyRecord aAAARecord lOCRecord sRVRecord \
6902 nAPTRRecord kXRecord certRecord dSRecord sSHFPRecord iPSecKeyRecord \
6903 rRSIGRecord nSECRecord dNSKeyRecord dHCIDRecord sPFRecord modifyTimestamp
6904
6905 ldapsearch -h ldap -b ou=hosts,dc=skole,dc=skolelinux,dc=no -s sub -x \
6906 &#39;(arecord=10.0.2.2)&#39; associateddomain dnsttl modifytimestamp
6907 &lt;/pre&gt;&lt;/blockquote&gt;
6908
6909 &lt;p&gt;In addition to the forward and reverse searches , there is also a
6910 search for SOA records, which behave similar to the forward and
6911 reverse lookups.&lt;/p&gt;
6912
6913 &lt;p&gt;A thing to note with the PowerDNS behaviour is that it do not
6914 specify any objectclass names, and instead look for the attributes it
6915 need to generate a DNS reply. This make it able to work with any
6916 objectclass that provide the needed attributes.&lt;/p&gt;
6917
6918 &lt;p&gt;The attributes are normally provided in the cosine (RFC 1274) and
6919 dnsdomain2 schemas. The latter is used for reverse entries like
6920 ptrrecord and recent DNS additions like aaaarecord and srvrecord.&lt;/p&gt;
6921
6922 &lt;p&gt;In Debian Edu, we have created DNS objects using the object classes
6923 dcobject (for dc), dnsdomain or dnsdomain2 (structural, for the DNS
6924 attributes) and domainrelatedobject (for associatedDomain). The use
6925 of structural object classes make it impossible to combine these
6926 classes with the object classes used by DHCP.&lt;/p&gt;
6927
6928 &lt;p&gt;There are other schemas that could be used too, for example the
6929 dnszone structural object class used by Gosa and bind-sdb for the DNS
6930 attributes combined with the domainrelatedobject object class, but in
6931 this case some unused attributes would have to be included as well
6932 (zonename and relativedomainname).&lt;/p&gt;
6933
6934 &lt;p&gt;My proposal for Debian Edu would be to switch PowerDNS to strict
6935 mode and not use any of the existing objectclasses (dnsdomain,
6936 dnsdomain2 and dnszone) when one want to combine the DNS information
6937 with DHCP information, and instead create a auxiliary object class
6938 defined something like this (using the attributes defined for
6939 dnsdomain and dnsdomain2 or dnszone):&lt;/p&gt;
6940
6941 &lt;blockquote&gt;&lt;pre&gt;
6942 objectclass ( some-oid NAME &#39;dnsDomainAux&#39;
6943 SUP top
6944 AUXILIARY
6945 MAY ( ARecord $ MDRecord $ MXRecord $ NSRecord $ SOARecord $ CNAMERecord $
6946 DNSTTL $ DNSClass $ PTRRecord $ HINFORecord $ MINFORecord $
6947 TXTRecord $ SIGRecord $ KEYRecord $ AAAARecord $ LOCRecord $
6948 NXTRecord $ SRVRecord $ NAPTRRecord $ KXRecord $ CERTRecord $
6949 A6Record $ DNAMERecord
6950 ))
6951 &lt;/pre&gt;&lt;/blockquote&gt;
6952
6953 &lt;p&gt;This will allow any object to become a DNS entry when combined with
6954 the domainrelatedobject object class, and allow any entity to include
6955 all the attributes PowerDNS wants. I&#39;ve sent an email to the PowerDNS
6956 developers asking for their view on this schema and if they are
6957 interested in providing such schema with PowerDNS, and I hope my
6958 message will be accepted into their mailing list soon.&lt;/p&gt;
6959
6960 &lt;p&gt;&lt;strong&gt;ISC dhcp&lt;/strong&gt;&lt;/p&gt;
6961
6962 &lt;p&gt;The DHCP server searches for specific objectclass and requests all
6963 the object attributes, and then uses the attributes it want. This
6964 make it harder to figure out exactly what attributes are used, but
6965 thanks to the working example in Debian Edu I can at least get an idea
6966 what is needed without having to read the source code.&lt;/p&gt;
6967
6968 &lt;p&gt;In the DHCP server configuration, the LDAP base to use and the
6969 search filter to use to locate the correct dhcpServer entity is
6970 stored. These are the relevant entries from
6971 /etc/dhcp3/dhcpd.conf:&lt;/p&gt;
6972
6973 &lt;blockquote&gt;&lt;pre&gt;
6974 ldap-base-dn &quot;dc=skole,dc=skolelinux,dc=no&quot;;
6975 ldap-dhcp-server-cn &quot;dhcp&quot;;
6976 &lt;/pre&gt;&lt;/blockquote&gt;
6977
6978 &lt;p&gt;The DHCP server uses this information to nest all the DHCP
6979 configuration it need. The cn &quot;dhcp&quot; is located using the given LDAP
6980 base and the filter &quot;(&amp;(objectClass=dhcpServer)(cn=dhcp))&quot;. The
6981 search result is this entry:&lt;/p&gt;
6982
6983 &lt;blockquote&gt;&lt;pre&gt;
6984 dn: cn=dhcp,dc=skole,dc=skolelinux,dc=no
6985 cn: dhcp
6986 objectClass: top
6987 objectClass: dhcpServer
6988 dhcpServiceDN: cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
6989 &lt;/pre&gt;&lt;/blockquote&gt;
6990
6991 &lt;p&gt;The content of the dhcpServiceDN attribute is next used to locate the
6992 subtree with DHCP configuration. The DHCP configuration subtree base
6993 is located using a base scope search with base &quot;cn=DHCP
6994 Config,dc=skole,dc=skolelinux,dc=no&quot; and filter
6995 &quot;(&amp;(objectClass=dhcpService)(|(dhcpPrimaryDN=cn=dhcp,dc=skole,dc=skolelinux,dc=no)(dhcpSecondaryDN=cn=dhcp,dc=skole,dc=skolelinux,dc=no)))&quot;.
6996 The search result is this entry:&lt;/p&gt;
6997
6998 &lt;blockquote&gt;&lt;pre&gt;
6999 dn: cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
7000 cn: DHCP Config
7001 objectClass: top
7002 objectClass: dhcpService
7003 objectClass: dhcpOptions
7004 dhcpPrimaryDN: cn=dhcp, dc=skole,dc=skolelinux,dc=no
7005 dhcpStatements: ddns-update-style none
7006 dhcpStatements: authoritative
7007 dhcpOption: smtp-server code 69 = array of ip-address
7008 dhcpOption: www-server code 72 = array of ip-address
7009 dhcpOption: wpad-url code 252 = text
7010 &lt;/pre&gt;&lt;/blockquote&gt;
7011
7012 &lt;p&gt;Next, the entire subtree is processed, one level at the time. When
7013 all the DHCP configuration is loaded, it is ready to receive requests.
7014 The subtree in Debian Edu contain objects with object classes
7015 top/dhcpService/dhcpOptions, top/dhcpSharedNetwork/dhcpOptions,
7016 top/dhcpSubnet, top/dhcpGroup and top/dhcpHost. These provide options
7017 and information about netmasks, dynamic range etc. Leaving out the
7018 details here because it is not relevant for the focus of my
7019 investigation, which is to see if it is possible to merge dns and dhcp
7020 related computer objects.&lt;/p&gt;
7021
7022 &lt;p&gt;When a DHCP request come in, LDAP is searched for the MAC address
7023 of the client (00:00:00:00:00:00 in this example), using a subtree
7024 scoped search with &quot;cn=DHCP Config,dc=skole,dc=skolelinux,dc=no&quot; as
7025 the base and &quot;(&amp;(objectClass=dhcpHost)(dhcpHWAddress=ethernet
7026 00:00:00:00:00:00))&quot; as the filter. This is what a host object look
7027 like:&lt;/p&gt;
7028
7029 &lt;blockquote&gt;&lt;pre&gt;
7030 dn: cn=hostname,cn=group1,cn=THINCLIENTS,cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
7031 cn: hostname
7032 objectClass: top
7033 objectClass: dhcpHost
7034 dhcpHWAddress: ethernet 00:00:00:00:00:00
7035 dhcpStatements: fixed-address hostname
7036 &lt;/pre&gt;&lt;/blockquote&gt;
7037
7038 &lt;p&gt;There is less flexiblity in the way LDAP searches are done here.
7039 The object classes need to have fixed names, and the configuration
7040 need to be stored in a fairly specific LDAP structure. On the
7041 positive side, the invidiual dhcpHost entires can be anywhere without
7042 the DN pointed to by the dhcpServer entries. The latter should make
7043 it possible to group all host entries in a subtree next to the
7044 configuration entries, and this subtree can also be shared with the
7045 DNS server if the schema proposed above is combined with the dhcpHost
7046 structural object class.
7047
7048 &lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;
7049
7050 &lt;p&gt;The PowerDNS implementation seem to be very flexible when it come
7051 to which LDAP schemas to use. While its &quot;tree&quot; mode is rigid when it
7052 come to the the LDAP structure, the &quot;strict&quot; mode is very flexible,
7053 allowing DNS objects to be stored anywhere under the base cn specified
7054 in the configuration.&lt;/p&gt;
7055
7056 &lt;p&gt;The DHCP implementation on the other hand is very inflexible, both
7057 regarding which LDAP schemas to use and which LDAP structure to use.
7058 I guess one could implement ones own schema, as long as the
7059 objectclasses and attributes have the names used, but this do not
7060 really help when the DHCP subtree need to have a fairly fixed
7061 structure.&lt;/p&gt;
7062
7063 &lt;p&gt;Based on the observed behaviour, I suspect a LDAP structure like
7064 this might work for Debian Edu:&lt;/p&gt;
7065
7066 &lt;blockquote&gt;&lt;pre&gt;
7067 ou=services
7068 cn=machine-info (dhcpService) - dhcpServiceDN points here
7069 cn=dhcp (dhcpServer)
7070 cn=dhcp-internal (dhcpSharedNetwork/dhcpOptions)
7071 cn=10.0.2.0 (dhcpSubnet)
7072 cn=group1 (dhcpGroup/dhcpOptions)
7073 cn=dhcp-thinclients (dhcpSharedNetwork/dhcpOptions)
7074 cn=192.168.0.0 (dhcpSubnet)
7075 cn=group1 (dhcpGroup/dhcpOptions)
7076 ou=machines - PowerDNS base points here
7077 cn=hostname (dhcpHost/domainrelatedobject/dnsDomainAux)
7078 &lt;/pre&gt;&lt;/blockquote&gt;
7079
7080 &lt;P&gt;This is not tested yet. If the DHCP server require the dhcpHost
7081 entries to be in the dhcpGroup subtrees, the entries can be stored
7082 there instead of a common machines subtree, and the PowerDNS base
7083 would have to be moved one level up to the machine-info subtree.&lt;/p&gt;
7084
7085 &lt;p&gt;The combined object under the machines subtree would look something
7086 like this:&lt;/p&gt;
7087
7088 &lt;blockquote&gt;&lt;pre&gt;
7089 dn: dc=hostname,ou=machines,cn=machine-info,dc=skole,dc=skolelinux,dc=no
7090 dc: hostname
7091 objectClass: top
7092 objectClass: dhcpHost
7093 objectclass: domainrelatedobject
7094 objectclass: dnsDomainAux
7095 associateddomain: hostname.intern
7096 arecord: 10.11.12.13
7097 dhcpHWAddress: ethernet 00:00:00:00:00:00
7098 dhcpStatements: fixed-address hostname.intern
7099 &lt;/pre&gt;&lt;/blockquote&gt;
7100
7101 &lt;/p&gt;One could even add the LTSP configuration associated with a given
7102 machine, as long as the required attributes are available in a
7103 auxiliary object class.&lt;/p&gt;
7104 </description>
7105 </item>
7106
7107 <item>
7108 <title>Combining PowerDNS and ISC DHCP LDAP objects</title>
7109 <link>http://people.skolelinux.org/pere/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html</link>
7110 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html</guid>
7111 <pubDate>Wed, 14 Jul 2010 23:45:00 +0200</pubDate>
7112 <description>&lt;p&gt;For a while now, I have wanted to find a way to change the DNS and
7113 DHCP services in Debian Edu to use the same LDAP objects for a given
7114 computer, to avoid the possibility of having a inconsistent state for
7115 a computer in LDAP (as in DHCP but no DNS entry or the other way
7116 around) and make it easier to add computers to LDAP.&lt;/p&gt;
7117
7118 &lt;p&gt;I&#39;ve looked at how powerdns and dhcpd is using LDAP, and using this
7119 information finally found a solution that seem to work.&lt;/p&gt;
7120
7121 &lt;p&gt;The old setup required three LDAP objects for a given computer.
7122 One forward DNS entry, one reverse DNS entry and one DHCP entry. If
7123 we switch powerdns to use its strict LDAP method (ldap-method=strict
7124 in pdns-debian-edu.conf), the forward and reverse DNS entries are
7125 merged into one while making it impossible to transfer the reverse map
7126 to a slave DNS server.&lt;/p&gt;
7127
7128 &lt;p&gt;If we also replace the object class used to get the DNS related
7129 attributes to one allowing these attributes to be combined with the
7130 dhcphost object class, we can merge the DNS and DHCP entries into one.
7131 I&#39;ve written such object class in the dnsdomainaux.schema file (need
7132 proper OIDs, but that is a minor issue), and tested the setup. It
7133 seem to work.&lt;/p&gt;
7134
7135 &lt;p&gt;With this test setup in place, we can get away with one LDAP object
7136 for both DNS and DHCP, and even the LTSP configuration I suggested in
7137 an earlier email. The combined LDAP object will look something like
7138 this:&lt;/p&gt;
7139
7140 &lt;blockquote&gt;&lt;pre&gt;
7141 dn: cn=hostname,cn=group1,cn=THINCLIENTS,cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
7142 cn: hostname
7143 objectClass: dhcphost
7144 objectclass: domainrelatedobject
7145 objectclass: dnsdomainaux
7146 associateddomain: hostname.intern
7147 arecord: 10.11.12.13
7148 dhcphwaddress: ethernet 00:00:00:00:00:00
7149 dhcpstatements: fixed-address hostname
7150 ldapconfigsound: Y
7151 &lt;/pre&gt;&lt;/blockquote&gt;
7152
7153 &lt;p&gt;The DNS server uses the associateddomain and arecord entries, while
7154 the DHCP server uses the dhcphwaddress and dhcpstatements entries
7155 before asking DNS to resolve the fixed-adddress. LTSP will use
7156 dhcphwaddress or associateddomain and the ldapconfig* attributes.&lt;/p&gt;
7157
7158 &lt;p&gt;I am not yet sure if I can get the DHCP server to look for its
7159 dhcphost in a different location, to allow us to put the objects
7160 outside the &quot;DHCP Config&quot; subtree, but hope to figure out a way to do
7161 that. If I can&#39;t figure out a way to do that, we can still get rid of
7162 the hosts subtree and move all its content into the DHCP Config tree
7163 (which probably should be renamed to be more related to the new
7164 content. I suspect cn=dnsdhcp,ou=services or something like that
7165 might be a good place to put it.&lt;/p&gt;
7166
7167 &lt;p&gt;If you want to help out with implementing this for Debian Edu,
7168 please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
7169 </description>
7170 </item>
7171
7172 <item>
7173 <title>Idea for storing LTSP configuration in LDAP</title>
7174 <link>http://people.skolelinux.org/pere/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html</link>
7175 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html</guid>
7176 <pubDate>Sun, 11 Jul 2010 22:00:00 +0200</pubDate>
7177 <description>&lt;p&gt;Vagrant mentioned on IRC today that ltsp_config now support
7178 sourcing files from /usr/share/ltsp/ltsp_config.d/ on the thin
7179 clients, and that this can be used to fetch configuration from LDAP if
7180 Debian Edu choose to store configuration there.&lt;/p&gt;
7181
7182 &lt;p&gt;Armed with this information, I got inspired and wrote a test module
7183 to get configuration from LDAP. The idea is to look up the MAC
7184 address of the client in LDAP, and look for attributes on the form
7185 ltspconfigsetting=value, and use this to export SETTING=value to the
7186 LTSP clients.&lt;/p&gt;
7187
7188 &lt;p&gt;The goal is to be able to store the LTSP configuration attributes
7189 in a &quot;computer&quot; LDAP object used by both DNS and DHCP, and thus
7190 allowing us to store all information about a computer in one place.&lt;/p&gt;
7191
7192 &lt;p&gt;This is a untested draft implementation, and I welcome feedback on
7193 this approach. A real LDAP schema for the ltspClientAux objectclass
7194 need to be written. Comments, suggestions, etc?&lt;/p&gt;
7195
7196 &lt;blockquote&gt;&lt;pre&gt;
7197 # Store in /opt/ltsp/$arch/usr/share/ltsp/ltsp_config.d/ldap-config
7198 #
7199 # Fetch LTSP client settings from LDAP based on MAC address
7200 #
7201 # Uses ethernet address as stored in the dhcpHost objectclass using
7202 # the dhcpHWAddress attribute or ethernet address stored in the
7203 # ieee802Device objectclass with the macAddress attribute.
7204 #
7205 # This module is written to be schema agnostic, and only depend on the
7206 # existence of attribute names.
7207 #
7208 # The LTSP configuration variables are saved directly using a
7209 # ltspConfig prefix and uppercasing the rest of the attribute name.
7210 # To set the SERVER variable, set the ltspConfigServer attribute.
7211 #
7212 # Some LDAP schema should be created with all the relevant
7213 # configuration settings. Something like this should work:
7214 #
7215 # objectclass ( 1.1.2.2 NAME &#39;ltspClientAux&#39;
7216 # SUP top
7217 # AUXILIARY
7218 # MAY ( ltspConfigServer $ ltsConfigSound $ ... )
7219
7220 LDAPSERVER=$(debian-edu-ldapserver)
7221 if [ &quot;$LDAPSERVER&quot; ] ; then
7222 LDAPBASE=$(debian-edu-ldapserver -b)
7223 for MAC in $(LANG=C ifconfig |grep -i hwaddr| awk &#39;{print $5}&#39;|sort -u) ; do
7224 filter=&quot;(|(dhcpHWAddress=ethernet $MAC)(macAddress=$MAC))&quot;
7225 ldapsearch -h &quot;$LDAPSERVER&quot; -b &quot;$LDAPBASE&quot; -v -x &quot;$filter&quot; | \
7226 grep &#39;^ltspConfig&#39; | while read attr value ; do
7227 # Remove prefix and convert to upper case
7228 attr=$(echo $attr | sed &#39;s/^ltspConfig//i&#39; | tr a-z A-Z)
7229 # bass value on to clients
7230 eval &quot;$attr=$value; export $attr&quot;
7231 done
7232 done
7233 fi
7234 &lt;/pre&gt;&lt;/blockquote&gt;
7235
7236 &lt;p&gt;I&#39;m not sure this shell construction will work, because I suspect
7237 the while block might end up in a subshell causing the variables set
7238 there to not show up in ltsp-config, but if that is the case I am sure
7239 the code can be restructured to make sure the variables are passed on.
7240 I expect that can be solved with some testing. :)&lt;/p&gt;
7241
7242 &lt;p&gt;If you want to help out with implementing this for Debian Edu,
7243 please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
7244
7245 &lt;p&gt;Update 2010-07-17: I am aware of another effort to store LTSP
7246 configuration in LDAP that was created around year 2000 by
7247 &lt;a href=&quot;http://www.pcxperience.com/thinclient/documentation/ldap.html&quot;&gt;PC
7248 Xperience, Inc., 2000&lt;/a&gt;. I found its
7249 &lt;a href=&quot;http://people.redhat.com/alikins/ltsp/ldap/&quot;&gt;files&lt;/a&gt; on a
7250 personal home page over at redhat.com.&lt;/p&gt;
7251 </description>
7252 </item>
7253
7254 <item>
7255 <title>jXplorer, a very nice LDAP GUI</title>
7256 <link>http://people.skolelinux.org/pere/blog/jXplorer__a_very_nice_LDAP_GUI.html</link>
7257 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/jXplorer__a_very_nice_LDAP_GUI.html</guid>
7258 <pubDate>Fri, 9 Jul 2010 12:55:00 +0200</pubDate>
7259 <description>&lt;p&gt;Since
7260 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/LUMA__a_very_nice_LDAP_GUI.html&quot;&gt;my
7261 last post&lt;/a&gt; about available LDAP tools in Debian, I was told about a
7262 LDAP GUI that is even better than luma. The java application
7263 &lt;a href=&quot;http://jxplorer.org/&quot;&gt;jXplorer&lt;/a&gt; is claimed to be capable of
7264 moving LDAP objects and subtrees using drag-and-drop, and can
7265 authenticate using Kerberos. I have only tested the Kerberos
7266 authentication, but do not have a LDAP setup allowing me to rewrite
7267 LDAP with my test user yet. It is
7268 &lt;a href=&quot;http://packages.qa.debian.org/j/jxplorer.html&quot;&gt;available in
7269 Debian&lt;/a&gt; testing and unstable at the moment. The only problem I
7270 have with it is how it handle errors. If something go wrong, its
7271 non-intuitive behaviour require me to go through some query work list
7272 and remove the failing query. Nothing big, but very annoying.&lt;/p&gt;
7273 </description>
7274 </item>
7275
7276 <item>
7277 <title>Lenny-&gt;Squeeze upgrades, apt vs aptitude with the Gnome desktop</title>
7278 <link>http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_desktop.html</link>
7279 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_desktop.html</guid>
7280 <pubDate>Sat, 3 Jul 2010 23:55:00 +0200</pubDate>
7281 <description>&lt;p&gt;Here is a short update on my &lt;a
7282 href=&quot;http://people.skolelinux.org/~pere/debian-upgrade-testing/&quot;&gt;my
7283 Debian Lenny-&gt;Squeeze upgrade testing&lt;/a&gt;. Here is a summary of the
7284 difference for Gnome when it is upgraded by apt-get and aptitude. I&#39;m
7285 not reporting the status for KDE, because the upgrade crashes when
7286 aptitude try because of missing conflicts
7287 (&lt;a href=&quot;http://bugs.debian.org/584861&quot;&gt;#584861&lt;/a&gt; and
7288 &lt;a href=&quot;http://bugs.debian.org/585716&quot;&gt;#585716&lt;/a&gt;).&lt;/p&gt;
7289
7290 &lt;p&gt;At the end of the upgrade test script, dpkg -l is executed to get a
7291 complete list of the installed packages. Based on this I see these
7292 differences when I did a test run today. As usual, I do not really
7293 know what the correct set of packages would be, but thought it best to
7294 publish the difference.&lt;/p&gt;
7295
7296 &lt;p&gt;Installed using apt-get, missing with aptitude&lt;/p&gt;
7297
7298 &lt;blockquote&gt;&lt;p&gt;
7299 at-spi cpp-4.3 finger gnome-spell gstreamer0.10-gnomevfs
7300 libatspi1.0-0 libcupsys2 libeel2-data libgail-common libgdl-1-common
7301 libgnomeprint2.2-data libgnomeprintui2.2-common libgnomevfs2-bin
7302 libgtksourceview-common libpt-1.10.10-plugins-alsa
7303 libpt-1.10.10-plugins-v4l libservlet2.4-java libxalan2-java
7304 libxerces2-java openoffice.org-writer2latex openssl-blacklist p7zip
7305 python-4suite-xml python-eggtrayicon python-gtkhtml2
7306 python-gtkmozembed svgalibg1 xserver-xephyr zip
7307 &lt;/p&gt;&lt;/blockquote&gt;
7308
7309 &lt;p&gt;Installed using apt-get, removed with aptitude&lt;/p&gt;
7310
7311 &lt;blockquote&gt;&lt;p&gt;
7312 bluez-utils dhcdbd djvulibre-desktop epiphany-gecko
7313 gnome-app-install gnome-mount gnome-vfs-obexftp gnome-volume-manager
7314 libao2 libavahi-compat-libdnssd1 libavahi-core5 libbind9-50
7315 libbluetooth2 libcamel1.2-11 libcdio7 libcucul0 libcurl3
7316 libdirectfb-1.0-0 libdvdread3 libedata-cal1.2-6 libedataserver1.2-9
7317 libeel2-2.20 libepc-1.0-1 libepc-ui-1.0-1 libexchange-storage1.2-3
7318 libfaad0 libgd2-noxpm libgda3-3 libgda3-common libggz2 libggzcore9
7319 libggzmod4 libgksu1.2-0 libgksuui1.0-1 libgmyth0 libgnome-desktop-2
7320 libgnome-pilot2 libgnomecups1.0-1 libgnomeprint2.2-0
7321 libgnomeprintui2.2-0 libgpod3 libgraphviz4 libgtkhtml2-0
7322 libgtksourceview1.0-0 libgucharmap6 libhesiod0 libicu38 libisccc50
7323 libisccfg50 libiw29 libkpathsea4 libltdl3 liblwres50 libmagick++10
7324 libmagick10 libmalaga7 libmtp7 libmysqlclient15off libnautilus-burn4
7325 libneon27 libnm-glib0 libnm-util0 libopal-2.2 libosp5
7326 libparted1.8-10 libpisock9 libpisync1 libpoppler-glib3 libpoppler3
7327 libpt-1.10.10 libraw1394-8 libsensors3 libsmbios2 libsoup2.2-8
7328 libssh2-1 libsuitesparse-3.1.0 libswfdec-0.6-90 libtalloc1
7329 libtotem-plparser10 libtrackerclient0 libvoikko1 libxalan2-java-gcj
7330 libxerces2-java-gcj libxklavier12 libxtrap6 libxxf86misc1 libzephyr3
7331 mysql-common swfdec-gnome totem-gstreamer wodim
7332 &lt;/p&gt;&lt;/blockquote&gt;
7333
7334 &lt;p&gt;Installed using aptitude, missing with apt-get&lt;/p&gt;
7335
7336 &lt;blockquote&gt;&lt;p&gt;
7337 gnome gnome-desktop-environment hamster-applet python-gnomeapplet
7338 python-gnomekeyring python-wnck rhythmbox-plugins xorg
7339 xserver-xorg-input-all xserver-xorg-input-evdev
7340 xserver-xorg-input-kbd xserver-xorg-input-mouse
7341 xserver-xorg-input-synaptics xserver-xorg-video-all
7342 xserver-xorg-video-apm xserver-xorg-video-ark xserver-xorg-video-ati
7343 xserver-xorg-video-chips xserver-xorg-video-cirrus
7344 xserver-xorg-video-dummy xserver-xorg-video-fbdev
7345 xserver-xorg-video-glint xserver-xorg-video-i128
7346 xserver-xorg-video-i740 xserver-xorg-video-mach64
7347 xserver-xorg-video-mga xserver-xorg-video-neomagic
7348 xserver-xorg-video-nouveau xserver-xorg-video-nv
7349 xserver-xorg-video-r128 xserver-xorg-video-radeon
7350 xserver-xorg-video-radeonhd xserver-xorg-video-rendition
7351 xserver-xorg-video-s3 xserver-xorg-video-s3virge
7352 xserver-xorg-video-savage xserver-xorg-video-siliconmotion
7353 xserver-xorg-video-sis xserver-xorg-video-sisusb
7354 xserver-xorg-video-tdfx xserver-xorg-video-tga
7355 xserver-xorg-video-trident xserver-xorg-video-tseng
7356 xserver-xorg-video-vesa xserver-xorg-video-vmware
7357 xserver-xorg-video-voodoo
7358 &lt;/p&gt;&lt;/blockquote&gt;
7359
7360 &lt;p&gt;Installed using aptitude, removed with apt-get&lt;/p&gt;
7361
7362 &lt;blockquote&gt;&lt;p&gt;
7363 deskbar-applet xserver-xorg xserver-xorg-core
7364 xserver-xorg-input-wacom xserver-xorg-video-intel
7365 xserver-xorg-video-openchrome
7366 &lt;/p&gt;&lt;/blockquote&gt;
7367
7368 &lt;p&gt;I was told on IRC that the xorg-xserver package was
7369 &lt;a href=&quot;http://git.debian.org/?p=pkg-xorg/xserver/xorg-server.git;a=commit;h=9c8080d06c457932d3bfec021c69ac000aa60120&quot;&gt;changed
7370 in git&lt;/a&gt; today to try to get apt-get to not remove xorg completely.
7371 No idea when it hits Squeeze, but when it does I hope it will reduce
7372 the difference somewhat.
7373 </description>
7374 </item>
7375
7376 <item>
7377 <title>Caching password, user and group on a roaming Debian laptop</title>
7378 <link>http://people.skolelinux.org/pere/blog/Caching_password__user_and_group_on_a_roaming_Debian_laptop.html</link>
7379 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Caching_password__user_and_group_on_a_roaming_Debian_laptop.html</guid>
7380 <pubDate>Thu, 1 Jul 2010 11:40:00 +0200</pubDate>
7381 <description>&lt;p&gt;For a laptop, centralized user directories and password checking is
7382 a bit troubling. Laptops are typically used also when not connected
7383 to the network, and it is vital for a user to be able to log in or
7384 unlock the screen saver also when a central server is unavailable.
7385 This is possible by caching passwords and directory information (user
7386 and group attributes) locally, and the packages to do so are available
7387 in Debian. Here follow two recipes to set this up in Debian/Squeeze.
7388 It is also possible to set up in Debian/Lenny, but require more manual
7389 setup there because pam-auth-update is missing in Lenny.&lt;/p&gt;
7390
7391 &lt;h2&gt;LDAP/Kerberos + nscd + libpam-ccreds + libpam-mklocaluser/pam_mkhomedir&lt;/h2&gt;
7392
7393 This is the traditional method with a twist. The password caching is
7394 provided by libpam-ccreds (version 10-4 or later is needed on
7395 Squeeze), and the directory caching is done by nscd. The directory
7396 lookup and password checking is done using LDAP. If one want to use
7397 Kerberos for password checking the libpam-ldapd package can be
7398 replaced with libpam-krb5 or libpam-heimdal. If one is happy having a
7399 local home directory with the path listed in LDAP, one can use the
7400 pam_mkhomedir module from pam-modules to make this happen instead of
7401 using libpam-mklocaluser. A setup for pam-auth-update to enable
7402 pam_mkhomedir will have to be written until a fix for
7403 &lt;a href=&quot;http://bugs.debian.org/568577&quot;&gt;bug #568577&lt;/a&gt; is in the
7404 archive. Because I believe it is a bad idea to have local home
7405 directories using misleading paths like /site/server/partition/, I
7406 prefer to create a local user with the home directory in /home/. This
7407 is done using the libpam-mklocaluser package.&lt;/p&gt;
7408
7409 &lt;p&gt;These packages need to be installed and configured&lt;/p&gt;
7410
7411 &lt;blockquote&gt;&lt;pre&gt;
7412 libnss-ldapd libpam-ldapd nscd libpam-ccreds libpam-mklocaluser
7413 &lt;/pre&gt;&lt;/blockquote&gt;
7414
7415 &lt;p&gt;The ldapd packages will ask for LDAP connection information, and
7416 one have to fill in the values that fits ones own site. Make sure the
7417 PAM part uses encrypted connections, to make sure the password is not
7418 sent in clear text to the LDAP server. I&#39;ve been unable to get TLS
7419 certificate checking for a self signed certificate working, which make
7420 LDAP authentication unsafe for Debian Edu (nslcd is not checking if it
7421 is talking to the correct LDAP server), and very much welcome feedback
7422 on how to get this working.&lt;/p&gt;
7423
7424 &lt;p&gt;Because nscd do not have a default configuration fit for offline
7425 caching until &lt;a href=&quot;http://bugs.debian.org/485282&quot;&gt;bug #485282&lt;/a&gt;
7426 is fixed, this configuration should be used instead of the one
7427 currently in /etc/nscd.conf. The changes are in the fields
7428 reload-count and positive-time-to-live, and is based on the
7429 instructions I found in the
7430 &lt;a href=&quot;http://www.flyn.org/laptopldap/&quot;&gt;LDAP for Mobile Laptops&lt;/a&gt;
7431 instructions by Flyn Computing.&lt;/p&gt;
7432
7433 &lt;blockquote&gt;&lt;pre&gt;
7434 debug-level 0
7435 reload-count unlimited
7436 paranoia no
7437
7438 enable-cache passwd yes
7439 positive-time-to-live passwd 2592000
7440 negative-time-to-live passwd 20
7441 suggested-size passwd 211
7442 check-files passwd yes
7443 persistent passwd yes
7444 shared passwd yes
7445 max-db-size passwd 33554432
7446 auto-propagate passwd yes
7447
7448 enable-cache group yes
7449 positive-time-to-live group 2592000
7450 negative-time-to-live group 20
7451 suggested-size group 211
7452 check-files group yes
7453 persistent group yes
7454 shared group yes
7455 max-db-size group 33554432
7456 auto-propagate group yes
7457
7458 enable-cache hosts no
7459 positive-time-to-live hosts 2592000
7460 negative-time-to-live hosts 20
7461 suggested-size hosts 211
7462 check-files hosts yes
7463 persistent hosts yes
7464 shared hosts yes
7465 max-db-size hosts 33554432
7466
7467 enable-cache services yes
7468 positive-time-to-live services 2592000
7469 negative-time-to-live services 20
7470 suggested-size services 211
7471 check-files services yes
7472 persistent services yes
7473 shared services yes
7474 max-db-size services 33554432
7475 &lt;/pre&gt;&lt;/blockquote&gt;
7476
7477 &lt;p&gt;While we wait for a mechanism to update /etc/nsswitch.conf
7478 automatically like the one provided in
7479 &lt;a href=&quot;http://bugs.debian.org/496915&quot;&gt;bug #496915&lt;/a&gt;, the file
7480 content need to be manually replaced to ensure LDAP is used as the
7481 directory service on the machine. /etc/nsswitch.conf should normally
7482 look like this:&lt;/p&gt;
7483
7484 &lt;blockquote&gt;&lt;pre&gt;
7485 passwd: files ldap
7486 group: files ldap
7487 shadow: files ldap
7488 hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
7489 networks: files
7490 protocols: files
7491 services: files
7492 ethers: files
7493 rpc: files
7494 netgroup: files ldap
7495 &lt;/pre&gt;&lt;/blockquote&gt;
7496
7497 &lt;p&gt;The important parts are that ldap is listed last for passwd, group,
7498 shadow and netgroup.&lt;/p&gt;
7499
7500 &lt;p&gt;With these changes in place, any user in LDAP will be able to log
7501 in locally on the machine using for example kdm, get a local home
7502 directory created and have the password as well as user and group
7503 attributes cached.
7504
7505 &lt;h2&gt;LDAP/Kerberos + nss-updatedb + libpam-ccreds +
7506 libpam-mklocaluser/pam_mkhomedir&lt;/h2&gt;
7507
7508 &lt;p&gt;Because nscd have had its share of problems, and seem to have
7509 problems doing proper caching, I&#39;ve seen suggestions and recipes to
7510 use nss-updatedb to copy parts of the LDAP database locally when the
7511 LDAP database is available. I have not tested such setup, because I
7512 discovered sssd.&lt;/p&gt;
7513
7514 &lt;h2&gt;LDAP/Kerberos + sssd + libpam-mklocaluser&lt;/h2&gt;
7515
7516 &lt;p&gt;A more flexible and robust setup than the nscd combination
7517 mentioned earlier that has shown up recently, is the
7518 &lt;a href=&quot;https://fedorahosted.org/sssd/&quot;&gt;sssd&lt;/a&gt; package from Redhat.
7519 It is part of the &lt;a href=&quot;http://www.freeipa.org/&quot;&gt;FreeIPA&lt;/A&gt; project
7520 to provide a Active Directory like directory service for Linux
7521 machines. The sssd system combines the caching of passwords and user
7522 information into one package, and remove the need for nscd and
7523 libpam-ccreds. It support LDAP and Kerberos, but not NIS. Version
7524 1.2 do not support netgroups, but it is said that it will support this
7525 in version 1.5 expected to show up later in 2010. Because the
7526 &lt;a href=&quot;http://packages.qa.debian.org/s/sssd.html&quot;&gt;sssd package&lt;/a&gt;
7527 was missing in Debian, I ended up co-maintaining it with Werner, and
7528 version 1.2 is now in testing.
7529
7530 &lt;p&gt;These packages need to be installed and configured to get the
7531 roaming setup I want&lt;/p&gt;
7532
7533 &lt;blockquote&gt;&lt;pre&gt;
7534 libpam-sss libnss-sss libpam-mklocaluser
7535 &lt;/pre&gt;&lt;/blockquote&gt;
7536
7537 The complete setup of sssd is done by editing/creating
7538 &lt;tt&gt;/etc/sssd/sssd.conf&lt;/tt&gt;.
7539
7540 &lt;blockquote&gt;&lt;pre&gt;
7541 [sssd]
7542 config_file_version = 2
7543 reconnection_retries = 3
7544 sbus_timeout = 30
7545 services = nss, pam
7546 domains = INTERN
7547
7548 [nss]
7549 filter_groups = root
7550 filter_users = root
7551 reconnection_retries = 3
7552
7553 [pam]
7554 reconnection_retries = 3
7555
7556 [domain/INTERN]
7557 enumerate = false
7558 cache_credentials = true
7559
7560 id_provider = ldap
7561 auth_provider = ldap
7562 chpass_provider = ldap
7563
7564 ldap_uri = ldap://ldap
7565 ldap_search_base = dc=skole,dc=skolelinux,dc=no
7566 ldap_tls_reqcert = never
7567 ldap_tls_cacert = /etc/ssl/certs/ca-certificates.crt
7568 &lt;/pre&gt;&lt;/blockquote&gt;
7569
7570 &lt;p&gt;I got the same problem here with certificate checking. Had to set
7571 &quot;ldap_tls_reqcert = never&quot; to get it working.&lt;/p&gt;
7572
7573 &lt;p&gt;With the libnss-sss package in testing at the moment, the
7574 nsswitch.conf file is update automatically, so there is no need to
7575 modify it manually.&lt;/p&gt;
7576
7577 &lt;p&gt;If you want to help out with implementing this for Debian Edu,
7578 please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
7579 </description>
7580 </item>
7581
7582 <item>
7583 <title>LUMA, a very nice LDAP GUI</title>
7584 <link>http://people.skolelinux.org/pere/blog/LUMA__a_very_nice_LDAP_GUI.html</link>
7585 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/LUMA__a_very_nice_LDAP_GUI.html</guid>
7586 <pubDate>Mon, 28 Jun 2010 00:30:00 +0200</pubDate>
7587 <description>&lt;p&gt;The last few days I have been looking into the status of the LDAP
7588 directory in Debian Edu, and in the process I started to miss a GUI
7589 tool to browse the LDAP tree. The only one I was able to find in
7590 Debian/Squeeze and Lenny is
7591 &lt;a href=&quot;http://luma.sourceforge.net/&quot;&gt;LUMA&lt;/a&gt;, which has proved to
7592 be a great tool to get a overview of the current LDAP directory
7593 populated by default in Skolelinux. Thanks to it, I have been able to
7594 find empty and obsolete subtrees, misplaced objects and duplicate
7595 objects. It will be installed by default in Debian/Squeeze. If you
7596 are working with LDAP, give it a go. :)&lt;/p&gt;
7597
7598 &lt;p&gt;I did notice one problem with it I have not had time to report to
7599 the BTS yet. There is no .desktop file in the package, so the tool do
7600 not show up in the Gnome and KDE menus, but only deep down in in the
7601 Debian submenu in KDE. I hope that can be fixed before Squeeze is
7602 released.&lt;/p&gt;
7603
7604 &lt;p&gt;I have not yet been able to get it to modify the tree yet. I would
7605 like to move objects and remove subtrees directly in the GUI, but have
7606 not found a way to do that with LUMA yet. So in the mean time, I use
7607 &lt;a href=&quot;http://www.lichteblau.com/ldapvi/&quot;&gt;ldapvi&lt;/a&gt; for that.&lt;/p&gt;
7608
7609 &lt;p&gt;If you have tips on other GUI tools for LDAP that might be useful
7610 in Debian Edu, please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
7611
7612 &lt;p&gt;Update 2010-06-29: Ross Reedstrom tipped us about the
7613 &lt;a href=&quot;http://packages.qa.debian.org/g/gq.html&quot;&gt;gq&lt;/a&gt; package as a
7614 useful GUI alternative. It seem like a good tool, but is unmaintained
7615 in Debian and got a RC bug keeping it out of Squeeze. Unless that
7616 changes, it will not be an option for Debian Edu based on Squeeze.&lt;/p&gt;
7617 </description>
7618 </item>
7619
7620 <item>
7621 <title>Idea for a change to LDAP schemas allowing DNS and DHCP info to be combined into one object</title>
7622 <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>
7623 <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>
7624 <pubDate>Thu, 24 Jun 2010 00:35:00 +0200</pubDate>
7625 <description>&lt;p&gt;A while back, I
7626 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html&quot;&gt;complained
7627 about the fact&lt;/a&gt; that it is not possible with the provided schemas
7628 for storing DNS and DHCP information in LDAP to combine the two sets
7629 of information into one LDAP object representing a computer.&lt;/p&gt;
7630
7631 &lt;p&gt;In the mean time, I discovered that a simple fix would be to make
7632 the dhcpHost object class auxiliary, to allow it to be combined with
7633 the dNSDomain object class, and thus forming one object for one
7634 computer when storing both DHCP and DNS information in LDAP.&lt;/p&gt;
7635
7636 &lt;p&gt;If I understand this correctly, it is not safe to do this change
7637 without also changing the assigned number for the object class, and I
7638 do not know enough about LDAP schema design to do that properly for
7639 Debian Edu.&lt;/p&gt;
7640
7641 &lt;p&gt;Anyway, for future reference, this is how I believe we could change
7642 the
7643 &lt;a href=&quot;http://tools.ietf.org/html/draft-ietf-dhc-ldap-schema-00&quot;&gt;DHCP
7644 schema&lt;/a&gt; to solve at least part of the problem with the LDAP schemas
7645 available today from IETF.&lt;/p&gt;
7646
7647 &lt;pre&gt;
7648 --- dhcp.schema (revision 65192)
7649 +++ dhcp.schema (working copy)
7650 @@ -376,7 +376,7 @@
7651 objectclass ( 2.16.840.1.113719.1.203.6.6
7652 NAME &#39;dhcpHost&#39;
7653 DESC &#39;This represents information about a particular client&#39;
7654 - SUP top
7655 + SUP top AUXILIARY
7656 MUST cn
7657 MAY (dhcpLeaseDN $ dhcpHWAddress $ dhcpOptionsDN $ dhcpStatements $ dhcpComments $ dhcpOption)
7658 X-NDS_CONTAINMENT (&#39;dhcpService&#39; &#39;dhcpSubnet&#39; &#39;dhcpGroup&#39;) )
7659 &lt;/pre&gt;
7660
7661 &lt;p&gt;I very much welcome clues on how to do this properly for Debian
7662 Edu/Squeeze. We provide the DHCP schema in our debian-edu-config
7663 package, and should thus be free to rewrite it as we see fit.&lt;/p&gt;
7664
7665 &lt;p&gt;If you want to help out with implementing this for Debian Edu,
7666 please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
7667 </description>
7668 </item>
7669
7670 <item>
7671 <title>Calling tasksel like the installer, while still getting useful output</title>
7672 <link>http://people.skolelinux.org/pere/blog/Calling_tasksel_like_the_installer__while_still_getting_useful_output.html</link>
7673 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Calling_tasksel_like_the_installer__while_still_getting_useful_output.html</guid>
7674 <pubDate>Wed, 16 Jun 2010 14:55:00 +0200</pubDate>
7675 <description>&lt;p&gt;A few times I have had the need to simulate the way tasksel
7676 installs packages during the normal debian-installer run. Until now,
7677 I have ended up letting tasksel do the work, with the annoying problem
7678 of not getting any feedback at all when something fails (like a
7679 conffile question from dpkg or a download that fails), using code like
7680 this:
7681
7682 &lt;blockquote&gt;&lt;pre&gt;
7683 export DEBIAN_FRONTEND=noninteractive
7684 tasksel --new-install
7685 &lt;/pre&gt;&lt;/blockquote&gt;
7686
7687 This would invoke tasksel, let its automatic task selection pick the
7688 tasks to install, and continue to install the requested tasks without
7689 any output what so ever.
7690
7691 Recently I revisited this problem while working on the automatic
7692 package upgrade testing, because tasksel would some times hang without
7693 any useful feedback, and I want to see what is going on when it
7694 happen. Then it occured to me, I can parse the output from tasksel
7695 when asked to run in test mode, and use that aptitude command line
7696 printed by tasksel then to simulate the tasksel run. I ended up using
7697 code like this:
7698
7699 &lt;blockquote&gt;&lt;pre&gt;
7700 export DEBIAN_FRONTEND=noninteractive
7701 cmd=&quot;$(in_target tasksel -t --new-install | sed &#39;s/debconf-apt-progress -- //&#39;)&quot;
7702 $cmd
7703 &lt;/pre&gt;&lt;/blockquote&gt;
7704
7705 &lt;p&gt;The content of $cmd is typically something like &quot;&lt;tt&gt;aptitude -q
7706 --without-recommends -o APT::Install-Recommends=no -y install
7707 ~t^desktop$ ~t^gnome-desktop$ ~t^laptop$ ~pstandard ~prequired
7708 ~pimportant&lt;/tt&gt;&quot;, which will install the gnome desktop task, the
7709 laptop task and all packages with priority standard , required and
7710 important, just like tasksel would have done it during
7711 installation.&lt;/p&gt;
7712
7713 &lt;p&gt;A better approach is probably to extend tasksel to be able to
7714 install packages without using debconf-apt-progress, for use cases
7715 like this.&lt;/p&gt;
7716 </description>
7717 </item>
7718
7719 <item>
7720 <title>Officeshots taking shape</title>
7721 <link>http://people.skolelinux.org/pere/blog/Officeshots_taking_shape.html</link>
7722 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Officeshots_taking_shape.html</guid>
7723 <pubDate>Sun, 13 Jun 2010 11:40:00 +0200</pubDate>
7724 <description>&lt;p&gt;For those of us caring about document exchange and
7725 interoperability, &lt;a href=&quot;http://www.officeshots.org/&quot;&gt;OfficeShots&lt;/a&gt;
7726 is a great service. It is to ODF documents what
7727 &lt;a href=&quot;http://browsershots.org/&quot;&gt;BrowserShots&lt;/a&gt; is for web
7728 pages.&lt;/p&gt;
7729
7730 &lt;p&gt;A while back, I was contacted by Knut Yrvin at the part of Nokia
7731 that used to be Trolltech, who wanted to help the OfficeShots project
7732 and wondered if the University of Oslo where I work would be
7733 interested in supporting the project. I helped him to navigate his
7734 request to the right people at work, and his request was answered with
7735 a spot in the machine room with power and network connected, and Knut
7736 arranged funding for a machine to fill the spot. The machine is
7737 administrated by the OfficeShots people, so I do not have daily
7738 contact with its progress, and thus from time to time check back to
7739 see how the project is doing.&lt;/p&gt;
7740
7741 &lt;p&gt;Today I had a look, and was happy to see that the Dell box in our
7742 machine room now is the host for several virtual machines running as
7743 OfficeShots factories, and the project is able to render ODF documents
7744 in 17 different document processing implementation on Linux and
7745 Windows. This is great.&lt;/p&gt;
7746 </description>
7747 </item>
7748
7749 <item>
7750 <title>Lenny-&gt;Squeeze upgrades, removals by apt and aptitude</title>
7751 <link>http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__removals_by_apt_and_aptitude.html</link>
7752 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__removals_by_apt_and_aptitude.html</guid>
7753 <pubDate>Sun, 13 Jun 2010 09:05:00 +0200</pubDate>
7754 <description>&lt;p&gt;My
7755 &lt;a href=&quot;http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html&quot;&gt;testing
7756 of Debian upgrades&lt;/a&gt; from Lenny to Squeeze continues, and I&#39;ve
7757 finally made the upgrade logs available from
7758 &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;.
7759 I am now testing dist-upgrade of Gnome and KDE in a chroot using both
7760 apt and aptitude, and found their differences interesting. This time
7761 I will only focus on their removal plans.&lt;/p&gt;
7762
7763 &lt;p&gt;After installing a Gnome desktop and the laptop task, apt-get wants
7764 to remove 72 packages when dist-upgrading from Lenny to Squeeze. The
7765 surprising part is that it want to remove xorg and all
7766 xserver-xorg-video* drivers. Clearly not a good choice, but I am not
7767 sure why. When asking aptitude to do the same, it want to remove 129
7768 packages, but most of them are library packages I suspect are no
7769 longer needed. Both of them want to remove bluetooth packages, which
7770 I do not know. Perhaps these bluetooth packages are obsolete?&lt;/p&gt;
7771
7772 &lt;p&gt;For KDE, apt-get want to remove 82 packages, among them kdebase
7773 which seem like a bad idea and xorg the same way as with Gnome. Asking
7774 aptitude for the same, it wants to remove 192 packages, none which are
7775 too surprising.&lt;/p&gt;
7776
7777 &lt;p&gt;I guess the removal of xorg during upgrades should be investigated
7778 and avoided, and perhaps others as well. Here are the complete list
7779 of planned removals. The complete logs is available from the URL
7780 above. Note if you want to repeat these tests, that the upgrade test
7781 for kde+apt-get hung in the tasksel setup because of dpkg asking
7782 conffile questions. No idea why. I worked around it by using
7783 &#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
7784 continue.&lt;/p&gt;
7785
7786 &lt;p&gt;&lt;b&gt;apt-get gnome 72&lt;/b&gt;
7787 &lt;br&gt;bluez-gnome cupsddk-drivers deskbar-applet gnome
7788 gnome-desktop-environment gnome-network-admin gtkhtml3.14
7789 iceweasel-gnome-support libavcodec51 libdatrie0 libgdl-1-0
7790 libgnomekbd2 libgnomekbdui2 libmetacity0 libslab0 libxcb-xlib0
7791 nautilus-cd-burner python-gnome2-desktop python-gnome2-extras
7792 serpentine swfdec-mozilla update-manager xorg xserver-xorg
7793 xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-evdev
7794 xserver-xorg-input-kbd xserver-xorg-input-mouse
7795 xserver-xorg-input-synaptics xserver-xorg-input-wacom
7796 xserver-xorg-video-all xserver-xorg-video-apm xserver-xorg-video-ark
7797 xserver-xorg-video-ati xserver-xorg-video-chips
7798 xserver-xorg-video-cirrus xserver-xorg-video-cyrix
7799 xserver-xorg-video-dummy xserver-xorg-video-fbdev
7800 xserver-xorg-video-glint xserver-xorg-video-i128
7801 xserver-xorg-video-i740 xserver-xorg-video-imstt
7802 xserver-xorg-video-intel xserver-xorg-video-mach64
7803 xserver-xorg-video-mga xserver-xorg-video-neomagic
7804 xserver-xorg-video-nsc xserver-xorg-video-nv
7805 xserver-xorg-video-openchrome xserver-xorg-video-r128
7806 xserver-xorg-video-radeon xserver-xorg-video-radeonhd
7807 xserver-xorg-video-rendition xserver-xorg-video-s3
7808 xserver-xorg-video-s3virge xserver-xorg-video-savage
7809 xserver-xorg-video-siliconmotion xserver-xorg-video-sis
7810 xserver-xorg-video-sisusb xserver-xorg-video-tdfx
7811 xserver-xorg-video-tga xserver-xorg-video-trident
7812 xserver-xorg-video-tseng xserver-xorg-video-v4l
7813 xserver-xorg-video-vesa xserver-xorg-video-vga
7814 xserver-xorg-video-vmware xserver-xorg-video-voodoo xulrunner-1.9
7815 xulrunner-1.9-gnome-support&lt;/p&gt;
7816
7817 &lt;p&gt;&lt;b&gt;aptitude gnome 129&lt;/b&gt;
7818
7819 &lt;br&gt;bluez-gnome bluez-utils cpp-4.3 cupsddk-drivers dhcdbd
7820 djvulibre-desktop finger gnome-app-install gnome-mount
7821 gnome-network-admin gnome-spell gnome-vfs-obexftp
7822 gnome-volume-manager gstreamer0.10-gnomevfs gtkhtml3.14 libao2
7823 libavahi-compat-libdnssd1 libavahi-core5 libavcodec51 libbluetooth2
7824 libcamel1.2-11 libcdio7 libcucul0 libcupsys2 libcurl3 libdatrie0
7825 libdirectfb-1.0-0 libdvdread3 libedataserver1.2-9 libeel2-2.20
7826 libeel2-data libepc-1.0-1 libepc-ui-1.0-1 libfaad0 libgail-common
7827 libgd2-noxpm libgda3-3 libgda3-common libgdl-1-0 libgdl-1-common
7828 libggz2 libggzcore9 libggzmod4 libgksu1.2-0 libgksuui1.0-1 libgmyth0
7829 libgnomecups1.0-1 libgnomekbd2 libgnomekbdui2 libgnomeprint2.2-0
7830 libgnomeprint2.2-data libgnomeprintui2.2-0 libgnomeprintui2.2-common
7831 libgnomevfs2-bin libgpod3 libgraphviz4 libgtkhtml2-0
7832 libgtksourceview-common libgtksourceview1.0-0 libgucharmap6
7833 libhesiod0 libicu38 libiw29 libkpathsea4 libltdl3 libmagick++10
7834 libmagick10 libmalaga7 libmetacity0 libmtp7 libmysqlclient15off
7835 libnautilus-burn4 libneon27 libnm-glib0 libnm-util0 libopal-2.2
7836 libosp5 libparted1.8-10 libpoppler-glib3 libpoppler3 libpt-1.10.10
7837 libpt-1.10.10-plugins-alsa libpt-1.10.10-plugins-v4l libraw1394-8
7838 libsensors3 libslab0 libsmbios2 libsoup2.2-8 libssh2-1
7839 libsuitesparse-3.1.0 libswfdec-0.6-90 libtalloc1 libtotem-plparser10
7840 libtrackerclient0 libxalan2-java libxalan2-java-gcj libxcb-xlib0
7841 libxerces2-java libxerces2-java-gcj libxklavier12 libxtrap6
7842 libxxf86misc1 libzephyr3 mysql-common nautilus-cd-burner
7843 openoffice.org-writer2latex openssl-blacklist p7zip
7844 python-4suite-xml python-eggtrayicon python-gnome2-desktop
7845 python-gnome2-extras python-gtkhtml2 python-gtkmozembed
7846 python-numeric python-sexy serpentine svgalibg1 swfdec-gnome
7847 swfdec-mozilla totem-gstreamer update-manager wodim
7848 xserver-xorg-video-cyrix xserver-xorg-video-imstt
7849 xserver-xorg-video-nsc xserver-xorg-video-v4l xserver-xorg-video-vga
7850 zip&lt;/p&gt;
7851
7852 &lt;p&gt;&lt;b&gt;apt-get kde 82&lt;/b&gt;
7853
7854 &lt;br&gt;cupsddk-drivers karm kaudiocreator kcoloredit kcontrol kde kde-core
7855 kdeaddons kdeartwork kdebase kdebase-bin kdebase-bin-kde3
7856 kdebase-kio-plugins kdesktop kdeutils khelpcenter kicker
7857 kicker-applets knewsticker kolourpaint konq-plugins konqueror korn
7858 kpersonalizer kscreensaver ksplash libavcodec51 libdatrie0 libkiten1
7859 libxcb-xlib0 quanta superkaramba texlive-base-bin xorg xserver-xorg
7860 xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-evdev
7861 xserver-xorg-input-kbd xserver-xorg-input-mouse
7862 xserver-xorg-input-synaptics xserver-xorg-input-wacom
7863 xserver-xorg-video-all xserver-xorg-video-apm xserver-xorg-video-ark
7864 xserver-xorg-video-ati xserver-xorg-video-chips
7865 xserver-xorg-video-cirrus xserver-xorg-video-cyrix
7866 xserver-xorg-video-dummy xserver-xorg-video-fbdev
7867 xserver-xorg-video-glint xserver-xorg-video-i128
7868 xserver-xorg-video-i740 xserver-xorg-video-imstt
7869 xserver-xorg-video-intel xserver-xorg-video-mach64
7870 xserver-xorg-video-mga xserver-xorg-video-neomagic
7871 xserver-xorg-video-nsc xserver-xorg-video-nv
7872 xserver-xorg-video-openchrome xserver-xorg-video-r128
7873 xserver-xorg-video-radeon xserver-xorg-video-radeonhd
7874 xserver-xorg-video-rendition xserver-xorg-video-s3
7875 xserver-xorg-video-s3virge xserver-xorg-video-savage
7876 xserver-xorg-video-siliconmotion xserver-xorg-video-sis
7877 xserver-xorg-video-sisusb xserver-xorg-video-tdfx
7878 xserver-xorg-video-tga xserver-xorg-video-trident
7879 xserver-xorg-video-tseng xserver-xorg-video-v4l
7880 xserver-xorg-video-vesa xserver-xorg-video-vga
7881 xserver-xorg-video-vmware xserver-xorg-video-voodoo xulrunner-1.9&lt;/p&gt;
7882
7883 &lt;p&gt;&lt;b&gt;aptitude kde 192&lt;/b&gt;
7884 &lt;br&gt;bluez-utils cpp-4.3 cupsddk-drivers cvs dcoprss dhcdbd
7885 djvulibre-desktop dosfstools eyesapplet fifteenapplet finger gettext
7886 ghostscript-x imlib-base imlib11 indi kandy karm kasteroids
7887 kaudiocreator kbackgammon kbstate kcoloredit kcontrol kcron kdat
7888 kdeadmin-kfile-plugins kdeartwork-misc kdeartwork-theme-window
7889 kdebase-bin-kde3 kdebase-kio-plugins kdeedu-data
7890 kdegraphics-kfile-plugins kdelirc kdemultimedia-kappfinder-data
7891 kdemultimedia-kfile-plugins kdenetwork-kfile-plugins
7892 kdepim-kfile-plugins kdepim-kio-plugins kdeprint kdesktop kdessh
7893 kdict kdnssd kdvi kedit keduca kenolaba kfax kfaxview kfouleggs
7894 kghostview khelpcenter khexedit kiconedit kitchensync klatin
7895 klickety kmailcvt kmenuedit kmid kmilo kmoon kmrml kodo kolourpaint
7896 kooka korn kpager kpdf kpercentage kpf kpilot kpoker kpovmodeler
7897 krec kregexpeditor ksayit ksim ksirc ksirtet ksmiletris ksmserver
7898 ksnake ksokoban ksplash ksvg ksysv ktip ktnef kuickshow kverbos
7899 kview kviewshell kvoctrain kwifimanager kwin kwin4 kworldclock
7900 kxsldbg libakode2 libao2 libarts1-akode libarts1-audiofile
7901 libarts1-mpeglib libarts1-xine libavahi-compat-libdnssd1
7902 libavahi-core5 libavc1394-0 libavcodec51 libbluetooth2
7903 libboost-python1.34.1 libcucul0 libcurl3 libcvsservice0 libdatrie0
7904 libdirectfb-1.0-0 libdjvulibre21 libdvdread3 libfaad0 libfreebob0
7905 libgail-common libgd2-noxpm libgraphviz4 libgsmme1c2a libgtkhtml2-0
7906 libicu38 libiec61883-0 libindex0 libiw29 libk3b3 libkcal2b libkcddb1
7907 libkdeedu3 libkdepim1a libkgantt0 libkiten1 libkleopatra1 libkmime2
7908 libkpathsea4 libkpimexchange1 libkpimidentities1 libkscan1
7909 libksieve0 libktnef1 liblockdev1 libltdl3 libmagick10 libmimelib1c2a
7910 libmozjs1d libmpcdec3 libneon27 libnm-util0 libopensync0 libpisock9
7911 libpoppler-glib3 libpoppler-qt2 libpoppler3 libraw1394-8 libsmbios2
7912 libssh2-1 libsuitesparse-3.1.0 libtalloc1 libtiff-tools
7913 libxalan2-java libxalan2-java-gcj libxcb-xlib0 libxerces2-java
7914 libxerces2-java-gcj libxtrap6 mpeglib networkstatus
7915 openoffice.org-writer2latex pmount poster psutils quanta quanta-data
7916 superkaramba svgalibg1 tex-common texlive-base texlive-base-bin
7917 texlive-common texlive-doc-base texlive-fonts-recommended
7918 xserver-xorg-video-cyrix xserver-xorg-video-imstt
7919 xserver-xorg-video-nsc xserver-xorg-video-v4l xserver-xorg-video-vga
7920 xulrunner-1.9&lt;/p&gt;
7921
7922 </description>
7923 </item>
7924
7925 <item>
7926 <title>Automatic upgrade testing from Lenny to Squeeze</title>
7927 <link>http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html</link>
7928 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html</guid>
7929 <pubDate>Fri, 11 Jun 2010 22:50:00 +0200</pubDate>
7930 <description>&lt;p&gt;The last few days I have done some upgrade testing in Debian, to
7931 see if the upgrade from Lenny to Squeeze will go smoothly. A few bugs
7932 have been discovered and reported in the process
7933 (&lt;a href=&quot;http://bugs.debian.org/585410&quot;&gt;#585410&lt;/a&gt; in nagios3-cgi,
7934 &lt;a href=&quot;http://bugs.debian.org/584879&quot;&gt;#584879&lt;/a&gt; already fixed in
7935 enscript and &lt;a href=&quot;http://bugs.debian.org/584861&quot;&gt;#584861&lt;/a&gt; in
7936 kdebase-workspace-data), and to get a more regular testing going on, I
7937 am working on a script to automate the test.&lt;/p&gt;
7938
7939 &lt;p&gt;The idea is to create a Lenny chroot and use tasksel to install a
7940 Gnome or KDE desktop installation inside the chroot before upgrading
7941 it. To ensure no services are started in the chroot, a policy-rc.d
7942 script is inserted. To make sure tasksel believe it is to install a
7943 desktop on a laptop, the tasksel tests are replaced in the chroot
7944 (only acceptable because this is a throw-away chroot).&lt;/p&gt;
7945
7946 &lt;p&gt;A naive upgrade from Lenny to Squeeze using aptitude dist-upgrade
7947 currently always fail because udev refuses to upgrade with the kernel
7948 in Lenny, so to avoid that problem the file /etc/udev/kernel-upgrade
7949 is created. The bug report
7950 &lt;a href=&quot;http://bugs.debian.org/566000&quot;&gt;#566000&lt;/a&gt; make me suspect
7951 this problem do not trigger in a chroot, but I touch the file anyway
7952 to make sure the upgrade go well. Testing on virtual and real
7953 hardware have failed me because of udev so far, and creating this file
7954 do the trick in such settings anyway. This is a
7955 &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
7956 issue&lt;/a&gt; and the current udev behaviour is intended by the udev
7957 maintainer because he lack the resources to rewrite udev to keep
7958 working with old kernels or something like that. I really wish the
7959 udev upstream would keep udev backwards compatible, to avoid such
7960 upgrade problem, but given that they fail to do so, I guess
7961 documenting the way out of this mess is the best option we got for
7962 Debian Squeeze.&lt;/p&gt;
7963
7964 &lt;p&gt;Anyway, back to the task at hand, testing upgrades. This test
7965 script, which I call &lt;tt&gt;upgrade-test&lt;/tt&gt; for now, is doing the
7966 trick:&lt;/p&gt;
7967
7968 &lt;blockquote&gt;&lt;pre&gt;
7969 #!/bin/sh
7970 set -ex
7971
7972 if [ &quot;$1&quot; ] ; then
7973 desktop=$1
7974 else
7975 desktop=gnome
7976 fi
7977
7978 from=lenny
7979 to=squeeze
7980
7981 exec &amp;lt; /dev/null
7982 unset LANG
7983 mirror=http://ftp.skolelinux.org/debian
7984 tmpdir=chroot-$from-upgrade-$to-$desktop
7985 fuser -mv .
7986 debootstrap $from $tmpdir $mirror
7987 chroot $tmpdir aptitude update
7988 cat &gt; $tmpdir/usr/sbin/policy-rc.d &amp;lt;&amp;lt;EOF
7989 #!/bin/sh
7990 exit 101
7991 EOF
7992 chmod a+rx $tmpdir/usr/sbin/policy-rc.d
7993 exit_cleanup() {
7994 umount $tmpdir/proc
7995 }
7996 mount -t proc proc $tmpdir/proc
7997 # Make sure proc is unmounted also on failure
7998 trap exit_cleanup EXIT INT
7999
8000 chroot $tmpdir aptitude -y install debconf-utils
8001
8002 # Make sure tasksel autoselection trigger. It need the test scripts
8003 # to return the correct answers.
8004 echo tasksel tasksel/desktop multiselect $desktop | \
8005 chroot $tmpdir debconf-set-selections
8006
8007 # Include the desktop and laptop task
8008 for test in desktop laptop ; do
8009 echo &gt; $tmpdir/usr/lib/tasksel/tests/$test &amp;lt;&amp;lt;EOF
8010 #!/bin/sh
8011 exit 2
8012 EOF
8013 chmod a+rx $tmpdir/usr/lib/tasksel/tests/$test
8014 done
8015
8016 DEBIAN_FRONTEND=noninteractive
8017 DEBIAN_PRIORITY=critical
8018 export DEBIAN_FRONTEND DEBIAN_PRIORITY
8019 chroot $tmpdir tasksel --new-install
8020
8021 echo deb $mirror $to main &gt; $tmpdir/etc/apt/sources.list
8022 chroot $tmpdir aptitude update
8023 touch $tmpdir/etc/udev/kernel-upgrade
8024 chroot $tmpdir aptitude -y dist-upgrade
8025 fuser -mv
8026 &lt;/pre&gt;&lt;/blockquote&gt;
8027
8028 &lt;p&gt;I suspect it would be useful to test upgrades with both apt-get and
8029 with aptitude, but I have not had time to look at how they behave
8030 differently so far. I hope to get a cron job running to do the test
8031 regularly and post the result on the web. The Gnome upgrade currently
8032 work, while the KDE upgrade fail because of the bug in
8033 kdebase-workspace-data&lt;/p&gt;
8034
8035 &lt;p&gt;I am not quite sure what kind of extract from the huge upgrade logs
8036 (KDE 167 KiB, Gnome 516 KiB) it make sense to include in this blog
8037 post, so I will refrain from trying. I can report that for Gnome,
8038 aptitude report 760 packages upgraded, 448 newly installed, 129 to
8039 remove and 1 not upgraded and 1024MB need to be downloaded while for
8040 KDE the same numbers are 702 packages upgraded, 507 newly installed,
8041 193 to remove and 0 not upgraded and 1117MB need to be downloaded&lt;/p&gt;
8042
8043 &lt;p&gt;I am very happy to notice that the Gnome desktop + laptop upgrade
8044 is able to migrate to dependency based boot sequencing and parallel
8045 booting without a hitch. Was unsure if there were still bugs with
8046 packages failing to clean up their obsolete init.d script during
8047 upgrades, and no such problem seem to affect the Gnome desktop+laptop
8048 packages.&lt;/p&gt;
8049 </description>
8050 </item>
8051
8052 <item>
8053 <title>Upstart or sysvinit - as init.d scripts see it</title>
8054 <link>http://people.skolelinux.org/pere/blog/Upstart_or_sysvinit___as_init_d_scripts_see_it.html</link>
8055 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Upstart_or_sysvinit___as_init_d_scripts_see_it.html</guid>
8056 <pubDate>Sun, 6 Jun 2010 23:55:00 +0200</pubDate>
8057 <description>&lt;p&gt;If Debian is to migrate to upstart on Linux, I expect some init.d
8058 scripts to migrate (some of) their operations to upstart job while
8059 keeping the init.d for hurd and kfreebsd. The packages with such
8060 needs will need a way to get their init.d scripts to behave
8061 differently when used with sysvinit and with upstart. Because of
8062 this, I had a look at the environment variables set when a init.d
8063 script is running under upstart, and when it is not.&lt;/p&gt;
8064
8065 &lt;p&gt;With upstart, I notice these environment variables are set when a
8066 script is started from rcS.d/ (ignoring some irrelevant ones like
8067 COLUMNS):&lt;/p&gt;
8068
8069 &lt;blockquote&gt;&lt;pre&gt;
8070 DEFAULT_RUNLEVEL=2
8071 previous=N
8072 PREVLEVEL=
8073 RUNLEVEL=
8074 runlevel=S
8075 UPSTART_EVENTS=startup
8076 UPSTART_INSTANCE=
8077 UPSTART_JOB=rc-sysinit
8078 &lt;/pre&gt;&lt;/blockquote&gt;
8079
8080 &lt;p&gt;With sysvinit, these environment variables are set for the same
8081 script.&lt;/p&gt;
8082
8083 &lt;blockquote&gt;&lt;pre&gt;
8084 INIT_VERSION=sysvinit-2.88
8085 previous=N
8086 PREVLEVEL=N
8087 RUNLEVEL=S
8088 runlevel=S
8089 &lt;/pre&gt;&lt;/blockquote&gt;
8090
8091 &lt;p&gt;The RUNLEVEL and PREVLEVEL environment variables passed on from
8092 sysvinit are not set by upstart. Not sure if it is intentional or not
8093 to not be compatible with sysvinit in this regard.&lt;/p&gt;
8094
8095 &lt;p&gt;For scripts needing to behave differently when upstart is used,
8096 looking for the UPSTART_JOB environment variable seem to be a good
8097 choice.&lt;/p&gt;
8098 </description>
8099 </item>
8100
8101 <item>
8102 <title>A manual for standards wars...</title>
8103 <link>http://people.skolelinux.org/pere/blog/A_manual_for_standards_wars___.html</link>
8104 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/A_manual_for_standards_wars___.html</guid>
8105 <pubDate>Sun, 6 Jun 2010 14:15:00 +0200</pubDate>
8106 <description>&lt;p&gt;Via the
8107 &lt;a href=&quot;http://feedproxy.google.com/~r/robweir/antic-atom/~3/QzU4RgoAGMg/weekly-links-10.html&quot;&gt;blog
8108 of Rob Weir&lt;/a&gt; I came across the very interesting essay named
8109 &lt;a href=&quot;http://faculty.haas.berkeley.edu/shapiro/wars.pdf&quot;&gt;The Art of
8110 Standards Wars&lt;/a&gt; (PDF 25 pages). I recommend it for everyone
8111 following the standards wars of today.&lt;/p&gt;
8112 </description>
8113 </item>
8114
8115 <item>
8116 <title>Sitesummary tip: Listing computer hardware models used at site</title>
8117 <link>http://people.skolelinux.org/pere/blog/Sitesummary_tip__Listing_computer_hardware_models_used_at_site.html</link>
8118 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Sitesummary_tip__Listing_computer_hardware_models_used_at_site.html</guid>
8119 <pubDate>Thu, 3 Jun 2010 12:05:00 +0200</pubDate>
8120 <description>&lt;p&gt;When using sitesummary at a site to track machines, it is possible
8121 to get a list of the machine types in use thanks to the DMI
8122 information extracted from each machine. The script to do so is
8123 included in the sitesummary package, and here is example output from
8124 the Skolelinux build servers:&lt;/p&gt;
8125
8126 &lt;blockquote&gt;&lt;pre&gt;
8127 maintainer:~# /usr/lib/sitesummary/hardware-model-summary
8128 vendor count
8129 Dell Computer Corporation 1
8130 PowerEdge 1750 1
8131 IBM 1
8132 eserver xSeries 345 -[8670M1X]- 1
8133 Intel 2
8134 [no-dmi-info] 3
8135 maintainer:~#
8136 &lt;/pre&gt;&lt;/blockquote&gt;
8137
8138 &lt;p&gt;The quality of the report depend on the quality of the DMI tables
8139 provided in each machine. Here there are Intel machines without model
8140 information listed with Intel as vendor and no model, and virtual Xen
8141 machines listed as [no-dmi-info]. One can add -l as a command line
8142 option to list the individual machines.&lt;/p&gt;
8143
8144 &lt;p&gt;A larger list is
8145 &lt;a href=&quot;http://narvikskolen.no/sitesummary/&quot;&gt;available from the the
8146 city of Narvik&lt;/a&gt;, which uses Skolelinux on all their shools and also
8147 provide the basic sitesummary report publicly. In their report there
8148 are ~1400 machines. I know they use both Ubuntu and Skolelinux on
8149 their machines, and as sitesummary is available in both distributions,
8150 it is trivial to get all of them to report to the same central
8151 collector.&lt;/p&gt;
8152 </description>
8153 </item>
8154
8155 <item>
8156 <title>KDM fail at boot with NVidia cards - and no one try to fix it?</title>
8157 <link>http://people.skolelinux.org/pere/blog/KDM_fail_at_boot_with_NVidia_cards___and_no_one_try_to_fix_it_.html</link>
8158 <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>
8159 <pubDate>Tue, 1 Jun 2010 17:05:00 +0200</pubDate>
8160 <description>&lt;p&gt;It is strange to watch how a bug in Debian causing KDM to fail to
8161 start at boot when an NVidia video card is used is handled. The
8162 problem seem to be that the nvidia X.org driver uses a long time to
8163 initialize, and this duration is longer than kdm is configured to
8164 wait.&lt;/p&gt;
8165
8166 &lt;p&gt;I came across two bugs related to this issue,
8167 &lt;a href=&quot;http://bugs.debian.org/583312&quot;&gt;#583312&lt;/a&gt; initially filed
8168 against initscripts and passed on to nvidia-glx when it became obvious
8169 that the nvidia drivers were involved, and
8170 &lt;a href=&quot;http://bugs.debian.org/524751&quot;&gt;#524751&lt;/a&gt; initially filed against
8171 kdm and passed on to src:nvidia-graphics-drivers for unknown reasons.&lt;/p&gt;
8172
8173 &lt;p&gt;To me, it seem that no-one is interested in actually solving the
8174 problem nvidia video card owners experience and make sure the Debian
8175 distribution work out of the box for these users. The nvidia driver
8176 maintainers expect kdm to be set up to wait longer, while kdm expect
8177 the nvidia driver maintainers to fix the driver to start faster, and
8178 while they wait for each other I guess the users end up switching to a
8179 distribution that work for them. I have no idea what the solution is,
8180 but I am pretty sure that waiting for each other is not it.&lt;/p&gt;
8181
8182 &lt;p&gt;I wonder why we end up handling bugs this way.&lt;/p&gt;
8183 </description>
8184 </item>
8185
8186 <item>
8187 <title>Parallellized boot seem to hold up well in Debian/testing</title>
8188 <link>http://people.skolelinux.org/pere/blog/Parallellized_boot_seem_to_hold_up_well_in_Debian_testing.html</link>
8189 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Parallellized_boot_seem_to_hold_up_well_in_Debian_testing.html</guid>
8190 <pubDate>Thu, 27 May 2010 23:55:00 +0200</pubDate>
8191 <description>&lt;p&gt;A few days ago, parallel booting was enabled in Debian/testing.
8192 The feature seem to hold up pretty well, but three fairly serious
8193 issues are known and should be solved:
8194
8195 &lt;p&gt;&lt;ul&gt;
8196
8197 &lt;li&gt;The wicd package seen to
8198 &lt;a href=&quot;http://bugs.debian.org/508289&quot;&gt;break NFS mounting&lt;/a&gt; and
8199 &lt;a href=&quot;http://bugs.debian.org/581586&quot;&gt;network setup&lt;/a&gt; when
8200 parallel booting is enabled. No idea why, but the wicd maintainer
8201 seem to be on the case.&lt;/li&gt;
8202
8203 &lt;li&gt;The nvidia X driver seem to
8204 &lt;a href=&quot;http://bugs.debian.org/583312&quot;&gt;have a race condition&lt;/a&gt;
8205 triggered more easily when parallel booting is in effect. The
8206 maintainer is on the case.&lt;/li&gt;
8207
8208 &lt;li&gt;The sysv-rc package fail to properly enable dependency based boot
8209 sequencing (the shutdown is broken) when old file-rc users
8210 &lt;a href=&quot;http://bugs.debian.org/575080&quot;&gt;try to switch back&lt;/a&gt; to
8211 sysv-rc. One way to solve it would be for file-rc to create
8212 /etc/init.d/.legacy-bootordering, and another is to try to make
8213 sysv-rc more robust. Will investigate some more and probably upload a
8214 workaround in sysv-rc to help those trying to move from file-rc to
8215 sysv-rc get a working shutdown.&lt;/li&gt;
8216
8217 &lt;/ul&gt;&lt;/p&gt;
8218
8219 &lt;p&gt;All in all not many surprising issues, and all of them seem
8220 solvable before Squeeze is released. In addition to these there are
8221 some packages with bugs in their dependencies and run level settings,
8222 which I expect will be fixed in a reasonable time span.&lt;/p&gt;
8223
8224 &lt;p&gt;If you report any problems with dependencies in init.d scripts to
8225 the BTS, please usertag the report to get it to show up at
8226 &lt;a href=&quot;http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org&quot;&gt;the
8227 list of usertagged bugs related to this&lt;/a&gt;.&lt;/p&gt;
8228
8229 &lt;p&gt;Update: Correct bug number to file-rc issue.&lt;/p&gt;
8230 </description>
8231 </item>
8232
8233 <item>
8234 <title>More flexible firmware handling in debian-installer</title>
8235 <link>http://people.skolelinux.org/pere/blog/More_flexible_firmware_handling_in_debian_installer.html</link>
8236 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/More_flexible_firmware_handling_in_debian_installer.html</guid>
8237 <pubDate>Sat, 22 May 2010 21:30:00 +0200</pubDate>
8238 <description>&lt;p&gt;After a long break from debian-installer development, I finally
8239 found time today to return to the project. Having to spend less time
8240 working dependency based boot in debian, as it is almost complete now,
8241 definitely helped freeing some time.&lt;/p&gt;
8242
8243 &lt;p&gt;A while back, I ran into a problem while working on Debian Edu. We
8244 include some firmware packages on the Debian Edu CDs, those needed to
8245 get disk and network controllers working. Without having these
8246 firmware packages available during installation, it is impossible to
8247 install Debian Edu on the given machine, and because our target group
8248 are non-technical people, asking them to provide firmware packages on
8249 an external medium is a support pain. Initially, I expected it to be
8250 enough to include the firmware packages on the CD to get
8251 debian-installer to find and use them. This proved to be wrong.
8252 Next, I hoped it was enough to symlink the relevant firmware packages
8253 to some useful location on the CD (tried /cdrom/ and
8254 /cdrom/firmware/). This also proved to not work, and at this point I
8255 found time to look at the debian-installer code to figure out what was
8256 going to work.&lt;/p&gt;
8257
8258 &lt;p&gt;The firmware loading code is in the hw-detect package, and a closer
8259 look revealed that it would only look for firmware packages outside
8260 the installation media, so the CD was never checked for firmware
8261 packages. It would only check USB sticks, floppies and other
8262 &quot;external&quot; media devices. Today I changed it to also look in the
8263 /cdrom/firmware/ directory on the mounted CD or DVD, which should
8264 solve the problem I ran into with Debian edu. I also changed it to
8265 look in /firmware/, to make sure the installer also find firmware
8266 provided in the initrd when booting the installer via PXE, to allow us
8267 to provide the same feature in the PXE setup included in Debian
8268 Edu.&lt;/p&gt;
8269
8270 &lt;p&gt;To make sure firmware deb packages with a license questions are not
8271 activated without asking if the license is accepted, I extended
8272 hw-detect to look for preinst scripts in the firmware packages, and
8273 run these before activating the firmware during installation. The
8274 license question is asked using debconf in the preinst, so this should
8275 solve the issue for the firmware packages I have looked at so far.&lt;/p&gt;
8276
8277 &lt;p&gt;If you want to discuss the details of these features, please
8278 contact us on debian-boot@lists.debian.org.&lt;/p&gt;
8279 </description>
8280 </item>
8281
8282 <item>
8283 <title>Pieces of the roaming laptop puzzle in Debian</title>
8284 <link>http://people.skolelinux.org/pere/blog/Pieces_of_the_roaming_laptop_puzzle_in_Debian.html</link>
8285 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Pieces_of_the_roaming_laptop_puzzle_in_Debian.html</guid>
8286 <pubDate>Wed, 19 May 2010 19:00:00 +0200</pubDate>
8287 <description>&lt;p&gt;Today, the last piece of the puzzle for roaming laptops in Debian
8288 Edu finally entered the Debian archive. Today, the new
8289 &lt;a href=&quot;http://packages.qa.debian.org/libp/libpam-mklocaluser.html&quot;&gt;libpam-mklocaluser&lt;/a&gt;
8290 package was accepted. Two days ago, two other pieces was accepted
8291 into unstable. The
8292 &lt;a href=&quot;http://packages.qa.debian.org/p/pam-python.html&quot;&gt;pam-python&lt;/a&gt;
8293 package needed by libpam-mklocaluser, and the
8294 &lt;a href=&quot;http://packages.qa.debian.org/s/sssd.html&quot;&gt;sssd&lt;/a&gt; package
8295 passed NEW on Monday. In addition, the
8296 &lt;a href=&quot;http://packages.qa.debian.org/libp/libpam-ccreds.html&quot;&gt;libpam-ccreds&lt;/a&gt;
8297 package we need is in experimental (version 10-4) since Saturday, and
8298 hopefully will be moved to unstable soon.&lt;/p&gt;
8299
8300 &lt;p&gt;This collection of packages allow for two different setups for
8301 roaming laptops. The traditional setup would be using libpam-ccreds,
8302 nscd and libpam-mklocaluser with LDAP or Kerberos authentication,
8303 which should work out of the box if the configuration changes proposed
8304 for nscd in &lt;a href=&quot;http://bugs.debian.org/485282&quot;&gt;BTS report
8305 #485282&lt;/a&gt; is implemented. The alternative setup is to use sssd with
8306 libpam-mklocaluser to connect to LDAP or Kerberos and let sssd take
8307 care of the caching of passwords and group information.&lt;/p&gt;
8308
8309 &lt;p&gt;I have so far been unable to get sssd to work with the LDAP server
8310 at the University, but suspect the issue is some SSL/GnuTLS related
8311 problem with the server certificate. I plan to update the Debian
8312 package to version 1.2, which is scheduled for next week, and hope to
8313 find time to make sure the next release will include both the
8314 Debian/Ubuntu specific patches. Upstream is friendly and responsive,
8315 and I am sure we will find a good solution.&lt;/p&gt;
8316
8317 &lt;p&gt;The idea is to set up the roaming laptops to authenticate using
8318 LDAP or Kerberos and create a local user with home directory in /home/
8319 when a usre in LDAP logs in via KDM or GDM for the first time, and
8320 cache the password for offline checking, as well as caching group
8321 memberhips and other relevant LDAP information. The
8322 libpam-mklocaluser package was created to make sure the local home
8323 directory is in /home/, instead of /site/server/directory/ which would
8324 be the home directory if pam_mkhomedir was used. To avoid confusion
8325 with support requests and configuration, we do not want local laptops
8326 to have users in a path that is used for the same users home directory
8327 on the home directory servers.&lt;/p&gt;
8328
8329 &lt;p&gt;One annoying problem with gdm is that it do not show the PAM
8330 message passed to the user from libpam-mklocaluser when the local user
8331 is created. Instead gdm simply reject the login with some generic
8332 message. The message is shown in kdm, ssh and login, so I guess it is
8333 a bug in gdm. Have not investigated if there is some other message
8334 type that can be used instead to get gdm to also show the message.&lt;/p&gt;
8335
8336 &lt;p&gt;If you want to help out with implementing this for Debian Edu,
8337 please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
8338 </description>
8339 </item>
8340
8341 <item>
8342 <title>Parallellized boot is now the default in Debian/unstable</title>
8343 <link>http://people.skolelinux.org/pere/blog/Parallellized_boot_is_now_the_default_in_Debian_unstable.html</link>
8344 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Parallellized_boot_is_now_the_default_in_Debian_unstable.html</guid>
8345 <pubDate>Fri, 14 May 2010 22:40:00 +0200</pubDate>
8346 <description>&lt;p&gt;Since this evening, parallel booting is the default in
8347 Debian/unstable for machines using dependency based boot sequencing.
8348 Apparently the testing of concurrent booting has been wider than
8349 expected, if I am to believe the
8350 &lt;a href=&quot;http://lists.debian.org/debian-devel/2010/05/msg00122.html&quot;&gt;input
8351 on debian-devel@&lt;/a&gt;, and I concluded a few days ago to move forward
8352 with the feature this weekend, to give us some time to detect any
8353 remaining problems before Squeeze is frozen. If serious problems are
8354 detected, it is simple to change the default back to sequential boot.
8355 The upload of the new sysvinit package also activate a new upstream
8356 version.&lt;/p&gt;
8357
8358 More information about
8359 &lt;a href=&quot;http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot&quot;&gt;dependency
8360 based boot sequencing&lt;/a&gt; is available from the Debian wiki. It is
8361 currently possible to disable parallel booting when one run into
8362 problems caused by it, by adding this line to /etc/default/rcS:&lt;/p&gt;
8363
8364 &lt;blockquote&gt;&lt;pre&gt;
8365 CONCURRENCY=none
8366 &lt;/pre&gt;&lt;/blockquote&gt;
8367
8368 &lt;p&gt;If you report any problems with dependencies in init.d scripts to
8369 the BTS, please usertag the report to get it to show up at
8370 &lt;a href=&quot;http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org&quot;&gt;the
8371 list of usertagged bugs related to this&lt;/a&gt;.&lt;/p&gt;
8372 </description>
8373 </item>
8374
8375 <item>
8376 <title>Sitesummary tip: Listing MAC address of all clients</title>
8377 <link>http://people.skolelinux.org/pere/blog/Sitesummary_tip__Listing_MAC_address_of_all_clients.html</link>
8378 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Sitesummary_tip__Listing_MAC_address_of_all_clients.html</guid>
8379 <pubDate>Fri, 14 May 2010 21:10:00 +0200</pubDate>
8380 <description>&lt;p&gt;In the recent Debian Edu versions, the
8381 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/HowTo/SiteSummary&quot;&gt;sitesummary
8382 system&lt;/a&gt; is used to keep track of the machines in the school
8383 network. Each machine will automatically report its status to the
8384 central server after boot and once per night. The network setup is
8385 also reported, and using this information it is possible to get the
8386 MAC address of all network interfaces in the machines. This is useful
8387 to update the DHCP configuration.&lt;/p&gt;
8388
8389 &lt;p&gt;To give some idea how to use sitesummary, here is a one-liner to
8390 ist all MAC addresses of all machines reporting to sitesummary. Run
8391 this on the collector host:&lt;/p&gt;
8392
8393 &lt;blockquote&gt;&lt;pre&gt;
8394 perl -MSiteSummary -e &#39;for_all_hosts(sub { print join(&quot; &quot;, get_macaddresses(shift)), &quot;\n&quot;; });&#39;
8395 &lt;/pre&gt;&lt;/blockquote&gt;
8396
8397 &lt;p&gt;This will list all MAC addresses assosiated with all machine, one
8398 line per machine and with space between the MAC addresses.&lt;/p&gt;
8399
8400 &lt;p&gt;To allow system administrators easier job at adding static DHCP
8401 addresses for hosts, it would be possible to extend this to fetch
8402 machine information from sitesummary and update the DHCP and DNS
8403 tables in LDAP using this information. Such tool is unfortunately not
8404 written yet.&lt;/p&gt;
8405 </description>
8406 </item>
8407
8408 <item>
8409 <title>systemd, an interesting alternative to upstart</title>
8410 <link>http://people.skolelinux.org/pere/blog/systemd__an_interesting_alternative_to_upstart.html</link>
8411 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/systemd__an_interesting_alternative_to_upstart.html</guid>
8412 <pubDate>Thu, 13 May 2010 22:20:00 +0200</pubDate>
8413 <description>&lt;p&gt;The last few days a new boot system called
8414 &lt;a href=&quot;http://www.freedesktop.org/wiki/Software/systemd&quot;&gt;systemd&lt;/a&gt;
8415 has been
8416 &lt;a href=&quot;http://0pointer.de/blog/projects/systemd.html&quot;&gt;introduced&lt;/a&gt;
8417
8418 to the free software world. I have not yet had time to play around
8419 with it, but it seem to be a very interesting alternative to
8420 &lt;a href=&quot;http://upstart.ubuntu.com/&quot;&gt;upstart&lt;/a&gt;, and might prove to be
8421 a good alternative for Debian when we are able to switch to an event
8422 based boot system. Tollef is
8423 &lt;a href=&quot;http://bugs.debian.org/580814&quot;&gt;in the process&lt;/a&gt; of getting
8424 systemd into Debian, and I look forward to seeing how well it work. I
8425 like the fact that systemd handles init.d scripts with dependency
8426 information natively, allowing them to run in parallel where upstart
8427 at the moment do not.&lt;/p&gt;
8428
8429 &lt;p&gt;Unfortunately do systemd have the same problem as upstart regarding
8430 platform support. It only work on recent Linux kernels, and also need
8431 some new kernel features enabled to function properly. This means
8432 kFreeBSD and Hurd ports of Debian will need a port or a different boot
8433 system. Not sure how that will be handled if systemd proves to be the
8434 way forward.&lt;/p&gt;
8435
8436 &lt;p&gt;In the mean time, based on the
8437 &lt;a href=&quot;http://lists.debian.org/debian-devel/2010/05/msg00122.html&quot;&gt;input
8438 on debian-devel@&lt;/a&gt; regarding parallel booting in Debian, I have
8439 decided to enable full parallel booting as the default in Debian as
8440 soon as possible (probably this weekend or early next week), to see if
8441 there are any remaining serious bugs in the init.d dependencies. A
8442 new version of the sysvinit package implementing this change is
8443 already in experimental. If all go well, Squeeze will be released
8444 with parallel booting enabled by default.&lt;/p&gt;
8445 </description>
8446 </item>
8447
8448 <item>
8449 <title>Parallellizing the boot in Debian Squeeze - ready for wider testing</title>
8450 <link>http://people.skolelinux.org/pere/blog/Parallellizing_the_boot_in_Debian_Squeeze___ready_for_wider_testing.html</link>
8451 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Parallellizing_the_boot_in_Debian_Squeeze___ready_for_wider_testing.html</guid>
8452 <pubDate>Thu, 6 May 2010 23:25:00 +0200</pubDate>
8453 <description>&lt;p&gt;These days, the init.d script dependencies in Squeeze are quite
8454 complete, so complete that it is actually possible to run all the
8455 init.d scripts in parallell based on these dependencies. If you want
8456 to test your Squeeze system, make sure
8457 &lt;a href=&quot;http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot&quot;&gt;dependency
8458 based boot sequencing&lt;/a&gt; is enabled, and add this line to
8459 /etc/default/rcS:&lt;/p&gt;
8460
8461 &lt;blockquote&gt;&lt;pre&gt;
8462 CONCURRENCY=makefile
8463 &lt;/pre&gt;&lt;/blockquote&gt;
8464
8465 &lt;p&gt;That is it. It will cause sysv-rc to use the startpar tool to run
8466 scripts in parallel using the dependency information stored in
8467 /etc/init.d/.depend.boot, /etc/init.d/.depend.start and
8468 /etc/init.d/.depend.stop to order the scripts. Startpar is configured
8469 to try to start the kdm and gdm scripts as early as possible, and will
8470 start the facilities required by kdm or gdm as early as possible to
8471 make this happen.&lt;/p&gt;
8472
8473 &lt;p&gt;Give it a try, and see if you like the result. If some services
8474 fail to start properly, it is most likely because they have incomplete
8475 init.d script dependencies in their startup script (or some of their
8476 dependent scripts have incomplete dependencies). Report bugs and get
8477 the package maintainers to fix it. :)&lt;/p&gt;
8478
8479 &lt;p&gt;Running scripts in parallel could be the default in Debian when we
8480 manage to get the init.d script dependencies complete and correct. I
8481 expect we will get there in Squeeze+1, if we get manage to test and
8482 fix the remaining issues.&lt;/p&gt;
8483
8484 &lt;p&gt;If you report any problems with dependencies in init.d scripts to
8485 the BTS, please usertag the report to get it to show up at
8486 &lt;a href=&quot;http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org&quot;&gt;the
8487 list of usertagged bugs related to this&lt;/a&gt;.&lt;/p&gt;
8488 </description>
8489 </item>
8490
8491 <item>
8492 <title>Forcing new users to change their password on first login</title>
8493 <link>http://people.skolelinux.org/pere/blog/Forcing_new_users_to_change_their_password_on_first_login.html</link>
8494 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Forcing_new_users_to_change_their_password_on_first_login.html</guid>
8495 <pubDate>Sun, 2 May 2010 13:47:00 +0200</pubDate>
8496 <description>&lt;p&gt;One interesting feature in Active Directory, is the ability to
8497 create a new user with an expired password, and thus force the user to
8498 change the password on the first login attempt.&lt;/p&gt;
8499
8500 &lt;p&gt;I&#39;m not quite sure how to do that with the LDAP setup in Debian
8501 Edu, but did some initial testing with a local account. The account
8502 and password aging information is available in /etc/shadow, but
8503 unfortunately, it is not possible to specify an expiration time for
8504 passwords, only a maximum age for passwords.&lt;/p&gt;
8505
8506 &lt;p&gt;A freshly created account (using adduser test) will have these
8507 settings in /etc/shadow:&lt;/p&gt;
8508
8509 &lt;blockquote&gt;&lt;pre&gt;
8510 root@tjener:~# chage -l test
8511 Last password change : May 02, 2010
8512 Password expires : never
8513 Password inactive : never
8514 Account expires : never
8515 Minimum number of days between password change : 0
8516 Maximum number of days between password change : 99999
8517 Number of days of warning before password expires : 7
8518 root@tjener:~#
8519 &lt;/pre&gt;&lt;/blockquote&gt;
8520
8521 &lt;p&gt;The only way I could come up with to create a user with an expired
8522 account, is to change the date of the last password change to the
8523 lowest value possible (January 1th 1970), and the maximum password age
8524 to the difference in days between that date and today. To make it
8525 simple, I went for 30 years (30 * 365 = 10950) and January 2th (to
8526 avoid testing if 0 is a valid value).&lt;/p&gt;
8527
8528 &lt;p&gt;After using these commands to set it up, it seem to work as
8529 intended:&lt;/p&gt;
8530
8531 &lt;blockquote&gt;&lt;pre&gt;
8532 root@tjener:~# chage -d 1 test; chage -M 10950 test
8533 root@tjener:~# chage -l test
8534 Last password change : Jan 02, 1970
8535 Password expires : never
8536 Password inactive : never
8537 Account expires : never
8538 Minimum number of days between password change : 0
8539 Maximum number of days between password change : 10950
8540 Number of days of warning before password expires : 7
8541 root@tjener:~#
8542 &lt;/pre&gt;&lt;/blockquote&gt;
8543
8544 &lt;p&gt;So far I have tested this with ssh and console, and kdm (in
8545 Squeeze) login, and all ask for a new password before login in the
8546 user (with ssh, I was thrown out and had to log in again).&lt;/p&gt;
8547
8548 &lt;p&gt;Perhaps we should set up something similar for Debian Edu, to make
8549 sure only the user itself have the account password?&lt;/p&gt;
8550
8551 &lt;p&gt;If you want to comment on or help out with implementing this for
8552 Debian Edu, please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
8553
8554 &lt;p&gt;Update 2010-05-02 17:20: Paul Tötterman tells me on IRC that the
8555 shadow(8) page in Debian/testing now state that setting the date of
8556 last password change to zero (0) will force the password to be changed
8557 on the first login. This was not mentioned in the manual in Lenny, so
8558 I did not notice this in my initial testing. I have tested it on
8559 Squeeze, and &#39;&lt;tt&gt;chage -d 0 username&lt;/tt&gt;&#39; do work there. I have not
8560 tested it on Lenny yet.&lt;/p&gt;
8561
8562 &lt;p&gt;Update 2010-05-02-19:05: Jim Paris tells me via email that an
8563 equivalent command to expire a password is &#39;&lt;tt&gt;passwd -e
8564 username&lt;/tt&gt;&#39;, which insert zero into the date of the last password
8565 change.&lt;/p&gt;
8566 </description>
8567 </item>
8568
8569 <item>
8570 <title>Thoughts on roaming laptop setup for Debian Edu</title>
8571 <link>http://people.skolelinux.org/pere/blog/Thoughts_on_roaming_laptop_setup_for_Debian_Edu.html</link>
8572 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Thoughts_on_roaming_laptop_setup_for_Debian_Edu.html</guid>
8573 <pubDate>Wed, 28 Apr 2010 20:40:00 +0200</pubDate>
8574 <description>&lt;p&gt;For some years now, I have wondered how we should handle laptops in
8575 Debian Edu. The Debian Edu infrastructure is mostly designed to
8576 handle stationary computers, and less suited for computers that come
8577 and go.&lt;/p&gt;
8578
8579 &lt;p&gt;Now I finally believe I have an sensible idea on how to adjust
8580 Debian Edu for laptops, by introducing a new profile for them, for
8581 example called Roaming Workstations. Here are my thought on this.
8582 The setup would consist of the following:&lt;/p&gt;
8583
8584 &lt;ul&gt;
8585
8586 &lt;li&gt;During installation, the user name of the owner / primary user of
8587 the laptop is requested and a local home directory is set up for
8588 the user, with uid and gid information fetched from the LDAP
8589 server. This allow the user to work also when offline. The
8590 central home directory can be available in a subdirectory on
8591 request, for example mounted via CIFS. It could be mounted
8592 automatically when a user log in while on the Debian Edu network,
8593 and unmounted when the machine is taken away (network down,
8594 hibernate, etc), it can be set up to do automatic mounting on
8595 request (using autofs), or perhaps some GUI button on the desktop
8596 can be used to access it when needed. Perhaps it is enough to use
8597 the fish protocol in KDE?&lt;/li&gt;
8598
8599 &lt;li&gt;Password checking is set up to use LDAP or Kerberos
8600 authentication when the machine is on the Debian Edu network, and
8601 to cache the password for offline checking when the machine unable
8602 to reach the LDAP or Kerberos server. This can be done using
8603 &lt;a href=&quot;http://www.padl.com/OSS/pam_ccreds.html&quot;&gt;libpam-ccreds&lt;/a&gt;
8604 or the Fedora developed
8605 &lt;a href=&quot;https://fedoraproject.org/wiki/Features/SSSD&quot;&gt;System
8606 Security Services Daemon&lt;/a&gt; packages.&lt;/li&gt;
8607
8608 &lt;li&gt;File synchronisation with the central home directory is set up
8609 using a shared directory in both the local and the central home
8610 directory, using unison.&lt;/li&gt;
8611
8612 &lt;li&gt;Printing should be set up to print to all printers broadcasting
8613 their existence on the local network, and should then work out of
8614 the box with CUPS. For sites needing accurate printer quotas, some
8615 system with Kerberos authentication or printing via ssh could be
8616 implemented.&lt;/li&gt;
8617
8618 &lt;li&gt;For users that should have local root access to their laptop,
8619 sudo should be used to allow this to the local user.&lt;/li&gt;
8620
8621 &lt;li&gt;It would be nice if user and group information from LDAP is
8622 cached on the client, but given that there are entries for the
8623 local user and primary group in /etc/, it should not be needed.&lt;/li&gt;
8624
8625 &lt;/ul&gt;
8626
8627 &lt;p&gt;I believe all the pieces to implement this are in Debian/testing at
8628 the moment. If we work quickly, we should be able to get this ready
8629 in time for the Squeeze release to freeze. Some of the pieces need
8630 tweaking, like libpam-ccreds should get support for pam-auth-update
8631 (&lt;a href=&quot;http://bugs.debian.org/566718&quot;&gt;#566718&lt;/a&gt;) and nslcd (or
8632 perhaps debian-edu-config) should get some integration code to stop
8633 its daemon when the LDAP server is unavailable to avoid long timeouts
8634 when disconnected from the net. If we get Kerberos enabled, we need
8635 to make sure we avoid long timeouts there too.&lt;/p&gt;
8636
8637 &lt;p&gt;If you want to help out with implementing this for Debian Edu,
8638 please contact us on debian-edu@lists.debian.org.&lt;/p&gt;
8639 </description>
8640 </item>
8641
8642 <item>
8643 <title>Great book: &quot;Content: Selected Essays on Technology, Creativity, Copyright, and the Future of the Future&quot;</title>
8644 <link>http://people.skolelinux.org/pere/blog/Great_book___Content__Selected_Essays_on_Technology__Creativity__Copyright__and_the_Future_of_the_Future_.html</link>
8645 <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>
8646 <pubDate>Mon, 19 Apr 2010 17:10:00 +0200</pubDate>
8647 <description>&lt;p&gt;The last few weeks i have had the pleasure of reading a
8648 thought-provoking collection of essays by Cory Doctorow, on topics
8649 touching copyright, virtual worlds, the future of man when the
8650 conscience mind can be duplicated into a computer and many more. The
8651 book titled &quot;Content: Selected Essays on Technology, Creativity,
8652 Copyright, and the Future of the Future&quot; is available with few
8653 restrictions on the web, for example from
8654 &lt;a href=&quot;http://craphound.com/content/&quot;&gt;his own site&lt;/a&gt;. I read the
8655 epub-version from
8656 &lt;a href=&quot;http://www.feedbooks.com/book/2883&quot;&gt;feedbooks&lt;/a&gt; using
8657 &lt;a href=&quot;http://www.fbreader.org/&quot;&gt;fbreader&lt;/a&gt; and my N810. I
8658 strongly recommend this book.&lt;/p&gt;
8659 </description>
8660 </item>
8661
8662 <item>
8663 <title>Kerberos for Debian Edu/Squeeze?</title>
8664 <link>http://people.skolelinux.org/pere/blog/Kerberos_for_Debian_Edu_Squeeze_.html</link>
8665 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Kerberos_for_Debian_Edu_Squeeze_.html</guid>
8666 <pubDate>Wed, 14 Apr 2010 17:20:00 +0200</pubDate>
8667 <description>&lt;p&gt;&lt;a href=&quot;http://www.nuug.no/aktiviteter/20100413-kerberos/&quot;&gt;Yesterdays
8668 NUUG presentation&lt;/a&gt; about Kerberos was inspiring, and reminded me
8669 about the need to start using Kerberos in Skolelinux. Setting up a
8670 Kerberos server seem to be straight forward, and if we get this in
8671 place a long time before the Squeeze version of Debian freezes, we
8672 have a chance to migrate Skolelinux away from NFSv3 for the home
8673 directories, and over to an architecture where the infrastructure do
8674 not have to trust IP addresses and machines, and instead can trust
8675 users and cryptographic keys instead.&lt;/p&gt;
8676
8677 &lt;p&gt;A challenge will be integration and administration. Is there a
8678 Kerberos implementation for Debian where one can control the
8679 administration access in Kerberos using LDAP groups? With it, the
8680 school administration will have to maintain access control using flat
8681 files on the main server, which give a huge potential for errors.&lt;/p&gt;
8682
8683 &lt;p&gt;A related question I would like to know is how well Kerberos and
8684 pam-ccreds (offline password check) work together. Anyone know?&lt;/p&gt;
8685
8686 &lt;p&gt;Next step will be to use Kerberos for access control in Lwat and
8687 Nagios. I have no idea how much work that will be to implement. We
8688 would also need to document how to integrate with Windows AD, as such
8689 shared network will require two Kerberos realms that need to cooperate
8690 to work properly.&lt;/p&gt;
8691
8692 &lt;p&gt;I believe a good start would be to start using Kerberos on the
8693 skolelinux.no machines, and this way get ourselves experience with
8694 configuration and integration. A natural starting point would be
8695 setting up ldap.skolelinux.no as the Kerberos server, and migrate the
8696 rest of the machines from PAM via LDAP to PAM via Kerberos one at the
8697 time.&lt;/p&gt;
8698
8699 &lt;p&gt;If you would like to contribute to get this working in Skolelinux,
8700 I recommend you to see the video recording from yesterdays NUUG
8701 presentation, and start using Kerberos at home. The video show show
8702 up in a few days.&lt;/p&gt;
8703 </description>
8704 </item>
8705
8706 <item>
8707 <title>After 6 years of waiting, the Xreset.d feature is implemented</title>
8708 <link>http://people.skolelinux.org/pere/blog/After_6_years_of_waiting__the_Xreset_d_feature_is_implemented.html</link>
8709 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/After_6_years_of_waiting__the_Xreset_d_feature_is_implemented.html</guid>
8710 <pubDate>Sat, 6 Mar 2010 18:15:00 +0100</pubDate>
8711 <description>&lt;p&gt;6 years ago, as part of the Debian Edu development I am involved
8712 in, I asked for a hook in the kdm and gdm setup to run scripts as root
8713 when the user log out. A bug was submitted against the xfree86-common
8714 package in 2004 (&lt;a href=&quot;http://bugs.debian.org/230422&quot;&gt;#230422&lt;/a&gt;),
8715 and revisited every time Debian Edu was working on a new release.
8716 Today, this finally paid off.&lt;/p&gt;
8717
8718 &lt;p&gt;The framework for this feature was today commited to the git
8719 repositry for the xorg package, and the git repository for xdm has
8720 been updated to use this framework. Next on my agenda is to make sure
8721 kdm and gdm also add code to use this framework.&lt;/p&gt;
8722
8723 &lt;p&gt;In Debian Edu, we want to ability to run commands as root when the
8724 user log out, to get rid of runaway processes and do general cleanup
8725 after a user. With this framework in place, we finally can do that in
8726 a generic way that work with all display managers using this
8727 framework. My goal is to get all display managers in Debian use it,
8728 similar to how they use the Xsession.d framework today.&lt;p&gt;
8729 </description>
8730 </item>
8731
8732 <item>
8733 <title>Debian Edu / Skolelinux based on Lenny released, work continues</title>
8734 <link>http://people.skolelinux.org/pere/blog/Debian_Edu___Skolelinux_based_on_Lenny_released__work_continues.html</link>
8735 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_Edu___Skolelinux_based_on_Lenny_released__work_continues.html</guid>
8736 <pubDate>Thu, 11 Feb 2010 17:15:00 +0100</pubDate>
8737 <description>&lt;p&gt;On Tuesday, the Debian/Lenny based version of
8738 &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Skolelinux&lt;/a&gt; was finally
8739 shipped. This was a major leap forward for the project, and I am very
8740 pleased that we finally got the release wrapped up. Work on the first
8741 point release starts imediately, as we plan to get that one out a
8742 month after the major release, to include all fixes for bugs we found
8743 and fixed too late in the release process to include last Tuesday.&lt;/p&gt;
8744
8745 &lt;p&gt;Perhaps it even is time for some partying?&lt;/p&gt;
8746
8747 &lt;p&gt;After this first point release, my plan is to focus again on the
8748 next major release, based on Squeeze. We will try to get as many of
8749 the fixes we need into the official Debian packages before the freeze,
8750 and have just a few weeks or months to make it happen.&lt;/p&gt;
8751 </description>
8752 </item>
8753
8754 <item>
8755 <title>Automatic Munin and Nagios configuration</title>
8756 <link>http://people.skolelinux.org/pere/blog/Automatic_Munin_and_Nagios_configuration.html</link>
8757 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Automatic_Munin_and_Nagios_configuration.html</guid>
8758 <pubDate>Wed, 27 Jan 2010 15:15:00 +0100</pubDate>
8759 <description>&lt;p&gt;One of the new features in the next Debian/Lenny based release of
8760 Debian Edu/Skolelinux, which is scheduled for release in the next few
8761 days, is automatic configuration of the service monitoring system
8762 Nagios. The previous release had automatic configuration of trend
8763 analysis using Munin, and this Lenny based release take that a step
8764 further.&lt;/p&gt;
8765
8766 &lt;p&gt;When installing a Debian Edu Main-server, it is automatically
8767 configured as a Munin and Nagios server. In addition, it is
8768 configured to be a server for the
8769 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/HowTo/SiteSummary&quot;&gt;SiteSummary
8770 system&lt;/a&gt; I have written for use in Debian Edu. The SiteSummary
8771 system is inspired by a system used by the University of Oslo where I
8772 work. In short, the system provide a centralised collector of
8773 information about the computers on the network, and a client on each
8774 computer submitting information to this collector. This allow for
8775 automatic information on which packages are installed on each machine,
8776 which kernel the machines are using, what kind of configuration the
8777 packages got etc. This also allow us to automatically generate Munin
8778 and Nagios configuration.&lt;/p&gt;
8779
8780 &lt;p&gt;All computers reporting to the sitesummary collector with the
8781 munin-node package installed is automatically enabled as a Munin
8782 client and graphs from the statistics collected from that machine show
8783 up automatically on http://www/munin/ on the Main-server.&lt;/p&gt;
8784
8785 &lt;p&gt;All non-laptop computers reporting to the sitesummary collector are
8786 automatically monitored for network presence (ping and any network
8787 services detected). In addition, all computers (also laptops) with
8788 the nagios-nrpe-server package installed and configured the way
8789 sitesummary would configure it, are monitored for full disks, software
8790 raid status, swap free and other checks that need to run locally on
8791 the machine.&lt;/p&gt;
8792
8793 &lt;p&gt;The result is that the administrator on a school using Debian Edu
8794 based on Lenny will be able to check the health of his installation
8795 with one look at the Nagios settings, without having to spend any time
8796 keeping the Nagios configuration up-to-date.&lt;/p&gt;
8797
8798 &lt;p&gt;The only configuration one need to do to get Nagios up and running
8799 is to set the password used to get access via HTTP. The system
8800 administrator need to run &quot;&lt;tt&gt;htpasswd /etc/nagios3/htpasswd.users
8801 nagiosadmin&lt;/tt&gt;&quot; to create a nagiosadmin user and set a password for
8802 it to be able to log into the Nagios web pages. After that,
8803 everything is taken care of.&lt;/p&gt;
8804 </description>
8805 </item>
8806
8807 <item>
8808 <title>Relative popularity of document formats (MS Office vs. ODF)</title>
8809 <link>http://people.skolelinux.org/pere/blog/Relative_popularity_of_document_formats__MS_Office_vs__ODF_.html</link>
8810 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Relative_popularity_of_document_formats__MS_Office_vs__ODF_.html</guid>
8811 <pubDate>Wed, 12 Aug 2009 15:50:00 +0200</pubDate>
8812 <description>&lt;p&gt;Just for fun, I did a search right now on Google for a few file ODF
8813 and MS Office based formats (not to be mistaken for ISO or ECMA
8814 OOXML), to get an idea of their relative usage. I searched using
8815 &#39;filetype:odt&#39; and equvalent terms, and got these results:&lt;/P&gt;
8816
8817 &lt;table&gt;
8818 &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;
8819 &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;
8820 &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;
8821 &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;
8822 &lt;/table&gt;
8823
8824 &lt;p&gt;Next, I added a &#39;site:no&#39; limit to get the numbers for Norway, and
8825 got these numbers:&lt;/p&gt;
8826
8827 &lt;table&gt;
8828 &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;
8829 &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;
8830 &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;
8831 &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;
8832 &lt;/table&gt;
8833
8834 &lt;p&gt;I wonder how these numbers change over time.&lt;/p&gt;
8835
8836 &lt;p&gt;I am aware of Google returning different results and numbers based
8837 on where the search is done, so I guess these numbers will differ if
8838 they are conduced in another country. Because of this, I did the same
8839 search from a machine in California, USA, a few minutes after the
8840 search done from a machine here in Norway.&lt;/p&gt;
8841
8842
8843 &lt;table&gt;
8844 &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;
8845 &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;
8846 &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;
8847 &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;
8848 &lt;/table&gt;
8849
8850 &lt;p&gt;And with &#39;site:no&#39;:
8851
8852 &lt;table&gt;
8853 &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;
8854 &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;
8855 &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;
8856 &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;
8857 &lt;/table&gt;
8858
8859 &lt;p&gt;Interesting difference, not sure what to conclude from these
8860 numbers.&lt;/p&gt;
8861 </description>
8862 </item>
8863
8864 <item>
8865 <title>ISO still hope to fix OOXML</title>
8866 <link>http://people.skolelinux.org/pere/blog/ISO_still_hope_to_fix_OOXML.html</link>
8867 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/ISO_still_hope_to_fix_OOXML.html</guid>
8868 <pubDate>Sat, 8 Aug 2009 14:00:00 +0200</pubDate>
8869 <description>&lt;p&gt;According to &lt;a
8870 href=&quot;http://twerner.blogspot.com/2009/08/defects-of-office-open-xml.html&quot;&gt;a
8871 blog post from Torsten Werner&lt;/a&gt;, the current defect report for ISO
8872 29500 (ISO OOXML) is 809 pages. His interesting point is that the
8873 defect report is 71 pages more than the full ODF 1.1 specification.
8874 Personally I find it more interesting that ISO still believe ISO OOXML
8875 can be fixed in ISO. Personally, I believe it is broken beyon repair,
8876 and I completely lack any trust in ISO for being able to get anywhere
8877 close to solving the problems. I was part of the Norwegian committee
8878 involved in the OOXML fast track process, and was not impressed with
8879 Standard Norway and ISO in how they handled it.&lt;/p&gt;
8880
8881 &lt;p&gt;These days I focus on ODF instead, which seem like a specification
8882 with the future ahead of it. We are working in NUUG to organise a ODF
8883 seminar this autumn.&lt;/p&gt;
8884 </description>
8885 </item>
8886
8887 <item>
8888 <title>Debian has switched to dependency based boot sequencing</title>
8889 <link>http://people.skolelinux.org/pere/blog/Debian_has_switched_to_dependency_based_boot_sequencing.html</link>
8890 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_has_switched_to_dependency_based_boot_sequencing.html</guid>
8891 <pubDate>Mon, 27 Jul 2009 23:50:00 +0200</pubDate>
8892 <description>&lt;p&gt;Since this evening, with the upload of sysvinit version 2.87dsf-2,
8893 and the upload of insserv version 1.12.0-10 yesterday, Debian unstable
8894 have been migrated to using dependency based boot sequencing. This
8895 conclude work me and others have been doing for the last three days.
8896 It feels great to see this finally part of the default Debian
8897 installation. Now we just need to weed out the last few problems that
8898 are bound to show up, to get everything ready for Squeeze.&lt;/p&gt;
8899
8900 &lt;p&gt;The next step is migrating /sbin/init from sysvinit to upstart, and
8901 fixing the more fundamental problem of handing the event based
8902 non-predictable kernel in the early boot.&lt;/p&gt;
8903 </description>
8904 </item>
8905
8906 <item>
8907 <title>Taking over sysvinit development</title>
8908 <link>http://people.skolelinux.org/pere/blog/Taking_over_sysvinit_development.html</link>
8909 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Taking_over_sysvinit_development.html</guid>
8910 <pubDate>Wed, 22 Jul 2009 23:00:00 +0200</pubDate>
8911 <description>&lt;p&gt;After several years of frustration with the lack of activity from
8912 the existing sysvinit upstream developer, I decided a few weeks ago to
8913 take over the package and become the new upstream. The number of
8914 patches to track for the Debian package was becoming a burden, and the
8915 lack of synchronization between the distribution made it hard to keep
8916 the package up to date.&lt;/p&gt;
8917
8918 &lt;p&gt;On the new sysvinit team is the SuSe maintainer Dr. Werner Fink,
8919 and my Debian co-maintainer Kel Modderman. About 10 days ago, I made
8920 a new upstream tarball with version number 2.87dsf (for Debian, SuSe
8921 and Fedora), based on the patches currently in use in these
8922 distributions. We Debian maintainers plan to move to this tarball as
8923 the new upstream as soon as we find time to do the merge. Since the
8924 new tarball was created, we agreed with Werner at SuSe to make a new
8925 upstream project at &lt;a href=&quot;http://savannah.nongnu.org/&quot;&gt;Savannah&lt;/a&gt;, and continue
8926 development there. The project is registered and currently waiting
8927 for approval by the Savannah administrators, and as soon as it is
8928 approved, we will import the old versions from svn and continue
8929 working on the future release.&lt;/p&gt;
8930
8931 &lt;p&gt;It is a bit ironic that this is done now, when some of the involved
8932 distributions are moving to upstart as a syvinit replacement.&lt;/p&gt;
8933 </description>
8934 </item>
8935
8936 <item>
8937 <title>Debian boots quicker and quicker</title>
8938 <link>http://people.skolelinux.org/pere/blog/Debian_boots_quicker_and_quicker.html</link>
8939 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_boots_quicker_and_quicker.html</guid>
8940 <pubDate>Wed, 24 Jun 2009 21:40:00 +0200</pubDate>
8941 <description>&lt;p&gt;I spent Monday and tuesday this week in London with a lot of the
8942 people involved in the boot system on Debian and Ubuntu, to see if we
8943 could find more ways to speed up the boot system. This was an Ubuntu
8944 funded
8945 &lt;a href=&quot;https://wiki.ubuntu.com/FoundationsTeam/BootPerformance/DebianUbuntuSprint&quot;&gt;developer
8946 gathering&lt;/a&gt;. It was quite productive. We also discussed the future
8947 of boot systems, and ways to handle the increasing number of boot
8948 issues introduced by the Linux kernel becoming more and more
8949 asynchronous and event base. The Ubuntu approach using udev and
8950 upstart might be a good way forward. Time will show.&lt;/p&gt;
8951
8952 &lt;p&gt;Anyway, there are a few ways at the moment to speed up the boot
8953 process in Debian. All of these should be applied to get a quick
8954 boot:&lt;/p&gt;
8955
8956 &lt;ul&gt;
8957
8958 &lt;li&gt;Use dash as /bin/sh.&lt;/li&gt;
8959
8960 &lt;li&gt;Disable the init.d/hwclock*.sh scripts and make sure the hardware
8961 clock is in UTC.&lt;/li&gt;
8962
8963 &lt;li&gt;Install and activate the insserv package to enable
8964 &lt;a href=&quot;http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot&quot;&gt;dependency
8965 based boot sequencing&lt;/a&gt;, and enable concurrent booting.&lt;/li&gt;
8966
8967 &lt;/ul&gt;
8968
8969 These points are based on the Google summer of code work done by
8970 &lt;a href=&quot;http://initscripts-ng.alioth.debian.org/soc2006-bootsystem/&quot;&gt;Carlos
8971 Villegas&lt;/a&gt;.
8972
8973 &lt;p&gt;Support for makefile-style concurrency during boot was uploaded to
8974 unstable yesterday. When we tested it, we were able to cut 6 seconds
8975 from the boot sequence. It depend on very correct dependency
8976 declaration in all init.d scripts, so I expect us to find edge cases
8977 where the dependences in some scripts are slightly wrong when we start
8978 using this.&lt;/p&gt;
8979
8980 &lt;p&gt;On our IRC channel for this effort, #pkg-sysvinit, a new idea was
8981 introduced by Raphael Geissert today, one that could affect the
8982 startup speed as well. Instead of starting some scripts concurrently
8983 from rcS.d/ and another set of scripts from rc2.d/, it would be
8984 possible to run a of them in the same process. A quick way to test
8985 this would be to enable insserv and run &#39;mv /etc/rc2.d/S* /etc/rcS.d/;
8986 insserv&#39;. Will need to test if that work. :)&lt;/p&gt;
8987 </description>
8988 </item>
8989
8990 <item>
8991 <title>Two projects that have improved the quality of free software a lot</title>
8992 <link>http://people.skolelinux.org/pere/blog/Two_projects_that_have_improved_the_quality_of_free_software_a_lot.html</link>
8993 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Two_projects_that_have_improved_the_quality_of_free_software_a_lot.html</guid>
8994 <pubDate>Sat, 2 May 2009 15:00:00 +0200</pubDate>
8995 <description>&lt;p&gt;There are two software projects that have had huge influence on the
8996 quality of free software, and I wanted to mention both in case someone
8997 do not yet know them.&lt;/p&gt;
8998
8999 &lt;p&gt;The first one is &lt;a href=&quot;http://valgrind.org/&quot;&gt;valgrind&lt;/a&gt;, a
9000 tool to detect and expose errors in the memory handling of programs.
9001 It is easy to use, all one need to do is to run &#39;valgrind program&#39;,
9002 and it will report any problems on stdout. It is even better if the
9003 program include debug information. With debug information, it is able
9004 to report the source file name and line number where the problem
9005 occurs. It can report things like &#39;reading past memory block in file
9006 X line N, the memory block was allocated in file Y, line M&#39;, and
9007 &#39;using uninitialised value in control logic&#39;. This tool has made it
9008 trivial to investigate reproducible crash bugs in programs, and have
9009 reduced the number of this kind of bugs in free software a lot.
9010
9011 &lt;p&gt;The second one is
9012 &lt;a href=&quot;http://en.wikipedia.org/wiki/Coverity&quot;&gt;Coverity&lt;/a&gt; which is
9013 a source code checker. It is able to process the source of a program
9014 and find problems in the logic without running the program. It
9015 started out as the Stanford Checker and became well known when it was
9016 used to find bugs in the Linux kernel. It is now a commercial tool
9017 and the company behind it is running
9018 &lt;a href=&quot;http://www.scan.coverity.com/&quot;&gt;a community service&lt;/a&gt; for the
9019 free software community, where a lot of free software projects get
9020 their source checked for free. Several thousand defects have been
9021 found and fixed so far. It can find errors like &#39;lock L taken in file
9022 X line N is never released if exiting in line M&#39;, or &#39;the code in file
9023 Y lines O to P can never be executed&#39;. The projects included in the
9024 community service project have managed to get rid of a lot of
9025 reliability problems thanks to Coverity.&lt;/p&gt;
9026
9027 &lt;p&gt;I believe tools like this, that are able to automatically find
9028 errors in the source, are vital to improve the quality of software and
9029 make sure we can get rid of the crashing and failing software we are
9030 surrounded by today.&lt;/p&gt;
9031 </description>
9032 </item>
9033
9034 <item>
9035 <title>No patch is not better than a useless patch</title>
9036 <link>http://people.skolelinux.org/pere/blog/No_patch_is_not_better_than_a_useless_patch.html</link>
9037 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/No_patch_is_not_better_than_a_useless_patch.html</guid>
9038 <pubDate>Tue, 28 Apr 2009 09:30:00 +0200</pubDate>
9039 <description>&lt;p&gt;Julien Blache
9040 &lt;a href=&quot;http://blog.technologeek.org/2009/04/12/214&quot;&gt;claim that no
9041 patch is better than a useless patch&lt;/a&gt;. I completely disagree, as a
9042 patch allow one to discuss a concrete and proposed solution, and also
9043 prove that the issue at hand is important enough for someone to spent
9044 time on fixing it. No patch do not provide any of these positive
9045 properties.&lt;/p&gt;
9046 </description>
9047 </item>
9048
9049 <item>
9050 <title>Recording video from cron using VLC</title>
9051 <link>http://people.skolelinux.org/pere/blog/Recording_video_from_cron_using_VLC.html</link>
9052 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Recording_video_from_cron_using_VLC.html</guid>
9053 <pubDate>Sun, 5 Apr 2009 10:00:00 +0200</pubDate>
9054 <description>&lt;p&gt;One think I have wanted to figure out for a along time is how to
9055 run vlc from cron to do recording of video streams on the net. The
9056 task is trivial with mplayer, but I do not really trust the security
9057 of mplayer (it crashes too often on strange input), and thus prefer
9058 vlc. I finally found a way to do it today. I spent an hour or so
9059 searching the web for recipes and reading the documentation. The
9060 hardest part was to get rid of the GUI window, but after finding the
9061 dummy interface, the command line finally presented itself:&lt;/p&gt;
9062
9063 &lt;blockquote&gt;&lt;pre&gt;URL=http://www.ping.uio.no/video/rms-oslo_2009.ogg
9064 SAVEFILE=rms.ogg
9065 DISPLAY= vlc -q $URL \
9066 --sout=&quot;#duplicate{dst=std{access=file,url=&#39;$SAVEFILE&#39;},dst=nodisplay}&quot; \
9067 --intf=dummy&lt;/pre&gt;&lt;/blockquote&gt;
9068
9069 &lt;p&gt;The command stream the URL and store it in the SAVEFILE by
9070 duplicating the output stream to &quot;nodisplay&quot; and the file, using the
9071 dummy interface. The dummy interface and the nodisplay output make
9072 sure no X interface is needed.&lt;/p&gt;
9073
9074 &lt;p&gt;The cron job then need to start this job with the appropriate URL
9075 and file name to save, sleep for the duration wanted, and then kill
9076 the vlc process with SIGTERM. Here is a complete script
9077 &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;
9078
9079 &lt;blockquote&gt;&lt;pre&gt;#!/bin/sh
9080 set -e
9081 URL=&quot;$1&quot;
9082 SAVEFILE=&quot;$2&quot;
9083 DURATION=&quot;$3&quot;
9084 DISPLAY= vlc -q &quot;$URL&quot; \
9085 --sout=&quot;#duplicate{dst=std{access=file,url=&#39;$SAVEFILE&#39;},dst=nodisplay}&quot; \
9086 --intf=dummy &lt; /dev/null &gt; /dev/null 2&gt;&amp;1 &amp;
9087 pid=$!
9088 sleep $DURATION
9089 kill $pid
9090 wait $pid&lt;/pre&gt;&lt;/blockquote&gt;
9091 </description>
9092 </item>
9093
9094 <item>
9095 <title>Standardize on protocols and formats, not vendors and applications</title>
9096 <link>http://people.skolelinux.org/pere/blog/Standardize_on_protocols_and_formats__not_vendors_and_applications.html</link>
9097 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Standardize_on_protocols_and_formats__not_vendors_and_applications.html</guid>
9098 <pubDate>Mon, 30 Mar 2009 11:50:00 +0200</pubDate>
9099 <description>&lt;p&gt;Where I work at the University of Oslo, one decision stand out as a
9100 very good one to form a long lived computer infrastructure. It is the
9101 simple one, lost by many in todays computer industry: Standardize on
9102 open network protocols and open exchange/storage formats, not applications.
9103 Applications come and go, while protocols and files tend to stay, and
9104 thus one want to make it easy to change application and vendor, while
9105 avoiding conversion costs and locking users to a specific platform or
9106 application.&lt;/p&gt;
9107
9108 &lt;p&gt;This approach make it possible to replace the client applications
9109 independently of the server applications. One can even allow users to
9110 use several different applications as long as they handle the selected
9111 protocol and format. In the normal case, only one client application
9112 is recommended and users only get help if they choose to use this
9113 application, but those that want to deviate from the easy path are not
9114 blocked from doing so.&lt;/p&gt;
9115
9116 &lt;p&gt;It also allow us to replace the server side without forcing the
9117 users to replace their applications, and thus allow us to select the
9118 best server implementation at any moment, when scale and resouce
9119 requirements change.&lt;/p&gt;
9120
9121 &lt;p&gt;I strongly recommend standardizing - on open network protocols and
9122 open formats, but I would never recommend standardizing on a single
9123 application that do not use open network protocol or open formats.&lt;/p&gt;
9124 </description>
9125 </item>
9126
9127 <item>
9128 <title>Returning from Skolelinux developer gathering</title>
9129 <link>http://people.skolelinux.org/pere/blog/Returning_from_Skolelinux_developer_gathering.html</link>
9130 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Returning_from_Skolelinux_developer_gathering.html</guid>
9131 <pubDate>Sun, 29 Mar 2009 21:00:00 +0200</pubDate>
9132 <description>&lt;p&gt;I&#39;m sitting on the train going home from this weekends Debian
9133 Edu/Skolelinux development gathering. I got a bit done tuning the
9134 desktop, and looked into the dynamic service location protocol
9135 implementation avahi. It look like it could be useful for us. Almost
9136 30 people participated, and I believe it was a great environment to
9137 get to know the Skolelinux system. Walter Bender, involved in the
9138 development of the Sugar educational platform, presented his stuff and
9139 also helped me improve my OLPC installation. He also showed me that
9140 his Turtle Art application can be used in standalone mode, and we
9141 agreed that I would help getting it packaged for Debian. As a
9142 standalone application it would be great for Debian Edu. We also
9143 tried to get the video conferencing working with two OLPCs, but that
9144 proved to be too hard for us. The application seem to need more work
9145 before it is ready for me. I look forward to getting home and relax
9146 now. :)&lt;/p&gt;
9147 </description>
9148 </item>
9149
9150 <item>
9151 <title>Time for new LDAP schemas replacing RFC 2307?</title>
9152 <link>http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html</link>
9153 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html</guid>
9154 <pubDate>Sun, 29 Mar 2009 20:30:00 +0200</pubDate>
9155 <description>&lt;p&gt;The state of standardized LDAP schemas on Linux is far from
9156 optimal. There is RFC 2307 documenting one way to store NIS maps in
9157 LDAP, and a modified version of this normally called RFC 2307bis, with
9158 some modifications to be compatible with Active Directory. The RFC
9159 specification handle the content of a lot of system databases, but do
9160 not handle DNS zones and DHCP configuration.&lt;/p&gt;
9161
9162 &lt;p&gt;In &lt;a href=&quot;http://www.skolelinux.org/&quot;&gt;Debian Edu/Skolelinux&lt;/a&gt;,
9163 we would like to store information about users, SMB clients/hosts,
9164 filegroups, netgroups (users and hosts), DHCP and DNS configuration,
9165 and LTSP configuration in LDAP. These objects have a lot in common,
9166 but with the current LDAP schemas it is not possible to have one
9167 object per entity. For example, one need to have at least three LDAP
9168 objects for a given computer, one with the SMB related stuff, one with
9169 DNS information and another with DHCP information. The schemas
9170 provided for DNS and DHCP are impossible to combine into one LDAP
9171 object. In addition, it is impossible to implement quick queries for
9172 netgroup membership, because of the way NIS triples are implemented.
9173 It just do not scale. I believe it is time for a few RFC
9174 specifications to cleam up this mess.&lt;/p&gt;
9175
9176 &lt;p&gt;I would like to have one LDAP object representing each computer in
9177 the network, and this object can then keep the SMB (ie host key), DHCP
9178 (mac address/name) and DNS (name/IP address) settings in one place.
9179 It need to be efficently stored to make sure it scale well.&lt;/p&gt;
9180
9181 &lt;p&gt;I would also like to have a quick way to map from a user or
9182 computer and to the net group this user or computer is a member.&lt;/p&gt;
9183
9184 &lt;p&gt;Active Directory have done a better job than unix heads like myself
9185 in this regard, and the unix side need to catch up. Time to start a
9186 new IETF work group?&lt;/p&gt;
9187 </description>
9188 </item>
9189
9190 <item>
9191 <title>Checking server hardware support status for Dell, HP and IBM servers</title>
9192 <link>http://people.skolelinux.org/pere/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html</link>
9193 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html</guid>
9194 <pubDate>Sat, 28 Feb 2009 23:50:00 +0100</pubDate>
9195 <description>&lt;p&gt;At work, we have a few hundred Linux servers, and with that amount
9196 of hardware it is important to keep track of when the hardware support
9197 contract expire for each server. We have a machine (and service)
9198 register, which until recently did not contain much useful besides the
9199 machine room location and contact information for the system owner for
9200 each machine. To make it easier for us to track support contract
9201 status, I&#39;ve recently spent time on extending the machine register to
9202 include information about when the support contract expire, and to tag
9203 machines with expired contracts to make it easy to get a list of such
9204 machines. I extended a perl script already being used to import
9205 information about machines into the register, to also do some screen
9206 scraping off the sites of Dell, HP and IBM (our majority of machines
9207 are from these vendors), and automatically check the support status
9208 for the relevant machines. This make the support status information
9209 easily available and I hope it will make it easier for the computer
9210 owner to know when to get new hardware or renew the support contract.
9211 The result of this work documented that 27% of the machines in the
9212 registry is without a support contract, and made it very easy to find
9213 them. 27% might seem like a lot, but I see it more as the case of us
9214 using machines a bit longer than the 3 years a normal support contract
9215 last, to have test machines and a platform for less important
9216 services. After all, the machines without a contract are working fine
9217 at the moment and the lack of contract is only a problem if any of
9218 them break down. When that happen, we can either fix it using spare
9219 parts from other machines or move the service to another old
9220 machine.&lt;/p&gt;
9221
9222 &lt;p&gt;I believe the code for screen scraping the Dell site was originally
9223 written by Trond Hasle Amundsen, and later adjusted by me and Morten
9224 Werner Forsbring. The HP scraping was written by me after reading a
9225 nice article in ;login: about how to use WWW::Mechanize, and the IBM
9226 scraping was written by me based on the Dell code. I know the HTML
9227 parsing could be done using nice libraries, but did not want to
9228 introduce more dependencies. This is the current incarnation:&lt;/p&gt;
9229
9230 &lt;pre&gt;
9231 use LWP::Simple;
9232 use POSIX;
9233 use WWW::Mechanize;
9234 use Date::Parse;
9235 [...]
9236 sub get_support_info {
9237 my ($machine, $model, $serial, $productnumber) = @_;
9238 my $str;
9239
9240 if ( $model =~ m/^Dell / ) {
9241 # fetch website from Dell support
9242 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;;
9243 my $webpage = get($url);
9244 return undef unless ($webpage);
9245
9246 my $daysleft = -1;
9247 my @lines = split(/\n/, $webpage);
9248 foreach my $line (@lines) {
9249 next unless ($line =~ m/Beskrivelse/);
9250 $line =~ s/&amp;lt;[^&gt;]+?&gt;/;/gm;
9251 $line =~ s/^.+?;(Beskrivelse;)/$1/;
9252
9253 my @f = split(/\;/, $line);
9254 @f = @f[13 .. $#f];
9255 my $lastend = &quot;&quot;;
9256 while ($f[3] eq &quot;DELL&quot;) {
9257 my ($type, $startstr, $endstr, $days) = @f[0, 5, 7, 10];
9258
9259 my $start = POSIX::strftime(&quot;%Y-%m-%d&quot;,
9260 localtime(str2time($startstr)));
9261 my $end = POSIX::strftime(&quot;%Y-%m-%d&quot;,
9262 localtime(str2time($endstr)));
9263 $str .= &quot;$type $start -&gt; $end &quot;;
9264 @f = @f[14 .. $#f];
9265 $lastend = $end if ($end gt $lastend);
9266 }
9267 my $today = POSIX::strftime(&quot;%Y-%m-%d&quot;, localtime(time));
9268 tag_machine_unsupported($machine)
9269 if ($lastend lt $today);
9270 }
9271 } elsif ( $model =~ m/^HP / ) {
9272 my $mech = WWW::Mechanize-&gt;new();
9273 my $url =
9274 &#39;http://www1.itrc.hp.com/service/ewarranty/warrantyInput.do&#39;;
9275 $mech-&gt;get($url);
9276 my $fields = {
9277 &#39;BODServiceID&#39; =&gt; &#39;NA&#39;,
9278 &#39;RegisteredPurchaseDate&#39; =&gt; &#39;&#39;,
9279 &#39;country&#39; =&gt; &#39;NO&#39;,
9280 &#39;productNumber&#39; =&gt; $productnumber,
9281 &#39;serialNumber1&#39; =&gt; $serial,
9282 };
9283 $mech-&gt;submit_form( form_number =&gt; 2,
9284 fields =&gt; $fields );
9285 # Next step is screen scraping
9286 my $content = $mech-&gt;content();
9287
9288 $content =~ s/&amp;lt;[^&gt;]+?&gt;/;/gm;
9289 $content =~ s/\s+/ /gm;
9290 $content =~ s/;\s*;/;;/gm;
9291 $content =~ s/;[\s;]+/;/gm;
9292
9293 my $today = POSIX::strftime(&quot;%Y-%m-%d&quot;, localtime(time));
9294
9295 while ($content =~ m/;Warranty Type;/) {
9296 my ($type, $status, $startstr, $stopstr) = $content =~
9297 m/;Warranty Type;([^;]+);.+?;Status;(\w+);Start Date;([^;]+);End Date;([^;]+);/;
9298 $content =~ s/^.+?;Warranty Type;//;
9299 my $start = POSIX::strftime(&quot;%Y-%m-%d&quot;,
9300 localtime(str2time($startstr)));
9301 my $end = POSIX::strftime(&quot;%Y-%m-%d&quot;,
9302 localtime(str2time($stopstr)));
9303
9304 $str .= &quot;$type ($status) $start -&gt; $end &quot;;
9305
9306 tag_machine_unsupported($machine)
9307 if ($end lt $today);
9308 }
9309 } elsif ( $model =~ m/^IBM / ) {
9310 # This code ignore extended support contracts.
9311 my ($producttype) = $model =~ m/.*-\[(.{4}).+\]-/;
9312 if ($producttype &amp;amp;&amp;amp; $serial) {
9313 my $content =
9314 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;);
9315 if ($content) {
9316 $content =~ s/&amp;lt;[^&gt;]+?&gt;/;/gm;
9317 $content =~ s/\s+/ /gm;
9318 $content =~ s/;\s*;/;;/gm;
9319 $content =~ s/;[\s;]+/;/gm;
9320
9321 $content =~ s/^.+?;Warranty status;//;
9322 my ($status, $end) = $content =~ m/;Warranty status;([^;]+)\s*;Expiration date;(\S+) ;/;
9323
9324 $str .= &quot;($status) -&gt; $end &quot;;
9325
9326 my $today = POSIX::strftime(&quot;%Y-%m-%d&quot;, localtime(time));
9327 tag_machine_unsupported($machine)
9328 if ($end lt $today);
9329 }
9330 }
9331 }
9332 return $str;
9333 }
9334 &lt;/pre&gt;
9335
9336 &lt;p&gt;Here are some examples on how to use the function, using fake
9337 serial numbers. The information passed in as arguments are fetched
9338 from dmidecode.&lt;/p&gt;
9339
9340 &lt;pre&gt;
9341 print get_support_info(&quot;hp.host&quot;, &quot;HP ProLiant BL460c G1&quot;, &quot;1234567890&quot;
9342 &quot;447707-B21&quot;);
9343 print get_support_info(&quot;dell.host&quot;, &quot;Dell Inc. PowerEdge 2950&quot;, &quot;1234567&quot;);
9344 print get_support_info(&quot;ibm.host&quot;, &quot;IBM eserver xSeries 345 -[867061X]-&quot;,
9345 &quot;1234567&quot;);
9346 &lt;/pre&gt;
9347
9348 &lt;p&gt;I would recommend this approach for tracking support contracts for
9349 everyone with more than a few computers to administer. :)&lt;/p&gt;
9350
9351 &lt;p&gt;Update 2009-03-06: The IBM page do not include extended support
9352 contracts, so it is useless in that case. The original Dell code do
9353 not handle extended support contracts either, but has been updated to
9354 do so.&lt;/p&gt;
9355 </description>
9356 </item>
9357
9358 <item>
9359 <title>Using bar codes at a computing center</title>
9360 <link>http://people.skolelinux.org/pere/blog/Using_bar_codes_at_a_computing_center.html</link>
9361 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Using_bar_codes_at_a_computing_center.html</guid>
9362 <pubDate>Fri, 20 Feb 2009 08:50:00 +0100</pubDate>
9363 <description>&lt;p&gt;At work with the University of Oslo, we have several hundred computers
9364 in our computing center. This give us a challenge in tracking the
9365 location and cabling of the computers, when they are added, moved and
9366 removed. Some times the location register is not updated when a
9367 computer is inserted or moved and we then have to search the room for
9368 the &quot;missing&quot; computer.&lt;/p&gt;
9369
9370 &lt;p&gt;In the last issue of Linux Journal, I came across a project
9371 &lt;a href=&quot;http://www.libdmtx.org/&quot;&gt;libdmtx&lt;/a&gt; to write and read bar
9372 code blocks as defined in the
9373 &lt;a href=&quot;http://en.wikipedia.org/wiki/Data_Matrix&quot;&gt;The Data Matrix
9374 Standard&lt;/a&gt;. This is bar codes that can be read with a normal
9375 digital camera, for example that on a cell phone, and several such bar
9376 codes can be read by libdmtx from one picture. The bar code standard
9377 allow up to 2 KiB to be written in the tag. There is another project
9378 with &lt;a href=&quot;http://www.terryburton.co.uk/barcodewriter/&quot;&gt;a bar code
9379 writer written in postscript&lt;/a&gt; capable of creating such bar codes,
9380 but this was the first time I found a tool to read these bar
9381 codes.&lt;/p&gt;
9382
9383 &lt;p&gt;It occurred to me that this could be used to tag and track the
9384 machines in our computing center. If both racks and computers are
9385 tagged this way, we can use a picture of the rack and all its
9386 computers to detect the rack location of any computer in that rack.
9387 If we do this regularly for the entire room, we will find all
9388 locations, and can detect movements and removals.&lt;/p&gt;
9389
9390 &lt;p&gt;I decided to test if this would work in practice, and picked a
9391 random rack and tagged all the machines with their names. Next, I
9392 took pictures with my digital camera, and gave the dmtxread program
9393 these JPEG pictures to see how many tags it could read. This worked
9394 fairly well. If the pictures was well focused and not taken from the
9395 side, all tags in the image could be read. Because of limited space
9396 between the racks, I was unable to get a good picture of the entire
9397 rack, but could without problem read all tags from a picture covering
9398 about half the rack. I had to limit the search time used by dmtxread
9399 to 60000 ms to make sure it terminated in a reasonable time frame.&lt;/p&gt;
9400
9401 &lt;p&gt;My conclusion is that this could work, and we should probably look
9402 at adjusting our computer tagging procedures to use bar codes for
9403 easier automatic tracking of computers.&lt;/p&gt;
9404 </description>
9405 </item>
9406
9407 <item>
9408 <title>When web browser developers make a video player...</title>
9409 <link>http://people.skolelinux.org/pere/blog/When_web_browser_developers_make_a_video_player___.html</link>
9410 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/When_web_browser_developers_make_a_video_player___.html</guid>
9411 <pubDate>Sat, 17 Jan 2009 18:50:00 +0100</pubDate>
9412 <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;
9413 to publish video recordings of our monthly presentations, we provide a
9414 page with embedded video for easy access to the recording. Putting a
9415 good set of HTML tags together to get working embedded video in all
9416 browsers and across all operating systems is not easy. I hope this
9417 will become easier when the &amp;lt;video&amp;gt; tag is implemented in all
9418 browsers, but I am not sure. We provide the recordings in several
9419 formats, MPEG1, Ogg Theora, H.264 and Quicktime, and want the
9420 browser/media plugin to pick one it support and use it to play the
9421 recording, using whatever embed mechanism the browser understand.
9422 There is at least four different tags to use for this, the new HTML5
9423 &amp;lt;video&amp;gt; tag, the &amp;lt;object&amp;gt; tag, the &amp;lt;embed&amp;gt; tag and
9424 the &amp;lt;applet&amp;gt; tag. All of these take a lot of options, and
9425 finding the best options is a major challenge.&lt;/p&gt;
9426
9427 &lt;p&gt;I just tested the experimental Opera browser available from &lt;a
9428 href=&quot;http://labs.opera.com&quot;&gt;labs.opera.com&lt;/a&gt;, to see how it handled
9429 a &amp;lt;video&amp;gt; tag with a few video sources and no extra attributes.
9430 I was not very impressed. The browser start by fetching a picture
9431 from the video stream. Not sure if it is the first frame, but it is
9432 definitely very early in the recording. So far, so good. Next,
9433 instead of streaming the 76 MiB video file, it start to download all
9434 of it, but do not start to play the video. This mean I have to wait
9435 for several minutes for the downloading to finish. When the download
9436 is done, the playing of the video do not start! Waiting for the
9437 download, but I do not get to see the video? Some testing later, I
9438 discover that I have to add the controls=&quot;true&quot; attribute to be able
9439 to get a play button to pres to start the video. Adding
9440 autoplay=&quot;true&quot; did not help. I sure hope this is a misfeature of the
9441 test version of Opera, and that future implementations of the
9442 &amp;lt;video&amp;gt; tag will stream recordings by default, or at least start
9443 playing when the download is done.&lt;/p&gt;
9444
9445 &lt;p&gt;The test page I used (since changed to add more attributes) is
9446 &lt;a href=&quot;http://www.nuug.no/aktiviteter/20090113-foredrag-om-foredrag/&quot;&gt;available
9447 from the nuug site&lt;/a&gt;. Will have to test it with the new Firefox
9448 too.&lt;/p&gt;
9449
9450 &lt;p&gt;In the test process, I discovered a missing feature. I was unable
9451 to find a way to get the URL of the playing video out of Opera, so I
9452 am not quite sure it picked the Ogg Theora version of the video. I
9453 sure hope it was using the announced Ogg Theora support. :)&lt;/p&gt;
9454 </description>
9455 </item>
9456
9457 <item>
9458 <title>Software video mixer on a USB stick</title>
9459 <link>http://people.skolelinux.org/pere/blog/Software_video_mixer_on_a_USB_stick.html</link>
9460 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Software_video_mixer_on_a_USB_stick.html</guid>
9461 <pubDate>Sun, 28 Dec 2008 15:40:00 +0100</pubDate>
9462 <description>&lt;p&gt;The &lt;a href=&quot;http://www.nuug.no/&quot;&gt;Norwegian Unix User Group&lt;/a&gt; is
9463 recording our montly presentation on video, and recently we have
9464 worked on improving the quality of the recordings by mixing the slides
9465 directly with the video stream. For this, we use the
9466 &lt;a href=&quot;http://dvswitch.alioth.debian.org/&quot;&gt;dvswitch&lt;/a&gt; package from
9467 the Debian video team. As this require quite one computer per video
9468 source, and NUUG do not have enough laptops available, we need to
9469 borrow laptops. And to avoid having to install extra software on
9470 these borrwed laptops, I have wrapped up all the programs needed on a
9471 bootable USB stick. The software required is dvswitch with assosiated
9472 source, sink and mixer applications and
9473 &lt;a href=&quot;http://www.kinodv.org/&quot;&gt;dvgrab&lt;/a&gt;. To allow this setup to
9474 work without any configuration, I&#39;ve patched dvswitch to use
9475 &lt;a href=&quot;http://www.avahi.org/&quot;&gt;avahi&lt;/a&gt; to connect the various parts
9476 together. And to allow us to use laptops without firewire plugs, I
9477 upgraded dvgrab to the one from Debian/unstable to get one that work
9478 with USB sources. We have not yet tested this setup in a production
9479 setup, but I hope it will work properly, and allow us to set up a
9480 video mixer in a very short time frame. We will need it for
9481 &lt;a href=&quot;http://www.goopen.no/&quot;&gt;Go Open 2009&lt;/a&gt;.&lt;/p&gt;
9482
9483 &lt;p&gt;&lt;a href=&quot;http://www.nuug.no/pub/video/bin/usbstick-dvswitch.img.gz&quot;&gt;The
9484 USB image&lt;/a&gt; is for a 1 GB memory stick, but can be used on any
9485 larger stick as well.&lt;/p&gt;
9486 </description>
9487 </item>
9488
9489 <item>
9490 <title>Devcamp brought us closer to the Lenny based Debian Edu release</title>
9491 <link>http://people.skolelinux.org/pere/blog/Devcamp_brought_us_closer_to_the_Lenny_based_Debian_Edu_release.html</link>
9492 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Devcamp_brought_us_closer_to_the_Lenny_based_Debian_Edu_release.html</guid>
9493 <pubDate>Sun, 7 Dec 2008 12:00:00 +0100</pubDate>
9494 <description>&lt;p&gt;This weekend we had a small developer gathering for Debian Edu in
9495 Oslo. Most of Saturday was used for the general assemly for the
9496 member organization, but the rest of the weekend I used to tune the
9497 LTSP installation. LTSP now work out of the box on the 10-network.
9498 Acer Aspire One proved to be a very nice thin client, with both
9499 screen, mouse and keybard in a small box. Was working on getting the
9500 diskless workstation setup configured out of the box, but did not
9501 finish it before the weekend was up.&lt;/p&gt;
9502
9503 &lt;p&gt;Did not find time to look at the 4 VGA cards in one box we got from
9504 the Brazilian group, so that will have to wait for the next
9505 development gathering. Would love to have the Debian Edu installer
9506 automatically detect and configure a multiseat setup when it find one
9507 of these cards.&lt;/p&gt;
9508 </description>
9509 </item>
9510
9511 <item>
9512 <title>The sorry state of multimedia browser plugins in Debian</title>
9513 <link>http://people.skolelinux.org/pere/blog/The_sorry_state_of_multimedia_browser_plugins_in_Debian.html</link>
9514 <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/The_sorry_state_of_multimedia_browser_plugins_in_Debian.html</guid>
9515 <pubDate>Tue, 25 Nov 2008 00:10:00 +0100</pubDate>
9516 <description>&lt;p&gt;Recently I have spent some time evaluating the multimedia browser
9517 plugins available in Debian Lenny, to see which one we should use by
9518 default in Debian Edu. We need an embedded video playing plugin with
9519 control buttons to pause or stop the video, and capable of streaming
9520 all the multimedia content available on the web. The test results and
9521 notes are available on
9522 &lt;a href=&quot;http://wiki.debian.org/DebianEdu/BrowserMultimedia&quot;&gt;the
9523 Debian wiki&lt;/a&gt;. I was surprised how few of the plugins are able to
9524 fill this need. My personal video player favorite, VLC, has a really
9525 bad plugin which fail on a lot of the test pages. A lot of the MIME
9526 types I would expect to work with any free software player (like
9527 video/ogg), just do not work. And simple formats like the
9528 audio/x-mplegurl format (m3u playlists), just isn&#39;t supported by the
9529 totem and vlc plugins. I hope the situation will improve soon. No
9530 wonder sites use the proprietary Adobe flash to play video.&lt;/p&gt;
9531
9532 &lt;p&gt;For Lenny, we seem to end up with the mplayer plugin. It seem to
9533 be the only one fitting our needs. :/&lt;/p&gt;
9534 </description>
9535 </item>
9536
9537 </channel>
9538 </rss>