]> pere.pagekite.me Git - homepage.git/blob - blog/tags/english/index.html
3584950d936660df1b941b59fb91258ed45bc3ad
[homepage.git] / blog / tags / english / index.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
4 <head>
5 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen: Entries Tagged english</title>
7 <link rel="stylesheet" type="text/css" media="screen" href="http://people.skolelinux.org/pere/blog/style.css" />
8 <link rel="stylesheet" type="text/css" media="screen" href="http://people.skolelinux.org/pere/blog/vim.css" />
9 <link rel="alternate" title="RSS Feed" href="english.rss" type="application/rss+xml" />
10 </head>
11 <body>
12 <div class="title">
13 <h1>
14 <a href="http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen</a>
15
16 </h1>
17
18 </div>
19
20
21 <h3>Entries tagged "english".</h3>
22
23 <div class="entry">
24 <div class="title">
25 <a href="http://people.skolelinux.org/pere/blog/A_word_on_bitcoin_support_in_Debian.html">A word on bitcoin support in Debian</a>
26 </div>
27 <div class="date">
28 21st December 2012
29 </div>
30 <div class="body">
31 <p>It has been a while since I wrote about
32 <a href="http://www.bitcoin.org/">bitcoin</a>, the decentralised
33 peer-to-peer based crypto-currency, and the reason is simply that I
34 have been busy elsewhere. But two days ago, I started looking at the
35 state of <a href="http://packages.qa.debian.org/bitcoin">bitcoin in
36 Debian</a> again to try to recover my old bitcoin wallet. The package
37 is now maintained by a
38 <a href="https://alioth.debian.org/projects/pkg-bitcoin/">team of
39 people</a>, and the grunt work had already been done by this team. We
40 own a huge thank you to all these team members. :)
41 But I was sad to discover that the bitcoin client is missing in
42 Wheezy. It is only available in Sid (and a outdated client from
43 backports). The client had several RC bugs registered in BTS blocking
44 it from entering testing. To try to help the team and improve the
45 situation, I spent some time providing patches and triaging the bug
46 reports. I also had a look at the bitcoin package available from Matt
47 Corallo in a
48 <a href="https://launchpad.net/~bitcoin/+archive/bitcoin">PPA for
49 Ubuntu</a>, and moved the useful pieces from that version into the
50 Debian package. </p>
51
52 <p>After checking with the main package maintainer Jonas Smedegaard on
53 IRC, I pushed several patches into the collab-maint git repository to
54 improve the package. It now contain fixes for the RC issues (not from
55 me, but fixed by Scott Howard), build rules for a Qt GUI client
56 package, konqueror support for the bitcoin: URI and bash completion
57 setup. As I work on Debian Squeeze, I also created
58 <a href="http://lists.alioth.debian.org/pipermail/pkg-bitcoin-devel/Week-of-Mon-20121217/000041.html">a
59 patch to backport</a> the latest version. Jonas is going to look at
60 it and try to integrate it into the git repository before uploading a
61 new version to unstable.
62
63 <p>I would very much like bitcoin to succeed, to get rid of the
64 centralized control currently exercised in the monetary system. I
65 find it completely unacceptable that the USA government is collecting
66 transaction data for almost all international money transfers (most are done in USD and transaction logs shipped to the spooks), and
67 that the major credit card companies can block legal money
68 transactions to Wikileaks. But for bitcoin to succeed, more people
69 need to use bitcoins, and more people need to accept bitcoins when
70 they sell products and services. Improving the bitcoin support in
71 Debian is a small step in the right direction, but not enough.
72 Unfortunately the user experience when browsing the web and wanting to
73 pay with bitcoin is still not very good. The bitcoin: URI is a step
74 in the right direction, but need to work in most or every browser in
75 use. Also the bitcoin-qt client is too heavy to fire it up to do a
76 quick transaction. I believe there are other clients available, but
77 have not tested them.</p>
78
79 <p>My
80 <a href="http://people.skolelinux.org/pere/blog/Now_accepting_bitcoins___anonymous_and_distributed_p2p_crypto_money.html">experiment
81 with bitcoins</a> showed that at least some of my readers use bitcoin.
82 I received 20.15 BTC so far on the address I provided in my blog two
83 years ago, as can be
84 <a href="http://blockexplorer.com/address/15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">seen
85 on the blockexploer service</a>. Thank you everyone for your
86 donation. The blockexploer service demonstrate quite well that
87 bitcoin is not quite anonymous and untracked. :) I wonder if the
88 number of users have gone up since then. If you use bitcoin and want
89 to show your support of my activity, please send Bitcoin donations to
90 the same address as last time,
91 <b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
92
93 </div>
94 <div class="tags">
95
96
97 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
98
99
100 </div>
101 </div>
102 <div class="padding"></div>
103
104 <div class="entry">
105 <div class="title">
106 <a href="http://people.skolelinux.org/pere/blog/Ledger___double_entry_accounting_using_text_based_storage_format.html">Ledger - double-entry accounting using text based storage format</a>
107 </div>
108 <div class="date">
109 18th December 2012
110 </div>
111 <div class="body">
112 <p>A few days ago I came across
113 <a href="http://joeyh.name/blog/entry/hledger/">a blog post from Joey
114 Hess</a> describing <a href="http://ledger-cli.org/">ledger</a> and
115 hledger, a text based system for double-entry accounting. I found it
116 interesting, as I am involved with several organizations where
117 accounting is an issue, and I have not really become too friendly with
118 the different web based systems we use. I find it hard to find what I
119 look for in the menus and even harder try to get sensible data out of
120 the systems. Ledger seem different. The accounting data is kept in
121 text files that can be stored in a version control system, and there
122
123 are at least <a href="https://github.com/ledger/ledger/wiki/Ports">five
124 different implementations</a> able to read the format. An example
125 entry look like this, and is simple enough that it will be trivial to
126 generate entries based on CVS files fetched from the bank:</p>
127
128 <blockquote><pre>
129 2004-05-27 Book Store
130 Expenses:Books $20.00
131 Liabilities:Visa
132 </pre></blockquote>
133
134 <p>The concept seemed interesting enough for me to check it out and
135 look for others using it. I found blog posts from
136 <a href="http://blog.spang.cc/posts/hledger_rocks_my_world/">Christine
137 Spang</a>,
138 <a href="http://bugsplat.info/2010-05-23-keeping-finances-with-ledger.html">Pete
139 Keen</a>,
140 <a href="http://blog.andrewcantino.com/blog/2010/11/06/command-line-accounting-with-ledger-and-reckon/">Andrew
141 Cantino</a> and
142 <a href="http://blog.iphoting.com/blog/2012/11/29/command-line-double-entry-accounting/">Ronald
143 Ip</a> describing how they use it, as well as a post from
144 <a href="https://groups.google.com/forum/?fromgroups=#!topic/ledger-cli/r0oWjwbQ9Bo">Bradley
145 M. Kuhn</a> at the Software Freedom Conservancy. All seemed like good
146 recommendations fitting my need.</p>
147
148 <p>The <a href="http://packages.qa.debian.org/l/ledger.html">ledger</a>
149 package is available in Debian Squeeze, while the
150 <a href="http://packages.qa.debian.org/h/haskell-hledger.html">hledger</a>
151 package only is available in Debian Sid. As I use Squeeze, ledger
152 seemed the best choice to get started.</p>
153
154 <p>To get some real data to test on, I wrote a
155 <a href="http://www.nuug.no/tools/lodo2ledger">web scraper</a> for
156 <a href="http://www.lodo.no/">LODO</a>, the accounting system used by
157 the <a href="http://www.nuug.no/">NUUG</a> association, and started to
158 play with the data set. I'm not really deeply into accounting, but I
159 am able to get a simple balance and accounting status for example
160 using the "<tt>ledger balance</tt>" command. But I will have to
161 gather more experience before I know if the ledger way is a good fit
162 for the organisations I am involved in.</p>
163
164 </div>
165 <div class="tags">
166
167
168 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
169
170
171 </div>
172 </div>
173 <div class="padding"></div>
174
175 <div class="entry">
176 <div class="title">
177 <a href="http://people.skolelinux.org/pere/blog/Scripting_the_Cerebrum_bofhd_user_administration_system_using_XML_RPC.html">Scripting the Cerebrum/bofhd user administration system using XML-RPC</a>
178 </div>
179 <div class="date">
180 6th December 2012
181 </div>
182 <div class="body">
183 <p>Where I work at the <a href="http://www.uio.no/">University of
184 Oslo</a>, we use the
185 <a href="http://sourceforge.net/projects/cerebrum/">Cerebrum user
186 administration system</a> to maintain users, groups, DNS, DHCP, etc.
187 I've known since the system was written that the server is providing
188 an <a href="http://en.wikipedia.org/wiki/XML-RPC">XML-RPC</a> API, but
189 I have never spent time to try to figure out how to use it, as we
190 always use the bofh command line client at work. Until today. I want
191 to script the updating of DNS and DHCP to make it easier to set up
192 virtual machines. Here are a few notes on how to use it with
193 Python.</p>
194
195 <p>I started by looking at the source of the Java
196 <a href="http://cerebrum.svn.sourceforge.net/viewvc/cerebrum/trunk/cerebrum/clients/jbofh/">bofh
197 client</a>, to figure out how it connected to the API server. I also
198 googled for python examples on how to use XML-RPC, and found
199 <a href="http://tldp.org/HOWTO/XML-RPC-HOWTO/xmlrpc-howto-python.html">a
200 simple example in</a> the XML-RPC howto.</p>
201
202 <p>This simple example code show how to connect, get the list of
203 commands (as a JSON dump), and how to get the information about the
204 user currently logged in:</p>
205
206 <blockquote><pre>
207 #!/usr/bin/env python
208 import getpass
209 import xmlrpclib
210 server_url = 'https://cerebrum-uio.uio.no:8000';
211 username = getpass.getuser()
212 password = getpass.getpass()
213 server = xmlrpclib.Server(server_url);
214 #print server.get_commands(sessionid)
215 sessionid = server.login(username, password)
216 print server.run_command(sessionid, "user_info", username)
217 result = server.logout(sessionid)
218 print result
219 </pre></blockquote>
220
221 <p>Armed with this knowledge I can now move forward and script the DNS
222 and DHCP updates I wanted to do.</p>
223
224 </div>
225 <div class="tags">
226
227
228 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin</a>.
229
230
231 </div>
232 </div>
233 <div class="padding"></div>
234
235 <div class="entry">
236 <div class="title">
237 <a href="http://people.skolelinux.org/pere/blog/Why_isn_t_the_value_of_copyright_taxed_.html">Why isn't the value of copyright taxed?</a>
238 </div>
239 <div class="date">
240 17th November 2012
241 </div>
242 <div class="body">
243 <p>While working on a
244 <a href="https://github.com/petterreinholdtsen/free-culture-lessig">Norwegian
245 translation of the Free Culture by Lawrence Lessig</a> (76% done),
246 which cover the problems with todays copyright law and how it stifles
247 creativity, one idea occurred to me. The idea is to get the tax
248 office to help make more works enter the public domain and also help
249 make it easier to clear rights for using copyrighted works.</p>
250
251 <p>I mentioned this idea briefly during Yesterdays
252 <a href="http://www.farmann.no/2012/11/14/john-perry-barlow-in-oslo-friday-nov-16
253 -15-30-19-00/">presentation
254 by John Perry Barlow</a>, and concluded that it was best to put it
255 in writing for a wider audience. The idea is not really based on the
256 argument that copyrighted works are "intellectual property", as the
257 core requirement is that copyrighted work have value for the copyright
258 holder and the tax office like to collect their share from any value
259 controlled by the citizens in a country. I'm sharing the idea here to
260 let others consider it and perhaps shoot it down with a fresh set of
261 arguments.</p>
262
263 <p>Most valuables are taxed by the government. At least here in
264 Norway, the amount of money you have, the value of our land property,
265 the value of your house, the value of your car, the value of our
266 stocks and other valuables are all added together. If the tax value
267 of these values exceed your debt, you have to pay the tax office some
268 taxes for these values. And copyrighted work have value. It have
269 value for the rights holder, who can earn money selling access to the
270 work. But it is not included in the tax calculations? Why not?</p>
271
272 <p>If the government want to tax copyrighted works, it would want to
273 maintain a database of all the copyrighted works and who are the
274 rights holders for a given works, to be able to associate the works
275 value to the right citizen or company for tax purposes. If such
276 database exist, it will become a lot easier to find out who to talk to
277 for clearing permissions to use a copyrighted work, which is a very
278 hard operation with todays copyright law. To ensure that copyright
279 holders keep the database up-to-date, it would have to become a
280 requirement to be able to collect money for granting access to
281 copyrighted works that the work is listed in the database with the
282 correct right holder.</p>
283
284 <p>If copyright causes copyright holders to have to pay more taxes,
285 they will have a small incentive to "disown" their copyright, and let
286 the work enter the public domain. For works with several right holders
287 one of the right holders could state (and get it registered in the
288 database) that she do not need to be consulted when clearing rights to
289 use the work in question and thus will not get any income from that
290 work. Stating this would have to be impossible to revert and stop the
291 tax office from adding the value of that work to the given citizens
292 tax calculation. I assume the copyright law would stay the same,
293 allowing creators to pick a license of their choosing, and also
294 allowing them to put their work directly in the public domain. The
295 existence of such database will make it even easier to clear rights,
296 and if the right holders listed in the database is taxed, this system
297 would increase the amount of works that enter the public domain.</p>
298
299 <p>The effect would be that the tax office help to make it easier to
300 get rights to use the works that have not yet entered the public
301 domain and help to get more work into the public domain and .</p>
302
303 <p>Why have such taxing not happened yet? I am sure the tax office
304 would like to tax copyrighted work values if they could.</p>
305
306 </div>
307 <div class="tags">
308
309
310 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture</a>, <a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett</a>.
311
312
313 </div>
314 </div>
315 <div class="padding"></div>
316
317 <div class="entry">
318 <div class="title">
319 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Angela_Fu_.html">Debian Edu interview: Angela Fuß</a>
320 </div>
321 <div class="date">
322 14th November 2012
323 </div>
324 <div class="body">
325 <p>Here is another interview with one of the people in the <a
326 href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>
327 community. I am running short on people willing to be interviewed, so
328 if you know about someone I should interview, Please send me an email.
329 After asking for many months, I finally managed to lure another one of
330 the people behind the German
331 "<a href="http://wiki.it-zukunft-schule.de/">IT-Zukunft Schule</a>"
332 project out from maternity leave to conduct an interview. Give a warm
333 welcome to Angela Fuß. :)</p>
334
335 <p><strong>Who are you, and how do you spend your days?</strong></p>
336
337 <p>I am a 39-year-old woman living in the very north of Germany near
338 Denmark. I live in a patchwork family with "my man" Mike Gabriel, my
339 two daughters, Mikes daughter and Mikes and my rather newborn son.
340
341 <p>At the moment - because of our little baby - I am spending most of
342 the day by being a caring and organising mom for all the kids.
343 Besides that I am really involved into and occupied with several inner
344 growth processes: New born souls always bring the whole familiar
345 system into movement and that needs time and focus ;-). We are also
346 in the middle of buying a house and moving to it.</p>
347
348 <p>In 2013 I will work again in my job in a German foundation for
349 nature conservation. I am doing public relation work there. Besides
350 that - and that is the connection to Skolelinux / Debian Edu - I am
351 working in our own school project "IT-Zukunft Schule" in North
352 Germany. I am responsible for the quality assurance, the customer
353 relationship management and the communication processes in the
354 project.</p>
355
356 <p>Since 2001 I constantly have been training myself in communication
357 and leadership. Besides that I am a forester, a landscaping gardener
358 and a yoga teacher.</p>
359
360 <p><strong>How did you get in contact with the Skolelinux / Debian Edu
361 project?</strong></p>
362
363 <p>I fell in love with Mike ;-).</p>
364
365 <p>Very soon after getting to know him I was completely enrolled into
366 Free Software. At this time Mike did IT-services for one newly
367 founded school in Kiel. Other schools in Kiel needed concepts for
368 their IT environment. Often when Mike came home from working at the
369 newly founded school I found myself listening to his complaints about
370 several points where the communication with the schools head or the
371 teachers did not work. So we were clear that he would not work for
372 one more school if we did not set up a structure for communication
373 between him, the schools head, the teachers, the students and the
374 parents.</p>
375
376 <p>Together with our friend and hardware supplier Andreas Buchholz we
377 started to get an overview of free software solutions suitable for
378 schools. One day before Christmas 2010 Mike and I had a date with Kurt
379 Gramlich in Gütersloh. As Kurt and I are really interested in building
380 networks of people and in being in communication we dived into
381 Skolelinux and brought it to the first grammar schools in Northern
382 Germany.</p>
383
384 <p>For information about our school project you can read
385 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Mike_Gabriel.html">the
386 interview with Mike Gabriel</a>.</p>
387
388 <p><strong>What do you see as the advantages of Skolelinux / Debian
389 Edu?</strong></p>
390
391 <p>First I have to say: I cannot answer this question technically. My
392 answer comes rather from a social point of view.</p>
393
394 <p>The biggest advantage of Skolelinux / Debian Edu I see is the large
395 and strong international community of Debian Developers in the
396 background which is very alive and connected over mailinglists, blogs
397 and meetings. My constant feeling for the Debian Community is: If
398 something does not work they will somehow fix it. All is well
399 ;-). This is of course a user experience. What I also get as a big
400 advantage of Skolelinux / Debian Edu is that everybody who uses it and
401 works with it can also contribute to it - that includes students,
402 teachers, parents...</p>
403
404 <p><strong>What do you see as the disadvantages of Skolelinux / Debian
405 Edu?</strong></p>
406
407 <p>I will answer this question relating to the internal structure of
408 Skolelinux / Debian Edu.</p>
409
410 <p>What I see as a major disadvantage is that there is a gap between
411 the group of developers for Debian Edu and the people who make the
412 marketing, that means the people that bring Skolelinux to the
413 schools. There is a lack of communication between these two groups and
414 I think that does not really work for Skolelinux / Debian Edu.</p>
415
416 <p>Further I appreciate that Skolelinux / Debian Edu is known as a
417 do-ocracy. Nevertheless I keep asking myself if at some points a
418 democracy or some kind of hierarchical project structure would be good
419 and helpful. I am also missing some kind of contact between the
420 Skolelinux / Debian Edu communities in Europe or on an international
421 level. I think it would be good if there was more sharing between the
422 different countries using Skolelinux / Debian Edu.</p>
423
424 <p><strong>Which free software do you use daily?</strong></p>
425
426 <p>On my laptop I am still using an Ubuntu 10.04 with a Gnome Desktop
427 on. As applications I use Openoffice.org, Gedit, Firefox, Pidgin,
428 LaTeX and GnuCash. For mails I am using Horde. And I am really fond of
429 my N900 running with Maemo.</p>
430
431 <p><strong>Which strategy do you believe is the right one to use to
432 get schools to use free software?</strong></p>
433
434 <p>I am really convinced that in our school project "IT-Zukunft
435 Schule" we have developed (and keep developing) a great way to get
436 schools to use Free Software. We have written a detailed concept for
437 that so I cannot explain the whole thing here. But in a nutshell the
438 strategy has three crucial pillars:</p>
439
440 <ul>
441
442 <li>We really take time to get what sort of stories, questions and
443 concerns the schools head and the teachers have about using different
444 kinds of IT and we take time to enrol them into Free Software.</li>
445
446 <li>Our solution for schools is never just technical. In the centre
447 are always the people who are going to use the software. From the very
448 beginning of the planning for a school, we tell the schools head that
449 they are paying us not only for a technical solution for their school,
450 they also pay us for leading all the communication processes
451 needed. If they do not want that, we are not working with them because
452 we cannot give a guarantee for the quality of our work then.</li>
453
454 <li>Another focus lies in the training of teachers and students in
455 co-administrating the IT-System at their school. They start getting in
456 contact with the Skolelinux / Debian Edu community and they get the
457 offer to become more and more independent from us.</li>
458
459 </ul>
460
461 </div>
462 <div class="tags">
463
464
465 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju</a>.
466
467
468 </div>
469 </div>
470 <div class="padding"></div>
471
472 <div class="entry">
473 <div class="title">
474 <a href="http://people.skolelinux.org/pere/blog/The_European_Central_Bank__ECB__take_a_look_at_bitcoin.html">The European Central Bank (ECB) take a look at bitcoin</a>
475 </div>
476 <div class="date">
477 4th November 2012
478 </div>
479 <div class="body">
480 <p>Slashdot just ran a story about the European Central Bank (ECB)
481 <a href="http://www.ecb.europa.eu/pub/pdf/other/virtualcurrencyschemes201210en.pdf">releasing
482 a report (PDF)</a> about virtual currencies and
483 <a href="http://www.bitcoin.org/">bitcoin</a>. It is interesting to
484 see how a member of the bitcoin community
485 <a href="http://blog.bitinstant.com/blog/2012/10/30/the-ecb-report-on-bitcoin-and-virtual-currencies.html">receive
486 the report</a>. As for the future, I suspect the central banks and
487 the governments will outlaw bitcoin if it gain any popularity, to avoid
488 competition. My thoughts go to the
489 <a href="http://en.wikipedia.org/wiki/Wörgl">Wörgl experiment</a> with
490 negative inflation on cash which was such a success that it was
491 terminated by the Austrian National Bank in 1933. A successful
492 alternative would be a threat to the current money system and gain
493 powerful forces to work against it.</p>
494
495 <p>While checking out the current status of bitcoin, I also discovered
496 that the community already seem to have
497 <a href="http://www.theverge.com/2012/8/27/3271637/bitcoin-savings-trust-pyramid-scheme-shuts-down">experienced
498 its first pyramid game / Ponzi scheme</a>. Not very surprising, given
499 how members of "small" communities tend to trust each other. I guess
500 enterprising crocks will try again and again, as they do anywhere
501 wealth is available.</p>
502
503 </div>
504 <div class="tags">
505
506
507 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet</a>.
508
509
510 </div>
511 </div>
512 <div class="padding"></div>
513
514 <div class="entry">
515 <div class="title">
516 <a href="http://people.skolelinux.org/pere/blog/12_years_of_outages___summarised_by_Stuart_Kendrick.html">12 years of outages - summarised by Stuart Kendrick</a>
517 </div>
518 <div class="date">
519 26th October 2012
520 </div>
521 <div class="body">
522 <p>I work at the <a href="http://www.uio.no/">University of Oslo</a>
523 looking after the computers, mostly on the unix side, but in general
524 all over the place. I am also a member (and currently leader) of
525 <a href="http://www.nuug.no/">the NUUG association</a>, which in turn
526 make me a member of <a href="http://www.usenix.org/">USENIX</a>. NUUG
527 is an member organisation for us in Norway interested in free
528 software, open standards and unix like operating systems, and USENIX
529 is a US based member organisation with similar targets. And thanks to
530 these memberships, I get all issues of the great USENIX magazine
531 <a href="https://www.usenix.org/publications/login">;login:</a> in the
532 mail several times a year. The magazine is great, and I read most of
533 it every time.</p>
534
535 <p>In the last issue of the USENIX magazine ;login:, there is an
536 article by <a href="http://www.skendric.com/">Stuart Kendrick</a> from
537 Fred Hutchinson Cancer Research Center titled
538 "<a href="https://www.usenix.org/publications/login/october-2012-volume-37-number-5/what-takes-us-down">What
539 Takes Us Down</a>" (longer version also
540 <a href="http://www.skendric.com/problem/incident-analysis/2012-06-30/What-Takes-Us-Down.pdf">available
541 from his own site</a>), where he report what he found when he
542 processed the outage reports (both planned and unplanned) from the
543 last twelve years and classified them according to cause, time of day,
544 etc etc. The article is a good read to get some empirical data on
545 what kind of problems affect a data centre, but what really inspired
546 me was the kind of reporting they had put in place since 2000.<p>
547
548 <p>The centre set up a mailing list, and started to send fairly
549 standardised messages to this list when a outage was planned or when
550 it already occurred, to announce the plan and get feedback on the
551 assumtions on scope and user impact. Here is the two example from the
552 article: First the unplanned outage:
553
554 <blockquote><pre>
555 Subject: Exchange 2003 Cluster Issues
556 Severity: Critical (Unplanned)
557 Start: Monday, May 7, 2012, 11:58
558 End: Monday, May 7, 2012, 12:38
559 Duration: 40 minutes
560 Scope: Exchange 2003
561 Description: The HTTPS service on the Exchange cluster crashed, triggering
562 a cluster failover.
563
564 User Impact: During this period, all Exchange users were unable to
565 access e-mail. Zimbra users were unaffected.
566 Technician: [xxx]
567 </pre></blockquote>
568
569 Next the planned outage:
570
571 <blockquote><pre>
572 Subject: H Building Switch Upgrades
573 Severity: Major (Planned)
574 Start: Saturday, June 16, 2012, 06:00
575 End: Saturday, June 16, 2012, 16:00
576 Duration: 10 hours
577 Scope: H2 Transport
578 Description: Currently, Catalyst 4006s provide 10/100 Ethernet to end-
579 stations. We will replace these with newer Catalyst
580 4510s.
581 User Impact: All users on H2 will be isolated from the network during
582 this work. Afterward, they will have gigabit
583 connectivity.
584 Technician: [xxx]
585 </pre></blockquote>
586
587 <p>He notes in his article that the date formats and other fields have
588 been a bit too free form to make it easy to automatically process them
589 into a database for further analysis, and I would have used ISO 8601
590 dates myself to make it easier to process (in other words I would ask
591 people to write '2012-06-16 06:00 +0000' instead of the start time
592 format listed above). There are also other issues with the format
593 that could be improved, read the article for the details.</p>
594
595 <p>I find the idea of standardising outage messages seem to be such a
596 good idea that I would like to get it implemented here at the
597 university too. We do register
598 <a href="http://www.uio.no/tjenester/it/aktuelt/planlagte-tjenesteavbrudd/">planned
599 changes and outages in a calendar</a>, and report the to a mailing
600 list, but we do not do so in a structured format and there is not a
601 report to the same location for unplanned outages. Perhaps something
602 for other sites to consider too?</p>
603
604 </div>
605 <div class="tags">
606
607
608 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
609
610
611 </div>
612 </div>
613 <div class="padding"></div>
614
615 <div class="entry">
616 <div class="title">
617 <a href="http://people.skolelinux.org/pere/blog/Amazon_steal_books_from_customer_and_throw_out_her_out_without_any_explanation.html">Amazon steal books from customer and throw out her out without any explanation</a>
618 </div>
619 <div class="date">
620 22nd October 2012
621 </div>
622 <div class="body">
623 <p>A blog post from Martin Bekkelund today tell the story of
624 <a href="http://www.bekkelund.net/2012/10/22/outlawed-by-amazon-drm/">how
625 Amazon erased the books from a customer's kindle, locked the account
626 and refuse to tell the customer why</a>. If a real book store did
627 this to a customer, it would be called breaking into private property
628 and theft. The story has spread around the net today. A bit more
629 background information is available in Norwegian from
630 <a href="http://www.digi.no/904658/hun-ble-kastet-ut-av-amazon">digi.no</a>.
631 It is no surprise that digital restriction mechanisms (DRM) are used
632 this way, as it has been warned about such abuse since DRM was
633 introduced many years back. And Amazon proved in 2009 that it was
634 willing to
635 <a href="http://boingboing.net/2009/07/20/amazons-orwellian-de.html">
636 break into customers equipment and remove the books</a> people had
637 bought, when it removed the book 1984 by George Orwell from all the
638 customers who had bought it. From the official comments, it even
639 sounded like
640 <a href="http://www.nytimes.com/2009/07/18/technology/companies/18amazon.html">Amazon
641 would never do that again</a>. And here we are, three years
642 later.</p>
643
644 <p>And thought this action is
645 <a href="http://www.itavisen.no/904648/forbrukerraadet-helt-haarreisende">against
646 Norwegian regulations and law</a>, it is according to the terms of use
647 as written by Amazon, and it is hard to hold Amazon accountable to
648 Norwegian laws. It is just yet another example of unacceptable terms
649 of use on the web, and how they are used to remove customer
650 rights.</p>
651
652 <p>Luckily for electronic books, there are alternatives without
653 unacceptable terms. For example
654 <a href="http://www.gutenberg.org/">Project Gutenberg</a> (about 40,000
655 books), <a href="http://runeberg.org/">Project Runenberg</a> (1,652
656 books) and <a href="http://www.archive.org/details/texts">The Internet
657 Archive</a> (3,641,797 books) have heaps of books without DRM, which
658 can read by anyone and shared with anyone.</p>
659
660 <p>Update 2012-10-23: This story broke in the morning on Monday. In
661 the evening after the story had spread all across the Internet, Amazon
662 restored the account of the user, as reported by
663 <a href="http://www.digi.no/904675/helomvending-fra-amazon">digi.no</a>
664 and <a href="http://nrk.no/kultur-og-underholdning/1.8368487">NRK</a>.
665 Apparently public pressure work. The story from Martin have seen
666 several twitter messages per minute the last 24 hours, which is quite
667 a lot, and is still drawing a lot of attention. But even when the
668 account is restored, the fundamental problem still exist. I recommend
669 reading two opinions from
670 <a href="http://blogs.computerworlduk.com/simon-says/2012/10/rights-you-have-no-right-to-your-ebooks/index.htm">Simon
671 Phipps</a> and
672 <a href="http://blogs.computerworlduk.com/open-enterprise/2012/10/is-amazon-playing-fair/index.htm">Glen
673 Moody</a> if you want to learn more about the fundamentals and more
674 details about the original story.</p>
675
676 </div>
677 <div class="tags">
678
679
680 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett</a>, <a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern</a>.
681
682
683 </div>
684 </div>
685 <div class="padding"></div>
686
687 <div class="entry">
688 <div class="title">
689 <a href="http://people.skolelinux.org/pere/blog/The_fight_for_freedom_and_privacy.html">The fight for freedom and privacy</a>
690 </div>
691 <div class="date">
692 18th October 2012
693 </div>
694 <div class="body">
695 <p>Civil liberties and privacy in the western world are going down the
696 drain, and it is hard to fight against it. I try to do my best, but
697 time is limited. I hope you do your best too. A few years ago I came
698 across a marvellous drawing by
699 <a href="http://www.claybennett.com/about.html">Clay Bennett</a>
700 visualising some of what is going on.
701
702 <p><a href="http://www.claybennett.com/pages/security_fence.html">
703 <img src="http://www.claybennett.com/images/archivetoons/security_fence.jpg"></a></p>
704
705 <blockquote>
706 «They who can give up essential liberty to obtain a little temporary
707 safety, deserve neither liberty nor safety.» - Benjamin Franklin
708 </blockquote>
709
710 <p>Do you feel safe at the airport? I do not. Do you feel safe when
711 you see a surveillance camera? I do not. Do you feel safe when you
712 leave electronic traces of your behaviour and opinions? I do not. I
713 just remember <a href="http://en.wikipedia.org/wiki/Panopticon">the
714 Panopticom</a>, and can not help help to think that we are slowly
715 transforming our society to a huge Panopticom on our own.</p>
716
717 </div>
718 <div class="tags">
719
720
721 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet</a>, <a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance</a>.
722
723
724 </div>
725 </div>
726 <div class="padding"></div>
727
728 <div class="entry">
729 <div class="title">
730 <a href="http://people.skolelinux.org/pere/blog/ColonHelp_produser_sue_WordPress_to_silence_critic.html">ColonHelp produser sue WordPress to silence critic</a>
731 </div>
732 <div class="date">
733 12th October 2012
734 </div>
735 <div class="body">
736 <p>Thanks to a blog post by
737 <a href="http://ramblingfoo.blogspot.no/2012/10/a-shitstorm-is-comming.html">Eddy
738 Petrișor</a>, I became aware of yet another "alternative medicine"
739 company using legal intimidation tactics to scare off critics.
740 According to the originating blog post about the detox "cure"
741 <a href="http://insulaindoielii.wordpress.com/2012/10/11/colon-help-sues-wordpress/">ColonHelp
742 and its producers Zenyth Pharmaceuticals actions</a>, the producer
743 sues Wordpress to get rid of the critical information. To check if
744 the story was for real, I contacted Automattic, the company behind
745 wordpress.com, and they reply was "We can confirm that Zenyth is
746 seeking a court order against WordPress / Automattic. However, we
747 don't believe the Terms of Service have been violated in this
748 matter".</p>
749
750 <p>The story seem to be simply that a blogger checked the scientific
751 foundation for a popular health product in Rumania, ColonHelp, and
752 reported that there was no reason at all to believe it improved the
753 health of its users. This caused the company behind the product,
754 Zenyth Pharmaceuticals, to use legal intimidation to try to silence
755 the critic, instead of presenting its views and scientific foundation
756 to argue its side.</p>
757
758 <p>This is the usual story, and the Zenyth Pharmaceuticals company
759 deserve everyone to know how it failed to act properly. Lets hope the
760 <a href="http://en.wikipedia.org/wiki/Streisand_effect">Streisand
761 effect</a> can make it rethink its strategy.</p>
762
763 <p>What is the harm, you might think. I suggest you take a look at
764 <a href="http://www.whatstheharm.net/detoxification.html">a list of
765 victims of detoxification</a>.</p>
766
767 </div>
768 <div class="tags">
769
770
771 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis</a>.
772
773
774 </div>
775 </div>
776 <div class="padding"></div>
777
778 <div class="entry">
779 <div class="title">
780 <a href="http://people.skolelinux.org/pere/blog/Why_is_your_local_library_collecting_the__wrong__computer_books_.html">Why is your local library collecting the "wrong" computer books?</a>
781 </div>
782 <div class="date">
783 3rd October 2012
784 </div>
785 <div class="body">
786 <p>I just read the blog post from Tim Retout
787 <a href="http://retout.co.uk/blog/2012/10/02/the-library-challenge">about
788 the computer science book collection available in his local
789 library</a>, and just wanted to share my comment on his theory about
790 computer books becoming obsolete so soon. That is part of the reason
791 why the selection is so sad in almost any local library (it is in mine
792 too), but I believe the major contributing factor is that the people
793 buying books to the library have no way to know a good and future
794 computer classic from trash. And they need to know which one will
795 become a classic in the future, as they would normally buy one of the
796 recently published books.</p>
797
798 <p>During my university years, I worked for a while at the university
799 library, and even there the person in charge of buying computer
800 related books (and in fact any natural science related book), did not
801 know enough about computers to make a good educated guess. Once, just
802 before Christmas, they had some leftover money on the book budget and
803 I was asked if I could pick out a lot of computer books in the
804 university book store, for the library to buy for their collection. I
805 had a great time picking all the books I dreamt of buying and reading,
806 and the books I knew were classics (like most of the
807 <a href="http://en.wikipedia.org/wiki/W._Richard_Stevens">Stevens
808 collection</a>). I picked several of the generic O'Reilly books (ie
809 documenting protocols, formats and systems, not specific versions of
810 products) and stayed away from the 'teach yourself X in N days' class.
811 I had a great time, and probably picked out more than a hundred books
812 for the library that evening.</p>
813
814 <p>The sad fact is that there is no way a overworked librarian is
815 going to know that for example
816 <a href="http://en.wikipedia.org/wiki/The_Practice_of_Programming">The
817 Practice of Programming</a> is a must-have in any computer library,
818 and they will most of the time end up picking the wrong books to buy.
819 Perhaps you can help your local library make better choices by giving
820 the suggestions for books to get? I know they would love to hear from
821 you, even if their budget might block them from getting your favourite
822 book right away.</p>
823
824 </div>
825 <div class="tags">
826
827
828 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
829
830
831 </div>
832 </div>
833 <div class="padding"></div>
834
835 <div class="entry">
836 <div class="title">
837 <a href="http://people.skolelinux.org/pere/blog/Seventy_percent_done_with_Norwegian_docbook_version_of_Free_Culture.html">Seventy percent done with Norwegian docbook version of Free Culture</a>
838 </div>
839 <div class="date">
840 23rd September 2012
841 </div>
842 <div class="body">
843 <p>Since this summer, I have worked in my spare time on a Norwegian <a
844 href="http://www.docbook.org/">docbook</a> version of the 2004 book <a
845 href="http://free-culture.cc/">Free Culture</a> by Lawrence Lessig.
846 The reason is that this book is a great primer on what problems exist
847 in the current copyright laws, and I want it to be available also for
848 those that are reluctant do read an English book.
849
850 When I started, I
851 <a href="http://people.skolelinux.org/pere/blog/Dugnad_for___sende_norsk_versjon_av_Free_Culture_til_stortingets_representanter_.html">called
852 for volunteers</a> to help me, but too few have volunteered so far,
853 and progress is a bit slow. Anyway, today I broken the 70 percent
854 mark for the first rough translation. At the moment, less than 700
855 strings (paragraphs, index terms, titles) are left to translate. With
856 my current progress of 10-20 strings per day, it will take a while to
857 complete the translation. This graph show the updated progress:</p>
858
859 <img width="80%" align="center" src="https://github.com/petterreinholdtsen/free-culture-lessig/raw/master/progress.png">
860
861 <p>Progress have slowed down lately due to family and work
862 commitments. If you want to help, please get in touch, and check out
863 the project files currently available from
864 <a href="https://github.com/petterreinholdtsen/free-culture-lessig">github</a>.</p>
865
866 <p>If you are curious what the translated book currently look like,
867 the updated
868 <a href="https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.pdf?raw=true">PDF</a>
869 and
870 <a href="https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.epub?raw=true">EPUB</a>
871 are published on github. The HTML version is published as well, but
872 github hand it out with MIME type text/plain, confusing browsers, so I
873 saw no point in linking to that version.</p>
874
875 </div>
876 <div class="tags">
877
878
879 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture</a>.
880
881
882 </div>
883 </div>
884 <div class="padding"></div>
885
886 <div class="entry">
887 <div class="title">
888 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Giorgio_Pioda.html">Debian Edu interview: Giorgio Pioda</a>
889 </div>
890 <div class="date">
891 17th September 2012
892 </div>
893 <div class="body">
894 <p>After a long break in my row of interviews with people in the
895 <a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>
896 community, I finally found time to wrap up another. This time it is
897 Giorgio Pioda, which showed up on the mailing list at the start of
898 this year, asking questions and inspiring us to improve the first time
899 administrators experience with Skolelinux. :) The interview was
900 conduced in May, but I only found time to publish it now.</p>
901
902 <p><strong>Who are you, and how do you spend your days?</strong></p>
903
904 <p>I have a PhD in chemistry but since several years I work as teacher
905 in secondary (15-18 year old students) and tertiary (a kind of "light"
906 university) schools. Five years ago I started to manage a Learning
907 Management Service server and slowly I got more and more involved with
908 IT. 3 years ago the graduating schools moved completely to Linux and I
909 got the head of the IT for this. The experience collected in chemistry
910 labs computers (for example NMR analysis of protein folding) and in
911 the IT-courses during university where sufficient to start. Self
912 training is anyway very important</p>
913
914 <p>I live in the Italian speaking part of Switzerland, and the
915 <a href="http://www.spse.ch/">SPSE school</a> (secondary) is a very
916 special sport school for young people who try to became sport pro (for
917 all sports, we have dozens of disciplines represented) and we are
918 recognised by the Olympic Swiss Organisation.
919
920 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
921 project?</strong></p>
922
923 <p>Looking for Linux / Primary Domain Controller (PDC) I found it
924 already several years ago. But since the system was still not
925 Kerberized and since our schools relies strongly on laptops I didn't
926 use it. I plan to introduce it in the next future, probably for the
927 next school year, since the squeeze release solved this security
928 hole.</p>
929
930 <p><strong>What do you see as the advantages of Skolelinux/Debian
931 Edu?</strong></p>
932
933 <p>Many. First of all there is a strong and living community that is
934 very generous for help and hints. Chat help is crucial, together with
935 the mailing list. Second. With Skolelinux you get an already well
936 engineered platform and you don't have to start to build up your PDC
937 and your clients from GNU/scratch; I've already done this once and I
938 can tell it, it is hard. Third, since Skolelinux is a standard
939 platform, it is way easier to educate other IT people and even if the
940 head IT is sick another one could pick up the task without too much
941 hassle.</p>
942
943 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
944 Edu?</strong></p>
945
946 <p>The only real problem I see is that it is a little too less
947 flexible at client level. Debian stable is rocky and desirable, but
948 there are many reasons that force for another choice. For example the
949 need of new drivers for new PC, or the need for a specific OS for some
950 devices that have specific software packages for another specific
951 distribution (I have such a case for whiteboards that have only
952 Ubuntu packages). Thus, I prepared compatibility packages educlient
953 and eduroaming, hoping not to use them ;-)</p>
954
955 <p><strong>Which free software do you use daily?</strong></p>
956
957 <p>I have a Debian Stable PDC at school (Kerberos, NIS, NFS) with
958 mixed Debian and Ubuntu clients. If you think that this triad
959 combination is exotic... well I discovered right yesterday that
960 <a href="http://moo.nac.uci.edu/~hjm/Perceus-Report.html">Perceus</a>
961 has the same...</p>
962
963 <p>For myself I run Debian wheezy/sid, but this combination is good
964 only I you have enough competence to fix stuff for yourself, if
965 something breaks. Daily I use texmacs, gnumeric, a little bit of R
966 statistics, kmplot, and less frequently OpenOffice.org.</p>
967
968 <p><strong>Which strategy do you believe is the right one to use to
969 get schools to use free software?</strong></p>
970
971 <P>I think that the only real argument that school managers "hear" is
972 cost reduction. They don't give too much weight on quality, stability,
973 just because they are normally not open to change.</p>
974
975 <p>Students adapts very quickly to GNU/Linux (and for them being able
976 to switch between different OS is a plus value); teachers and managers
977 don't.</p>
978
979 <p>We decided to move to Linux because students at our school have own
980 laptop and we have the responsibility to keep the laptop ready to use;
981 we were really unsatisfied with Microsoft since every Monday we had 20
982 machine to fix for viral infections... With Linux this has been
983 reduced to zero, since people installs almost only from official
984 repositories. I think that our special needs brought us to Linux.
985 Those who don't have such needs will hardly move to Linux.</p>
986
987 </div>
988 <div class="tags">
989
990
991 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju</a>.
992
993
994 </div>
995 </div>
996 <div class="padding"></div>
997
998 <div class="entry">
999 <div class="title">
1000 <a href="http://people.skolelinux.org/pere/blog/IETF_activity_to_standardise_video_codec.html">IETF activity to standardise video codec</a>
1001 </div>
1002 <div class="date">
1003 15th September 2012
1004 </div>
1005 <div class="body">
1006 <p>After the
1007 <a href="http://people.skolelinux.org/pere/blog/IETF_standardize_its_first_multimedia_codec__Opus.html">Opus
1008 codec made</a> it into <a href="http://www.ietf.org/">IETF</a> as
1009 <a href="http://tools.ietf.org/html/rfc6716">RFC 6716</a>, I had a look
1010 to see if there is any activity in IETF to standardise a video codec
1011 too, and I was happy to discover that there is some activity in this
1012 area. A non-"working group" mailing list
1013 <a href="https://www.ietf.org/mailman/listinfo/video-codec">video-codec</a>
1014 was
1015 <a href="http://ietf.10.n7.nabble.com/New-Non-WG-Mailing-List-video-codec-Video-codec-BoF-discussion-list-td119548.html">created 2012-08-20</a>. It is intended to discuss the topic and if a
1016 formal working group should be formed.</p>
1017
1018 <p>I look forward to see how this plays out. There is already
1019 <a href="http://www.ietf.org/mail-archive/web/video-codec/current/msg00003.html">an
1020 email from someone</a> in the MPEG group at ISO asking people to
1021 participate in the ISO group. Given how ISO failed with OOXML and given
1022 that it so far (as far as I can remember) only have produced
1023 multimedia formats requiring royalty payments, I suspect
1024 joining the ISO group would be a complete waste of time, but I am not
1025 involved in any codec work and my opinion will not matter much.</p>
1026
1027 <p>If one of my readers is involved with codec work, I hope she will
1028 join this work to standardise a royalty free video codec within
1029 IETF.</p>
1030
1031 </div>
1032 <div class="tags">
1033
1034
1035 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen</a>, <a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
1036
1037
1038 </div>
1039 </div>
1040 <div class="padding"></div>
1041
1042 <div class="entry">
1043 <div class="title">
1044 <a href="http://people.skolelinux.org/pere/blog/IETF_standardize_its_first_multimedia_codec__Opus.html">IETF standardize its first multimedia codec: Opus</a>
1045 </div>
1046 <div class="date">
1047 12th September 2012
1048 </div>
1049 <div class="body">
1050 <p>Yesterday, <a href="http://www.ietf.org/">IETF</a> announced the
1051 publication of of
1052 <a href="http://tools.ietf.org/html/rfc6716">RFC 6716, the Definition
1053 of the Opus Audio Codec</a>, a low latency, variable bandwidth, codec
1054 intended for both VoIP, film and music. This is the first time, as
1055 far as I know, that IETF have standardized a multimedia codec. In
1056 <a href="http://tools.ietf.org/html/rfc3533">RFC 3533</a>, IETF
1057 standardized the OGG container format, and it has proven to be a great
1058 royalty free container for audio, video and movies. I hope IETF will
1059 continue to standardize more royalty free codeces, after ISO and MPEG
1060 have proven incapable of securing everyone equal rights to publish
1061 multimedia content on the Internet.</p>
1062
1063 <p>IETF require two interoperating independent implementations to
1064 ratify a standard, and have so far ensured to only standardize royalty
1065 free specifications. Both are key factors to allow everyone (rich and
1066 poor), to compete on equal terms on the Internet.</p>
1067
1068 <p>Visit the <a href="http://opus-codec.org/">Opus project page</a> if
1069 you want to learn more about the solution.</p>
1070
1071 </div>
1072 <div class="tags">
1073
1074
1075 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen</a>, <a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
1076
1077
1078 </div>
1079 </div>
1080 <div class="padding"></div>
1081
1082 <div class="entry">
1083 <div class="title">
1084 <a href="http://people.skolelinux.org/pere/blog/Git_repository_for_song_book_for_Computer_Scientists.html">Git repository for song book for Computer Scientists</a>
1085 </div>
1086 <div class="date">
1087 7th September 2012
1088 </div>
1089 <div class="body">
1090 <p>As I
1091 <a href="http://people.skolelinux.org/pere/blog/Song_book_for_Computer_Scientists.html">mentioned
1092 this summer</a>, I have created a Computer Science song book a few
1093 years ago, and today I finally found time to create a public
1094 <a href="https://gitorious.org/pere-cs-songbook/pere-cs-songbook">Gitorious
1095 repository for the project</a>.</p>
1096
1097 <p>If you want to help out, please clone the source and submit patches
1098 to the HTML version. To generate the PDF and PostScript version,
1099 please use prince XML, or let me know about a useful free software
1100 processor capable of creating a good looking PDF from the HTML.</p>
1101
1102 <p>Want to sing? You can still find the song book in HTML, PDF and
1103 PostScript formats at
1104 <a href="http://www.hungry.com/~pere/cs-songbook/">Petter's Computer
1105 Science Songbook</a>.</p>
1106
1107 </div>
1108 <div class="tags">
1109
1110
1111 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>.
1112
1113
1114 </div>
1115 </div>
1116 <div class="padding"></div>
1117
1118 <div class="entry">
1119 <div class="title">
1120 <a href="http://people.skolelinux.org/pere/blog/Free_software_forced_Microsoft_to_open_Office__and_don_t_forget_Officeshots_.html">Free software forced Microsoft to open Office (and don't forget Officeshots)</a>
1121 </div>
1122 <div class="date">
1123 23rd August 2012
1124 </div>
1125 <div class="body">
1126 <p>I came across a great comment from Simon Phipps today, about how
1127 <a href="http://www.infoworld.com/d/open-source-software/how-microsoft-was-forced-open-office-200233">Microsoft
1128 have been forced to open Office</a>, and it made me remember and
1129 revisit the great site
1130 <a href="http://www.officeshots.org/">officeshots</a> which allow you
1131 to check out how different programs present the ODF file format. I
1132 recommend both to those of my readers interested in ODF. :)</p>
1133
1134 </div>
1135 <div class="tags">
1136
1137
1138 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
1139
1140
1141 </div>
1142 </div>
1143 <div class="padding"></div>
1144
1145 <div class="entry">
1146 <div class="title">
1147 <a href="http://people.skolelinux.org/pere/blog/Half_way_there_with_translated_docbook_version_of_Free_Culture.html">Half way there with translated docbook version of Free Culture</a>
1148 </div>
1149 <div class="date">
1150 17th August 2012
1151 </div>
1152 <div class="body">
1153 <p>In my spare time, I currently work on a Norwegian
1154 <a href="http://www.docbook.org/">docbook</a> version of the 2004 book
1155 <a href="http://free-culture.cc/">Free Culture</a> by Lawrence Lessig,
1156 to get a Norwegian text explaining the problems with the copyright law
1157 I can give to my parents and others that are reluctant to read an
1158 English book. It is a marvellous set of examples on how the ever
1159 expanding copyright regulations hurt culture and society. When the
1160 translation is done, I hope to find funding to print and ship a copy
1161 to all the members of the Norwegian parliament, before they sit down
1162 to debate the latest revisions to the Norwegian copyright law. This
1163 summer I
1164 <a href="http://people.skolelinux.org/pere/blog/Dugnad_for___sende_norsk_versjon_av_Free_Culture_til_stortingets_representanter_.html">called
1165 for volunteers</a> to help me, and I have been able to secure the
1166 valuable contribution from at least one other Norwegian.</p>
1167
1168 <p>Two days ago, we finally broke the 50% mark. Then more than 50% of
1169 the number of strings to translate (normally paragraphs, but also
1170 titles and index entries are also counted). All parts from the
1171 beginning up to and including chapter four is translated. So is
1172 chapters six, seven and the conclusion. I created a graph to show the
1173 progress:</p>
1174
1175 <img width="80%" align="center" src="https://github.com/petterreinholdtsen/free-culture-lessig/raw/master/progress.png">
1176
1177 <p>The number of strings to translate increase as I insert the index
1178 entries into the docbook. They were missing with the docbook version
1179 I initially started with. There are still quite a few index entries
1180 missing, but everyone starting with A, B, O, Z and Y are done. I
1181 currently focus on completing the index entries, to get a complete
1182 english version of the docbook source.</p>
1183
1184 <p>There is still need for translators and people with docbook
1185 knowledge, to be able to get a good looking book (I still struggle
1186 with dblatex, xmlto and docbook-xsl) as well as to do the draft
1187 translation and proof reading. And I would like the figures to be
1188 redrawn as SVGs to make it easy to translate them. Any SVG master
1189 around? I am sure there are some legal terms that are unfamiliar to
1190 me. If you want to help, please get in touch, and check out the
1191 project files currently available from <a
1192 href="https://github.com/petterreinholdtsen/free-culture-lessig">github</a>.</p>
1193
1194 <p>If you are curious what the translated book currently look like,
1195 the updated
1196 <a href="https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.pdf?raw=true">PDF</a>
1197 and
1198 <a href="https://github.com/petterreinholdtsen/free-culture-lessig/blob/master/archive/freeculture.nb.epub?raw=true">EPUB</a>
1199 are published on github. The HTML version is published as well, but
1200 github hand it out with MIME type text/plain, confusing browsers, so I
1201 saw no point in linking to that version.</p>
1202
1203 </div>
1204 <div class="tags">
1205
1206
1207 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture</a>.
1208
1209
1210 </div>
1211 </div>
1212 <div class="padding"></div>
1213
1214 <div class="entry">
1215 <div class="title">
1216 <a href="http://people.skolelinux.org/pere/blog/Notes_on_language_codes_for_Norwegian_docbook_processing___.html">Notes on language codes for Norwegian docbook processing...</a>
1217 </div>
1218 <div class="date">
1219 10th August 2012
1220 </div>
1221 <div class="body">
1222 <p>In <a href="http://www.docbook.org/">docbook</a> one can specify
1223 the language used at the top, and the processing pipeline will use
1224 this information to pick the correct translations for 'chapter', 'see
1225 also', 'index' etc. And for most languages used with docbook, I guess
1226 this work just fine. For example a German user can start the document
1227 with &lt;book lang="de"&gt;, and the document will show up with the
1228 correct content with any of the docbook processors. This is not the
1229 case for the language
1230 <a href="http://people.skolelinux.org/pere/blog/Free_Culture_in_Norwegian___5_chapters_done__74_percent_left_to_do.html">I
1231 am working with at the moment</a>, Norwegian Bokmål.</p>
1232
1233 <p>For a while, I was confused about which language code to use,
1234 because I was unable to find any language code that would work across
1235 all tools. I am currently testing dblatex, xmlto, docbook-xsl, and
1236 dbtoepub, and they do not handle Norwegian Bokmål the same way. Some
1237 of them do not handle it at all.</p>
1238
1239 <p>A bit of background information is probably needed to understand
1240 this mess. Norwegian is not one, but two written variants. The
1241 variants are Norwegian Nynorsk and Norwegian Bokmål. There are three
1242 two letter language codes associated with these languages, Norwegian
1243 is 'no', Norwegian Nynorsk is 'nn' and Norwegian Bokmål is 'nb'.
1244 Historically the 'no' language code was used for Norwegian Bokmål, but
1245 many years ago this was found to be å bad idea, and the recommendation
1246 is to use the most specific language code instead, to avoid confusion.
1247 In the transition period it is a good idea to make sure 'no' was an
1248 alias for 'nb'.</p>
1249
1250 <p>Back to docbook processing tools in Debian. The dblatex tool only
1251 understand 'nn'. There are translations for 'no', but not 'nb' (BTS
1252 <a href="http://bugs.debian.org/684391">#684391</a>), but due to a bug
1253 (BTS <a href="http://bugs.debian.org/682936">#682936</a>) the 'no'
1254 language code is not recognised. The docbook-xsl tool chain only
1255 recognise 'nn' and 'nb', but not 'no'. The xmlto tool only recognise
1256 'nn' and 'nb', but not 'no'. The end result that there is no language
1257 code I can use to get the docbook file working with all of these tools
1258 at the same time. :(</p>
1259
1260 <p>The correct solution is to use &lt;book lang="nb"&gt;, but it will
1261 take time before that will work with all the free software docbook
1262 processors. :(</p>
1263
1264 <p>Oh, the joy of well integrated tools. :/</p>
1265
1266 </div>
1267 <div class="tags">
1268
1269
1270 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture</a>.
1271
1272
1273 </div>
1274 </div>
1275 <div class="padding"></div>
1276
1277 <div class="entry">
1278 <div class="title">
1279 <a href="http://people.skolelinux.org/pere/blog/Best_way_to_create_a_docbook_book_.html">Best way to create a docbook book?</a>
1280 </div>
1281 <div class="date">
1282 31st July 2012
1283 </div>
1284 <div class="body">
1285 <p>I tried to send this text to the
1286 <a href="https://lists.oasis-open.org/archives/docbook-apps/">docbook-apps
1287 mailing list at lists.oasis-open.org</a>, but it only accept messages
1288 from subscribers and rejected my post, and I completely lack the
1289 bandwidth required to subscribe to another mailing list, so instead I
1290 try to post my message here and hope my blog readers can help me
1291 out.</p>
1292
1293 <p>I am quite new to docbook processing, and am climbing a steep
1294 learning curve at the moment.</p>
1295
1296 <p>To give you some background, I am working on a Norwegian
1297 translation of the book Free Culture by Lawrence Lessig, and I use
1298 docbook to handle the process. The files to build the book are
1299 available from
1300 <a href="https://github.com/petterreinholdtsen/free-culture-lessig">github</a>.
1301 The book got around 400 pages with parts, images, footnotes, tables,
1302 index entries etc, which has proven to be a challenge for the free
1303 software docbook processors. My build platform is Debian GNU/Linux
1304 Squeeze.</p>
1305
1306 <p>I want to build PDF, EPUB and HTML version of the book, and have
1307 tried different tool chains to do the conversion from docbook to these
1308 formats. I am currently focusing on the PDF version, and have a few
1309 problems.</p>
1310
1311 <ul>
1312
1313 <li>Using dblatex, the &lt;part&gt; handling is not the way I want to,
1314 as &lt;/part&gt; do not really end the &lt;part&gt;. (See
1315 <a href="http://bugs.debian.org/683166">BTS report #683166</a>), the
1316 xetex backend (needed to process UTF-8) give incorrect hyphens in
1317 index references spanning several pages (See
1318 <a href="http://bugs.debian.org/682901">BTS report #682901</a>), and
1319 I am unable to get the norwegian template texts (See
1320 <a href="http://bugs.debian.org/682936">BTS report #682936</a>).</li>
1321
1322 <li>Using straight xmlto fail with some latex error (See
1323 <a href="http://bugs.debian.org/683163">BTS report
1324 #683163</a>).</li>
1325
1326 <li>Using xmlto with the fop backend fail to handle images (do not
1327 show up in the PDF), fail to handle a long footnote (overlap
1328 footnote and text body, see
1329 <a href="http://bugs.debian.org/683197">BTS report #683197</a>), and
1330 fail to create a correct index (some lack page ref, and the page
1331 refs listed are not right).</li>
1332
1333 <li>Using xmlto with the dblatex backend behave like dblatex.</li>
1334
1335 <li>Using docbook-xls with xsltproc + fop have the same footnote and
1336 index problems the xmlto + fop processing.</li>
1337
1338 </ul>
1339
1340 <p>So I wonder, what would be the best way to create the PDF version
1341 of this book? Are some of the bugs found above solved in new or
1342 experimental versions of some docbook tool chain?</p>
1343
1344 <p>What about HTML and EPUB versions?</p>
1345
1346 </div>
1347 <div class="tags">
1348
1349
1350 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture</a>.
1351
1352
1353 </div>
1354 </div>
1355 <div class="padding"></div>
1356
1357 <div class="entry">
1358 <div class="title">
1359 <a href="http://people.skolelinux.org/pere/blog/Free_Culture_in_Norwegian___5_chapters_done__74_percent_left_to_do.html">Free Culture in Norwegian - 5 chapters done, 74 percent left to do</a>
1360 </div>
1361 <div class="date">
1362 21st July 2012
1363 </div>
1364 <div class="body">
1365 <p>I reported earlier that I am working on
1366 <a href="http://people.skolelinux.org/pere/blog/Dugnad_for___sende_norsk_versjon_av_Free_Culture_til_stortingets_representanter_.html">a
1367 norwegian version</a> of the book
1368 <a href="http://free-culture.cc/">Free Culture</a> by Lawrence Lessig.
1369 Progress is good, and yesterday I got a major contribution from Anders
1370 Hagen Jarmund completing chapter six. The source files as well as a
1371 PDF and EPUB version of this book are available from
1372 <a href="https://github.com/petterreinholdtsen/free-culture-lessig">github</a>.</p>
1373
1374 <p>I am happy to report that the draft for the first two chapters
1375 (preface, introduction) is complete, and three other chapters are also
1376 completely translated. This completes 26 percent of the number of
1377 strings (equivalent to paragraphs) in the book, and there is thus 74
1378 percent left to translate. A graph of the progress is present at the
1379 bottom of the github project page. There is still room for more
1380 contributors. Get in touch or send github pull requests with fixes if
1381 you got time and are willing to help make this book make it to
1382 print. :)</p>
1383
1384 <p>The book translation framework could also be a good basis for other
1385 translations, if you want the book to be available in your
1386 language.</p>
1387
1388 </div>
1389 <div class="tags">
1390
1391
1392 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett</a>.
1393
1394
1395 </div>
1396 </div>
1397 <div class="padding"></div>
1398
1399 <div class="entry">
1400 <div class="title">
1401 <a href="http://people.skolelinux.org/pere/blog/Call_for_help_from_docbook_expert_to_tag_Free_Culture_by_Lawrence_Lessig.html">Call for help from docbook expert to tag Free Culture by Lawrence Lessig</a>
1402 </div>
1403 <div class="date">
1404 16th July 2012
1405 </div>
1406 <div class="body">
1407 <p>I am currently working on a
1408 <a href="http://people.skolelinux.org/pere/blog/Dugnad_for___sende_norsk_versjon_av_Free_Culture_til_stortingets_representanter_.html">project
1409 to translate</a> the book
1410 <a href="http://free-culture.cc/">Free Culture</a> by Lawrence Lessig
1411 to Norwegian. And the source we base our translation on is the
1412 <a href="http://en.wikipedia.org/wiki/DocBook">docbook</a> version, to
1413 allow us to use po4a and .po files to handle the translation, and for
1414 this to work well the docbook source document need to be properly
1415 tagged. The source files of this project is available from
1416 <a href="https://github.com/petterreinholdtsen/free-culture-lessig">github</a>.</p>
1417
1418 <p>The problem is that the docbook source have flaws, and we have
1419 no-one involved in the project that is a docbook expert. Is there a
1420 docbook expert somewhere that is interested in helping us create a
1421 well tagged docbook version of the book, and adjust our build process
1422 for the PDF, EPUB and HTML version of the book? This will provide a
1423 well tagged English version (our source document), and make it a lot
1424 easier for us to create a good Norwegian version. If you can and want
1425 to help, please get in touch with me or fork the github project and
1426 send pull requests with fixes. :)</p>
1427
1428 </div>
1429 <div class="tags">
1430
1431
1432 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett</a>.
1433
1434
1435 </div>
1436 </div>
1437 <div class="padding"></div>
1438
1439 <div class="entry">
1440 <div class="title">
1441 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__George_Bredberg.html">Debian Edu interview: George Bredberg</a>
1442 </div>
1443 <div class="date">
1444 9th July 2012
1445 </div>
1446 <div class="body">
1447 <p>The <a href="http://www.skolelinux.org/">Debian Edu /
1448 Skolelinux</a> project have users all over the globe, but until
1449 recently we have not known about any users in Norway's neighbour
1450 country Sweden. This changed when George Bredberg showed up in March
1451 this year on the mailing list, asking interesting questions about how
1452 to adjust and scale the just released
1453 <a href="http://www.debian.org/News/2012/20120311.html">Debian Edu
1454 Wheezy</a> setup to his liking. He granted me an interview, and I am
1455 happy to share his answers with you here.</p>
1456
1457 <p><strong>Who are you, and how do you spend your days?</strong></p>
1458
1459 <p>I'm a 44 year old country guy that have been working 12 years at
1460 the same school as 50% IT-manager and 50% Teacher. My educational
1461 background is fil.kand in history and religious beliefs, an exam as a
1462 "folkhighschool" teacher, that is, for teaching grownups. In
1463 Norwegian I believe it's called "Vuxenupplaring". I also have a master
1464 in "Technology and social change". So I'm not really a tech guy, I
1465 just like to study how humans and technology interact and that is my
1466 perspective when working with IT.</p>
1467
1468 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
1469 project?</strong></p>
1470
1471 I have followed the Skolelinux project for quite some time by
1472 now. Earlier I tested out the K12-LTSP project, which we used for some
1473 time, but I really like the idea of having a distribution aimed to be
1474 a complete solution for schools with necessary tools integrated. When
1475 K12-LTSP abandoned that idea some years ago, I started to look more
1476 seriously into Skolelinux instead.
1477
1478 <p><strong>What do you see as the advantages of Skolelinux/Debian
1479 Edu?</strong></p>
1480
1481 The big point of Skolelinux to me is that it is a complete
1482 distribution, ready to install. It has LDAP-support, MS Windows
1483 integration tools and so forth already configured, saving an
1484 administrator a lot of time and headache. We were using another Linux
1485 based thin-client system called Thinlinc, that has served us very
1486 well. But that Skolelinux is based on VNC and LTSP, to me, is better
1487 when it comes to the kind of multimedia used in schools. That is
1488 showing videos from Youtube or educational TV. It is also easier to
1489 mix thin clients with workstations, since the user settings will be the
1490 same. In our VNC-based solution you had to "beat around the bush" by
1491 setting up a second, hidden, home-directory for user settings for the
1492 workstations, because they will be different from the ones used on the
1493 thin clients. Skolelinux support for diskless workstations are very
1494 convenient since a school today often need to use a class room
1495 projector showing videos in full screen. That is easily done with a
1496 small integrated media computer running as a diskless workstation. You
1497 have only two installs to update and configure. One for the thin
1498 clients and one for the workstations. Also saving a lot of time. Our
1499 old system was also based on Redhat and CentOS. They are both very
1500 nice distributions, but they are sometimes painfully slow when it
1501 comes to updating multimedia support and multimedia programs (even
1502 such as Gimp), leaving us with a bit "oldish" applications. Debian is
1503 quicker to update.
1504
1505 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
1506 Edu?</strong></p>
1507
1508 <p>Debian is a bit too quick when it comes to updating. As an example
1509 we use old HP terminals as thinclients, and two times already this
1510 year (2012) the updates you get from the repositories has stopped
1511 sound from working with them. It's a kernel/ALSA issue. So you have
1512 to be more careful properly testing the updates before you run them in
1513 a production environment. This has never happened with CentOS.</p>
1514
1515 <p>I also would like to be able to set my own domain-settings at
1516 install time. In Skolelinux they are kind of hard coded into the
1517 distribution, when it comes to LDAP and at least samba integration.
1518 That is more a cosmetic/translation issue, and not a real problem.
1519 Running MS Windows applications within the Skolelinux environment needs
1520 to be better supported. That is, running them seamlessly via RDP, and
1521 support for single-sign on. That will make the transition to free
1522 software easier, because you can keep the applications you really
1523 need. No support will make it impossible if you work in a school where
1524 some applications can't be open source. As for us we really need to
1525 run Adobe InDesign in our journalist classes. We run a journalist
1526 education, and is one of the very few non university ones that is ok:d
1527 by Svenska journalistförbundet (Swedish journalist association). Our
1528 education gives the pupils the right of membership there, once they
1529 are done. This is important if you want to get a job.</p>
1530
1531 <p>Adobe InDesign is the program most commonly used in newspapers and
1532 magazines. We used Quark Express before, but they seem to loose there
1533 market to Adobe. The only "equivalent" to InDesign in the opensource
1534 world is Scribus, and its not advanced enough. At least not according
1535 to the teacher. I think it would be possible to use it, because they
1536 are not supposed to learn a program, they are supposed to learn how to
1537 edit and compile a newspaper. But politically at our school we are not
1538 there yet. And Scribus lacks a lot of things you find i InDesign.</p>
1539
1540 <p>We used even a windows program for sound editing when it comes to
1541 the radio-journalist part. The year to come we are going to try
1542 Audacity. That software has the same kind of limitations compared to
1543 Adobe Audition, but that teacher is a bit more open minded. We have
1544 tried Ardour also, but that instead is more like a music studio
1545 program, not intended for the kind of editing taking place in a radio
1546 studio. Its way to complex and the GUI is to scattered when you only
1547 want to cut, make pass-overs, add extra channels and normalise. Those
1548 things you can do in Audacity, but its not as easy as in Audition. You
1549 have to do more things manually with envelopes, and that is a bit old
1550 fashion and timewasting. Its also harder to cut and move sound from
1551 one channel to another, which is a thing that you do frequently
1552 because you often find yourself needing to rearrange parts of the
1553 sound file.</p>
1554
1555 <p>So, I am not sure we will succeed in replacing even Audition, but we
1556 will try. The problem is the students have certain expectations when
1557 they start an education towards a profession. So the programs has to
1558 look and feel professional. Good thing with radio, there are many
1559 programs out there, that radio studios use, so its not as standardised
1560 as Newspaper editing. That means, it does not really matter what
1561 program they learn, because once they start working they still have to
1562 learn the program the studio uses, so instead focus has to be to learn
1563 the editing part without to much focus on a specific software.</p>
1564
1565 <p><strong>Which free software do you use daily?</strong></p>
1566
1567 <p>Myself I'm running Linux Mint, or Ubuntu these days. I use almost
1568 only open source software, and preferably Linux based. When it comes
1569 to most used applications its OpenOffice, and Firefox (of course ;)
1570 )</p>
1571
1572 <p><strong>Which strategy do you believe is the right one to use to
1573 get schools to use free software?</strong></p>
1574
1575 <p>To get schools to use free software there has to be good open
1576 source software that are windows based, to ease the transition. But
1577 it's also very important that the multimedia support is working
1578 flawlessly. The problems with Youtube, Twitter, Facebook and whatever
1579 will create problems when it comes to both teachers and
1580 students. Economy are also important for schools, so using thin
1581 clients, as long as they have good multimedia support, is a very good
1582 idea. It's also important that the open source software works even for
1583 the administration. It's hard to convince the teachers to stick with
1584 open source, if the principal has to run Windows. It also creates a
1585 problem if some classes has to use Windows for there tasks, since that
1586 will create a difference in "status" between classes, so a good
1587 support for running windows applications via the thin client (Linux)
1588 desktop is essential. At least at our school, where we have mixed
1589 level of educations, from high-school to journalist-school.</p>
1590
1591 <p>Update 2012-07-09 08:30: Paul Wise tipped me on IRC about three
1592 useful sources related to Free Software for radio stations: the LWN
1593 article <a href="https://lwn.net/Articles/481607/">Radio station
1594 management with Airtime</a>,
1595 <a href="http://www.sourcefabric.org/en/airtime/">Airtime</a> which
1596 claim to be a Free open source radio automation software and
1597 <a href="http://www.rivendellaudio.org/">Rivendell</a> which claim to
1598 be complete radio broadcast automation solution. All of them seem
1599 useful to the aspiring radio producer.</p>
1600
1601 </div>
1602 <div class="tags">
1603
1604
1605 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju</a>.
1606
1607
1608 </div>
1609 </div>
1610 <div class="padding"></div>
1611
1612 <div class="entry">
1613 <div class="title">
1614 <a href="http://people.skolelinux.org/pere/blog/Why_do_schools_waste_money_on_IT_.html">Why do schools waste money on IT?</a>
1615 </div>
1616 <div class="date">
1617 8th July 2012
1618 </div>
1619 <div class="body">
1620 <p>In the Debian Edu / Skolelinux project, we have realised that one
1621 of the major blockers for the project success is the purchasing skills
1622 in schools and municipalities. We provide what the happy users of
1623 Debian Edu / Skolelinux say they need and to a lower cost than the
1624 alternatives, and yet so few schools decide to use our solution. I
1625 was pleased to discover the same observation done by mySociety and Tom
1626 Steinberg in his blog post
1627 "<a href="http://www.mysociety.org/2012/06/19/can-you-recognize-the-million-pound-chair/">Can
1628 you recognize the million pound chair?</a>". Read it and weep for the
1629 spending of your tax money.</p>
1630
1631 <p>Of course there are other factors involved as well, like our
1632 projects bad marketing skills and the Linux community fragmentation
1633 causing worry with the people on the outside, so we as a project need
1634 to keep working hard to gain users, but it is a up-hill battle when
1635 public decision makers are unable to understand computer system
1636 purchases.</p>
1637
1638 </div>
1639 <div class="tags">
1640
1641
1642 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
1643
1644
1645 </div>
1646 </div>
1647 <div class="padding"></div>
1648
1649 <div class="entry">
1650 <div class="title">
1651 <a href="http://people.skolelinux.org/pere/blog/Free_Timetabling_Software___nice_free_software.html">Free Timetabling Software - nice free software</a>
1652 </div>
1653 <div class="date">
1654 7th July 2012
1655 </div>
1656 <div class="body">
1657 <p>Included in <a href="http://www.skolelinux.org/">Debian Edu /
1658 Skolelinux</a> is a large collection of end user and school specific
1659 software. It is one of the packages not installed by default but
1660 provided in the Debian archive for schools to install if they want to,
1661 is a system to automatically plan the school time table using
1662 information about available teachers, classes and rooms, combined with
1663 the list of required courses and how many hours each topic should
1664 receive. The software is
1665
1666 <a href="http://lalescu.ro/liviu/fet/">named FET</a>, and it provide a
1667 graphical user interface to input the required information, save the
1668 result in a fairly simple XML format, and generate time tables for
1669 both teachers and students. It is available both for
1670 <a href="http://lalescu.ro/liviu/fet/download.html">Linux, MacOSX and
1671 Windows</a>.</p>
1672
1673 <p>This is <a href="http://lalescu.ro/liviu/fet/features.html">the
1674 feature list</a>, liftet from the project web site:</p>
1675
1676 <p><ul>
1677
1678 <li>FET is free software, licensed under the GNU GPL v2 or later.
1679 You can freely use, copy, modify and redistribute it </li>
1680
1681 <li>Localized to en_US (US English, default), ar (Arabic), ca
1682 (Catalan), da (Danish), de (German), el (Greek), es (Spanish), fa
1683 (Persian), fr (French), gl (Galician), he (Hebrew), hu
1684 (Hungarian), id (Indonesian), it (Italian), lt (Lithuanian), mk
1685 (Macedonian), ms (Malay), nl (Dutch), pl (Polish), pt_BR
1686 (Brazilian Portuguese), ro (Romanian), ru (Russian), si (Sinhala),
1687 sk (Slovak), sr (Serbian), tr (Turkish), uk (Ukrainian), uz
1688 (Uzbek) and vi (Vietnamese) (incompletely for some languages)
1689 </li>
1690
1691 <li>Fully automatic generation algorithm, allowing also
1692 semi-automatic or manual allocation</li>
1693
1694 <li>Platform independent implementation, allowing running on
1695 GNU/Linux, Windows, Mac and any system that Qt supports </li>
1696
1697 <li>Flexible modular XML format for the input file, allowing editing
1698 with an XML editor or by hand (besides FET interface)</li>
1699
1700 <li>Import/export from CSV format</li>
1701
1702 <li>The resulted timetables are exported into HTML, XML and CSV
1703 formats </li>
1704
1705 <li>Flexible students structure, organized into sets: years, groups
1706 and subgroups. FET allows overlapping years and groups and
1707 non-overlapping subgroups. You can even define individual students
1708 (as separate sets)</li>
1709
1710 <li>Each constraint has a weight percentage, from 0.0% to 100.0%
1711 (but some special constraints are allowed to have only 100% weight
1712 percentage)</li>
1713
1714 <li>Limits for the algorithm (all these limits can be increased on
1715 demand, as a custom version, because this would require a bit more
1716 memory):
1717 <ul>
1718 <li>Maximum total number of hours (periods) per day: 60</li>
1719 <li>Maximum number of working days per week: 35</li>
1720 <li>Maximum total number of teachers: 6000</li>
1721 <li>Maximum total number of sets of students: 30000</li>
1722 <li>Maximum total number of subjects: 6000</li>
1723 <li>Virtually unlimited number of activity tags</li>
1724 <li>Maximum number of activities: 30000</li>
1725 <li>Maximum number of rooms: 6000</li>
1726 <li>Maximum number of buildings: 6000</li>
1727 <li>Possibility of adding multiple teachers and
1728 students sets for each activity. (it is possible
1729 also to have no teachers or no students sets for an
1730 activity)</li>
1731 <li>Virtually unlimited number of time constraints</li>
1732 <li>Virtually unlimited number of space constraints</li>
1733 </ul></li>
1734
1735 <li>A large and flexible palette of time constraints:
1736 <ul>
1737 <li>Break periods</li>
1738 <li>For teacher(s):
1739 <ul>
1740 <li>Not available periods</li>
1741 <li>Max/min days per week</li>
1742 <li>Max gaps per day/week</li>
1743 <li>Max hours daily/continuously</li>
1744 <li>Min hours daily</li>
1745 <li>Max hours daily/continuously with an activity tag</li>
1746
1747 <li>Respect working in an hourly interval a max number of
1748 days per week</li>
1749 </ul></li>
1750 <li>For students (sets):
1751 <ul>
1752 <li>Not available periods</li>
1753 <li>Begins early (specify max allowed beginnings at second hour)</li>
1754 <li>Max gaps per day/week</li>
1755 <li>Max hours daily/continuously</li>
1756 <li>Min hours daily</li>
1757 <li>Max hours daily/continuously with an activity tag</li>
1758
1759 <li>Respect working in an hourly interval a max number of
1760 days per week</li>
1761 </ul></li>
1762 <li>For an activity or a set of activities/subactivities:
1763 <ul>
1764 <li>A single preferred starting time</li>
1765 <li>A set of preferred starting times</li>
1766 <li>A set of preferred time slots</li>
1767 <li>Min/max days between them</li>
1768 <li>End(s) students day</li>
1769 <li>Same starting time/day/hour</li>
1770 <li>Occupy max time slots from selection (a complex and
1771 flexible constraint, useful in many situations)</li>
1772 <li>Consecutive, ordered, grouped (for 2 or 3 (sub)activities)</li>
1773 <li>Not overlapping</li>
1774 <li>Max simultaneous in selected time slots</li>
1775 <li>Min gaps between a set of (sub)activities</li>
1776 </ul></li>
1777 </ul></li>
1778
1779 <li>A large and flexible palette of space constraints:
1780 <ul>
1781 <li>Room not available periods</li>
1782 <li>For teacher(s):
1783 <ul>
1784 <li>Home room(s)</li>
1785 <li>Max building changes per day/week</li>
1786 <li>Min gaps between building changes</li>
1787 </ul>
1788 </li>
1789
1790 <li>For students (sets):
1791 <ul>
1792 <li>Home room(s)</li>
1793 <li>Max building changes per day/week</li>
1794 <li>Min gaps between building changes</li>
1795 </ul>
1796 </li>
1797 <li>Preferred room(s):
1798 <ul>
1799 <li>For a subject</li>
1800 <li>For an activity tag</li>
1801 <li>For a subject and an activity tag</li>
1802 <li>Individually for a (sub)activity</li>
1803 </ul>
1804 </li>
1805
1806 <li>For a set of activities:
1807 <ul>
1808 <li>Occupy a maximum number of different rooms</li>
1809 </ul>
1810 </li>
1811 </ul>
1812 </li>
1813 </ul></p>
1814
1815 <p>I have not used it myself, as I am not involved in time table
1816 planning at a school, but it seem to work fine when I test it. If you
1817 need to set up your schools time table, and is tired of doing it
1818 manually, check it out.
1819
1820 A quick summary on how to use it can be found in
1821 <a href="http://marvelsoft.co.in/wp/2012/03/generate-timetable-for-state-cbse-icse-igcse-schools-free/">a
1822 blog post from MarvelSoft</a>. If you find FET useful, please provide
1823 a recipe for the Debian Edu project in the
1824 <a href="http://wiki.debian.org/DebianEdu#Howtos">Debian Edu HowTo
1825 section</a>.</p>
1826
1827 </div>
1828 <div class="tags">
1829
1830
1831 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
1832
1833
1834 </div>
1835 </div>
1836 <div class="padding"></div>
1837
1838 <div class="entry">
1839 <div class="title">
1840 <a href="http://people.skolelinux.org/pere/blog/Can_Zimbra_be_told_to_send_autoreplies_to_the_From__address_.html">Can Zimbra be told to send autoreplies to the From: address?</a>
1841 </div>
1842 <div class="date">
1843 3rd July 2012
1844 </div>
1845 <div class="body">
1846 <p>In the NUUG <a href="http://www.fiksgatami.no/">FiksGataMi</a>
1847 project (Norwegian version of
1848 <a href="http://www.fixmystreet.com/">FixMyStreet</a> from
1849 <a href="http://www.mysociety.org/">mySociety</a>), we have discovered
1850 a problem with the municipalities using
1851 <a href="http://www.zimbra.com/">Zimbra</a>. When FiksGataMi send a
1852 problem report to the government, the email From: address is set to
1853 the address of the person reporting the problem, while envelope sender
1854 is set to the FiksGataMi contact address. The intention is to make
1855 sure the municipality send any replies to the person reporting the
1856 problem, while any email delivery problems are sent to us in NUUG.
1857 This work well in most cases, but not for Karmøy municipality using
1858 Zimbra. Karmøy is using the vacation message function in Zimbra to
1859 send an automatic reply to report that the message has been received,
1860 and this message is sent to the envelope sender and not the address in
1861 the From: header.</p>
1862
1863 <p>This causes the automatic message from Karmøy to go to NUUGs
1864 request-tracker instance instead of to the person reporting the
1865 problem. We can not really change the envelope sender address, as
1866 this would make it impossible for us to discover when there are
1867 problems with the MTAs receiving problem reports. We have been in
1868 contact with the people at Karmøy municipality, and they are willing
1869 to adjust Zimbra if something can be changed there to get a better
1870 behaviour.</p>
1871
1872 <p>The default behaviour of Zimbra is as far as I can tell according
1873 to the specification in RFC 3834, which recommend that vacation
1874 messages are sent to the envelope sender and not to the From: address.
1875 But I wonder if it is possible to adjust or configure Zimbra to behave
1876 differently. Anyone know? Please let us know at
1877 <a href="http://lists.nuug.no/mailman/listinfo/fiksgatami">fiksgatami
1878 (at) nuug.no</a>.</p>
1879
1880 </div>
1881 <div class="tags">
1882
1883
1884 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
1885
1886
1887 </div>
1888 </div>
1889 <div class="padding"></div>
1890
1891 <div class="entry">
1892 <div class="title">
1893 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Jos__Luis_Redrejo_Rodr_guez.html">Debian Edu interview: José Luis Redrejo Rodríguez</a>
1894 </div>
1895 <div class="date">
1896 26th June 2012
1897 </div>
1898 <div class="body">
1899 <p>I've been too busy at home, but finally I found time to wrap up
1900 another interview with the people behind
1901 <a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>.
1902 This time we get to know José Luis Redrejo Rodríguez, one of our great
1903 helpers from Spain. His effort was the reason we added support for
1904 several desktop types (KDE, Gnome and most recently LXDE) in Debian
1905 Edu, and have all of these available in the recently published
1906 <a href="http://www.debian.org/News/2012/20120311.html">Debian Edu
1907 Squeeze</a> version.</p>
1908
1909 <p><strong>Who are you, and how do you spend your days?</strong></p>
1910
1911 <p>I'm a father, teacher and engineer who is working for the Education
1912 ministry of the Region of Extremadura (Spain) in the implementation of
1913 ICT in schools</p>
1914
1915 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
1916 project?</strong></p>
1917
1918 <p>At 2006, I verified that both, we in Extremadura and Skolelinux
1919 project, had been working in parallel for some years, doing very
1920 similar things, using very similar tools and with similar targets, so
1921 I decided it was time to join forces as much as possible.</p>
1922
1923 <p><strong>What do you see as the advantages of Skolelinux/Debian
1924 Edu?</strong></p>
1925
1926 <p>A community of highly skilled experts working together, with a
1927 really open schema of collaboration and work. I really love the
1928 concepts of Do-ocracy and Merit-ocracy and the way these concepts are
1929 been used everyday inside Debian Edu.</p>
1930
1931 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
1932 Edu?</strong></p>
1933
1934 <p>Sometimes the differences in the implementations, laws or
1935 economical and technical resources in the different countries don't
1936 allow us to agree in the same solution for all of us, and several
1937 approaches are needed, what is a waste of effort. Also, there is a
1938 lack of more man power to be able to follow the fast evolution of the
1939 technologies in school.</p>
1940
1941 <p><strong>Which free software do you use daily?</strong></p>
1942
1943 <p>Debian, of course, and due to my kind of job I am most of my time
1944 between Iceweasel, <a href="http://www.geany.org/">Geany</a> and
1945 <a href="http://www.ohloh.net/p/gnome-terminator">Terminator</a>.</p>
1946
1947 <p><strong>Which strategy do you believe is the right one to use to
1948 get schools to use free software?</strong></p>
1949
1950 <p>I think there is not a single strategy because there are very
1951 different scenarios: schools with mixed proprietary and free
1952 environments, schools using only workstations, other schools using
1953 laptops, netbooks, tablets, interactive white-boards, etc.</p>
1954
1955 <p>Also the range of ages of the students is very broad and you can
1956 not use the same solutions for primary schools and secondary or even
1957 universities. So different strategies are needed.</p>
1958
1959 <p>But, looking at these differences, and looking back to the things
1960 we've done and implemented, and the places were we have spent most of
1961 our forces, I think we should focus as much as possible in free
1962 multi-platform environments, using only standards tools, and moving
1963 more and more to Internet or network solutions that could be deployed
1964 using wireless. I think we'll see more and more personal devices in
1965 the schools, devices the students and teachers will take home with
1966 them, so the solutions must be able to be taken at home and continue
1967 working there.</p>
1968
1969 </div>
1970 <div class="tags">
1971
1972
1973 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju</a>.
1974
1975
1976 </div>
1977 </div>
1978 <div class="padding"></div>
1979
1980 <div class="entry">
1981 <div class="title">
1982 <a href="http://people.skolelinux.org/pere/blog/Song_book_for_Computer_Scientists.html">Song book for Computer Scientists</a>
1983 </div>
1984 <div class="date">
1985 24th June 2012
1986 </div>
1987 <div class="body">
1988 <p>Many years ago, while studying Computer Science at the
1989 <a href="http://www.uit.no/">University of Tromsø</a>, I started
1990 collecting computer related songs for use at parties. The original
1991 version was written in LaTeX, but a few years ago I got help from
1992 Håkon W. Lie, one of the inventors of W3C CSS, to convert it to HTML
1993 while keeping the ability to create a nice book in PDF format. I have
1994 not had time to maintain the book for a while now, and guess I should
1995 put it up on some public version control repository where others can
1996 help me extend and update the book. If anyone is volunteering to help
1997 me with this, send me an email. Also let me know if there are songs
1998 missing in my book.</p>
1999
2000 <p>I have not mentioned the book on my blog so far, and it occured to
2001 me today that I really should let all my readers share the joys of
2002 singing out load about programming, computers and computer networks.
2003 Especially now that <a href="http://debconf12.debconf.org/">Debconf
2004 12</a> is about to start (and I am not going). Want to sing? Check
2005 out <a href="http://www.hungry.com/~pere/cs-songbook/">Petter's
2006 Computer Science Songbook</a>.
2007
2008 </div>
2009 <div class="tags">
2010
2011
2012 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>.
2013
2014
2015 </div>
2016 </div>
2017 <div class="padding"></div>
2018
2019 <div class="entry">
2020 <div class="title">
2021 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu___some_ideas_for_the_future_versions.html">Debian Edu - some ideas for the future versions</a>
2022 </div>
2023 <div class="date">
2024 11th June 2012
2025 </div>
2026 <div class="body">
2027 <p>During my work on
2028 <a href="http://www.debian.org/News/2012/20120311.nb.html">Debian Edu
2029 based on Squeeze</a>, I came across some issues that should be
2030 addressed in the Wheezy release. I finally found time to wrap up my
2031 notes and provide quick summary of what I found, with a bit
2032 explanation.</p>
2033
2034 <p><ul>
2035
2036 <li>We need to rewrite our package installation framework, as tasksel
2037 changed from using tasksel tasks to using meta packages (aka packages
2038 with dependencies like our education-* packages), and our installation
2039 system depend on tasksel tasks in
2040 /usr/share/tasksel/debian-edu-tasks.desc for package
2041 installation.</li>
2042
2043 <li>Enable Kerberos login for more services. Now with the Kerberos
2044 foundation in place, we should use it to get single sign on with more
2045 services, and avoiding unneeded password / login questions. We should
2046 at least try to enable it for these services:
2047 <ul>
2048
2049 <li>CUPS for admins to add/configure printers and users when using
2050 quotas.</li>
2051 <li>Nagios for admins checking the system status.</li>
2052 <li>GOsa for admins updating LDAP and users changing their passwords.</li>
2053 <li>LDAP for admins updating LDAP.</li>
2054 <li>Squid for users when exam mode / filtering is active.</li>
2055 <li>ssh for admins and users to save a password prompt.</li>
2056
2057 </ul></li>
2058
2059 <li>When we move GOsa to use Kerberos instead of LDAP bind to
2060 authenticate users, we should try to block or at least limit access to
2061 use LDAP bind for authentication, to ensure Kerberos is used when it
2062 is intended, and nothing fall back to using the less safe LDAP bind</li>
2063
2064 <li>Merge debian-edu-config and debian-edu-install. The split made
2065 sense when d-e-install did a lot more, but these days it is just an
2066 inconvenience when we update the debconf preseeding values.</li>
2067
2068 <li>Fix partman-auto to allow us to abort the installation before
2069 touching the disk if the disk is too small. This is
2070 <a href="http://bugs.debian.org/653305">BTS report #653305</a> and the
2071 d-i developers are fine with the patch and someone just need to apply
2072 it and upload. After this is done we need to adjust
2073 debian-edu-install to use this new hook.</li>
2074
2075 <li>Adjust to new LTSP framework (boot time config instead of install
2076 time config). LTSP changed its design, and our hooks to install
2077 packages and update the configuration is most likely not going to work
2078 in Wheezy.
2079
2080 <li>Consider switching to NBD instead of NFS for LTSP root, to allow
2081 the Kernel to cache files in its normal file cache, possibly speeding
2082 up KDE login on slow networks.</li>
2083
2084 <li>Make it possible to create expired user passwords that need to
2085 change on first login. This is useful when handing out password on
2086 paper, to make sure only the user know the password. This require
2087 fixes to the PAM handling of kdm and gdm.</li>
2088
2089 <li>Make GUI for adding new machines automatically from sitesummary.
2090 The current command line script is not very friendly to people most
2091 familiar with GUIs. This should probably be integrated into GOsa to
2092 have it available where the admin will be looking for it..</li>
2093
2094 <li>We should find way for Nagios to check that the DHCP service
2095 actually is working (as in handling out IP addresses). None of the
2096 Nagios checks I have found so far have been working for me.</li>
2097
2098 <li>We should switch from libpam-nss-ldapd to sssd for all profiles
2099 using LDAP, and not only on for roaming workstations, to have less
2100 packages to configure and consistent setup across all profiles.</li>
2101
2102 <li>We should configure Kerberos to update LDAP and Samba password
2103 when changing password using the Kerberos protocol. The hook was
2104 requested in <a href="http://bugs.debian.org/588968">BTS report
2105 #588968</a> and is now available in Wheezy. We might need to write a
2106 MIT Kerberos plugin in C to get this.</li>
2107
2108 <li>We should clean up the set of applications installed by default.
2109 <ul>
2110
2111 <li>reduce the number of chemistry visualisers</li>
2112 <li>consider dropping xpaint</li>
2113 <li>and probably more?</li>
2114 </ul></li>
2115
2116 <li>Some hardware need external firmware to work properly. This is
2117 mostly the case for WiFi network cards, but there are some other
2118 examples too. For popular laptops to work out of the box, such
2119 firmware need to be installed from non-free, and we should provide
2120 some GUI to do this. Ubuntu already have this implemented, and we
2121 could consider using their packages. At the moment we have some
2122 command line script to do this (one for the running system, another
2123 for the LTSP chroot).</li>
2124
2125
2126 <li>In Squeeze, we provide KDE, Gnome and LXDE as desktop options. We
2127 should extend the list to Xfce and Sugar, and preferably find a way to
2128 install several and allow the admin or the user to select which one to
2129 use.</li>
2130
2131 <li>The golearn tool from the goplay package make it easy to check out
2132 interesting educational packages. We should work on the package
2133 tagging in Debian to ensure it represent all the useful educational
2134 packages, and extend the tool to allow it to use packagekit to install
2135 new applications with a simple mouse click.</li>
2136
2137 <li>The Squeeze version got half a exam solution already in place,
2138 with the introduction of iptable based network blocking, but for it to
2139 be a complete exam solution the Squid proxy need to enable
2140 filtering/blocking as well when the exam mode is enabled. We should
2141 implement a way to easily enable this for the schools that want it,
2142 instead of the "it is documented" method of today.</li>
2143
2144 <li>A feature used in several schools is the ability for a teacher to
2145 "take over" the desktop of individual or all computers in the room.
2146 There are at least three implementations,
2147 <a href="italc.sourceforge.net/">italc</a>,
2148 <a href="http://www.itais.net/help/en/">controlaula</a> og
2149 <a href="http://www.epoptes.org/">epoptes</a> and we should pick one of
2150 them and make it trivial to set it up in a school. The challenges is
2151 how to distribute crypto keys and how to group computers in one room
2152 and how to set up which machine/user can control the machines in a
2153 given room.</li>
2154
2155 <li>Tablets and surf boards are getting more and more popular, and we
2156 should look into providing a good solution for integrating these into
2157 the Debian Edu network. Not quite sure how. Perhaps we should
2158 provide a installation profile with better touch screen support for
2159 them, or add some sync services to allow them to exchange
2160 configuration and data with the central server. This should be
2161 investigated.</li>
2162
2163 </ul></p>
2164
2165 <p>I guess we will discover more as we continue to work on the Wheezy
2166 version.</p>
2167
2168 </div>
2169 <div class="tags">
2170
2171
2172 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
2173
2174
2175 </div>
2176 </div>
2177 <div class="padding"></div>
2178
2179 <div class="entry">
2180 <div class="title">
2181 <a href="http://people.skolelinux.org/pere/blog/TV_with_face_recognition__for_improved_viewer_experience.html">TV with face recognition, for improved viewer experience</a>
2182 </div>
2183 <div class="date">
2184 9th June 2012
2185 </div>
2186 <div class="body">
2187 <p>Slashdot got a story about Intel planning a
2188 <a href="http://entertainment.slashdot.org/story/12/06/09/0012247/intel-to-launch-tv-service-with-facial-recognition-by-end-of-the-year">TV
2189 with face recognition</a> to recognise the viewer, and it occurred to
2190 me that it would be more interesting to turn it around, and do face
2191 recognition on the TV image itself. It could let the viewer know who
2192 is present on the screen, and perhaps look up their credibility,
2193 company affiliation, previous appearances etc for the viewer to better
2194 evaluate what is being said and done. That would be a feature I would
2195 be willing to pay for.</p>
2196
2197 <p>I would not be willing to pay for a TV that point a camera on my
2198 household, like the big brother feature apparently proposed by Intel.
2199 It is the telescreen idea fetched straight out of the book
2200 <a href="http://gutenberg.net.au/ebooks01/0100021.txt">1984 by George
2201 Orwell</a>.</p>
2202
2203 </div>
2204 <div class="tags">
2205
2206
2207 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance</a>.
2208
2209
2210 </div>
2211 </div>
2212 <div class="padding"></div>
2213
2214 <div class="entry">
2215 <div class="title">
2216 <a href="http://people.skolelinux.org/pere/blog/Web_service_to_look_up_HP_and_Dell_computer_hardware_support_status.html">Web service to look up HP and Dell computer hardware support status</a>
2217 </div>
2218 <div class="date">
2219 6th June 2012
2220 </div>
2221 <div class="body">
2222 <p>A few days ago
2223 <a href="http://people.skolelinux.org/pere/blog/SOAP_based_webservice_from_Dell_to_check_server_support_status.html">I
2224 reported how to get</a> the support status out of Dell using an
2225 unofficial and undocumented SOAP API, which I since have found out was
2226 <a href="http://lists.us.dell.com/pipermail/linux-poweredge/2012-February/045959.html">discovered
2227 by Daniel De Marco in february</a>. Combined with my web scraping
2228 code for HP, Dell and IBM
2229 <a href="http://people.skolelinux.org/pere/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html">from
2230 2009</a>, I got inspired and wrote
2231 <a href="https://views.scraperwiki.com/run/computer-hardware-support-status/">a
2232 web service</a> based on Scraperwiki to make it easy to look up the
2233 support status and get a machine readable result back.</p>
2234
2235 <p>This is what it look like at the moment when asking for the JSON
2236 output:
2237
2238 <blockquote><pre>
2239 % GET <a href="https://views.scraperwiki.com/run/computer-hardware-support-status/?format=json&vendor=Dell&servicetag=2v1xwn1">https://views.scraperwiki.com/run/computer-hardware-support-status/?format=json&vendor=Dell&servicetag=2v1xwn1</a>
2240 supportstatus({"servicetag": "2v1xwn1", "warrantyend": "2013-11-24", "shipped": "2010-11-24", "scrapestamputc": "2012-06-06T20:26:56.965847", "scrapedurl": "http://143.166.84.118/services/assetservice.asmx?WSDL", "vendor": "Dell", "productid": ""})
2241 %
2242 </pre></blockquote>
2243
2244 <p>It currently support Dell and HP, and I am hoping for help to add
2245 support for other vendors. The python source is available on
2246 Scraperwiki and I welcome help with adding more features.</p>
2247
2248 </div>
2249 <div class="tags">
2250
2251
2252 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
2253
2254
2255 </div>
2256 </div>
2257 <div class="padding"></div>
2258
2259 <div class="entry">
2260 <div class="title">
2261 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Mike_Gabriel.html">Debian Edu interview: Mike Gabriel</a>
2262 </div>
2263 <div class="date">
2264 2nd June 2012
2265 </div>
2266 <div class="body">
2267 <p>Back in 2010, Mike Gabriel showed up on the
2268 <a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>
2269 mailing list. He quickly proved to be a valuable developer, and
2270 thanks to his tireless effort we now have Kerberos integrated into the
2271 <a href="http://www.debian.org/News/2012/20120311.html">Debian Edu
2272 Squeeze</a> version.</p>
2273
2274 <p><strong>Who are you, and how do you spend your days?</strong></p>
2275
2276 <p>My name is Mike Gabriel, I am 38 years old and live near Kiel,
2277 Schleswig-Holstein, Germany. I live together with a wonderful partner
2278 (Angela Fuß) and two own children and two bonus children (contributed
2279 by Angela).</p>
2280
2281 <p>During the day I am part-time employed as a system administrator
2282 and part-time working as an IT consultant. The consultancy work
2283 touches free software topics wherever and whenever possible. During
2284 the nights I am a free software developer. In the gaps I also train in
2285 becoming an osteopath.</p>
2286
2287 <p>Starting in 2010 we (Andreas Buchholz, Angela Fuß, Mike Gabriel)
2288 have set up a free software project in the area of Kiel that aims at
2289 introducing free software into schools. The project's name is
2290 "IT-Zukunft Schule" (IT future for schools). The project links IT
2291 skills with communication skills.</p>
2292
2293 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
2294 project?</strong></p>
2295
2296 <p>While preparing our own customised Linux distribution for
2297 "IT-Zukunft Schule" we were repeatedly asked if we really wanted to
2298 reinvent the wheel. What schools really need is already available,
2299 people said. From this impulse we started evaluating other Linux
2300 distributions that target being used for school networks.</p>
2301
2302 <p>At the end we short-listed two approaches and compared them: a
2303 commercial Linux distribution developed by a company in Bremen,
2304 Germany, and Skolelinux / Debian Edu. Between 12/2010 and 03/2011 we
2305 went to several events and met people being responsible for marketing
2306 and development of either of the distributions. Skolelinux / Debian
2307 Edu was by far much more convincing compared to the other product that
2308 got short-listed beforehand--across the full spectrum. What was most
2309 attractive for me personally: the perspective of collaboration within
2310 the developmental branch of the Debian Edu project itself.</p>
2311
2312 <p>In parallel with this, we talked to many local and not-so-local
2313 people. People teaching at schools, headmasters, politicians, data
2314 protection experts, other IT professionals.</p>
2315
2316 <p>We came to two conclusions:</p>
2317
2318 <p>First, a technical conclusion: What schools need is available in
2319 bits and pieces here and there, and none of the solutions really fit
2320 by 100%. Any school we have seen has a very individual IT setup
2321 whereas most of each school's requirements could mapped by a standard
2322 IT solution. The requirement to this IT solution is flexibility and
2323 customisability, so that individual adaptations here and there are
2324 possible. In terms of re-distributing and rolling out such a
2325 standardised IT system for schools (a system that is still to some
2326 degree customisable) there is still a lot of work to do here
2327 locally. Debian Edu / Skolelinux has been our choice as the starting
2328 point.</p>
2329
2330 <p>Second, a holistic conclusion: What schools need does not exist at
2331 all (or we missed it so far). There are several technical solutions
2332 for handling IT at schools that tend to make a good impression. What
2333 has been missing completely here in Germany, though, is the enrolment
2334 of people into using IT and teaching with IT. "IT-Zukunft Schule"
2335 tries to provide an approach for this.</p>
2336
2337 <p>Only some schools have some sort of a media concept which explains,
2338 defines and gives guidance on how to use IT in class. Most schools in
2339 Northern Germany do not have an IT service provider, the school's IT
2340 equipment is managed by one or (if the school is lucky) two (admin)
2341 teachers, most of the workload these admin teachers get done in there
2342 spare time.</p>
2343
2344 <p>We were surprised that only a very few admin teachers were
2345 networked with colleagues from other schools. Basically, every school
2346 here around has its individual approach of providing IT equipment to
2347 teachers and students and the exchange of ideas has been quasi
2348 non-existent until 2010/2011.</p>
2349
2350 <p>Quite some (non-admin) teachers try to avoid using IT technology in
2351 class as a learning medium completely. Several reasons for this
2352 avoidance do exist.</p>
2353
2354 <p>We discovered that no-one has ever taken a closer look at this
2355 social part of IT management in schools, so far. On our quest journey
2356 for a technical IT solution for schools, we discussed this issue with
2357 several teachers, headmasters, politicians, other IT professionals and
2358 they all confirmed: a holistic approach of considering IT management
2359 at schools, an approach that includes the people in place, will be new
2360 and probably a gain for all.</p>
2361
2362 <p><strong>What do you see as the advantages of Skolelinux/Debian
2363 Edu?</strong></p>
2364
2365 <p>There is a list of advantages: international context, openness to
2366 any kind of contributions, do-ocracy policy, the closeness to Debian,
2367 the different installation scenarios possible (from stand-alone
2368 workstation to complex multi-server sites), the transparency within
2369 project communication, honest communication within the group of
2370 developers, etc.</p>
2371
2372 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
2373 Edu?</strong></p>
2374
2375 <p>Every coin has two sides:</p>
2376
2377 <p>Technically: <a href="http://bugs.debian.org/311188">BTS issue
2378 #311188</a>, tricky upgradability of a Debian Edu main server, network
2379 client installations on top of a plain vanilla Debian installation
2380 should become possible sometime in the near future, one could think
2381 about splitting the very complex package debian-edu-config into
2382 several portions (to make it easier for new developers to
2383 contribute).</p>
2384
2385 <p>Another issue I see is that we (as Debian Edu developers) should
2386 find out more about the network of people who do the marketing for
2387 Debian Edu / Skolelinux. There is a very active group in Germany
2388 promoting Skolelinux on the bigger Linux Days within Germany. Are
2389 there other groups like that in other countries? How can we bring
2390 these marketing people together (marketing group A with group B and
2391 all of them with the group of Debian Edu developers)? During the last
2392 meeting of the German Skolelinux group, I got the impression of people
2393 there being rather disconnected from the development department of
2394 Debian Edu / Skolelinux.</p>
2395
2396 <p><strong>Which free software do you use daily?</strong></p>
2397
2398 <p>For my daily business, I do not use commercial software at all.</p>
2399
2400 <p>For normal stuff I use Iceweasel/Firefox, Libreoffice.org. For
2401 serious text writing I prefer LaTeX. I use gimp, inkscape, scribus for
2402 more artistic tasks. I run virtual machines in KVM and Virtualbox.</p>
2403
2404 <p>I am one of the upstream developers of X2Go. In 2010 I started the
2405 development of a Python based X2Go Client, called PyHoca-GUI.
2406 PyHoca-GUI has brought forth a Python X2Go Client API that currently
2407 is being integrated in Ubuntu's software center.</p>
2408
2409 <p>For communications I have my own Kolab server running using Horde
2410 as web-based groupware client. For IRC I love to use irssi, for Jabber
2411 I have several clients that I use, mostly pidgin, though. I am also
2412 the Debian maintainer of Coccinella, a Jabber-based interactive
2413 whiteboard.</p>
2414
2415 <p>My favourite terminal emulator is KDE's Yakuake.</p>
2416
2417 <p><strong>Which strategy do you believe is the right one to use to
2418 get schools to use free software?</strong></p>
2419
2420 <p>Communicate, communicate, communicate. Enrol people, enrol people,
2421 enrol people.</p>
2422
2423 </div>
2424 <div class="tags">
2425
2426
2427 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju</a>.
2428
2429
2430 </div>
2431 </div>
2432 <div class="padding"></div>
2433
2434 <div class="entry">
2435 <div class="title">
2436 <a href="http://people.skolelinux.org/pere/blog/SOAP_based_webservice_from_Dell_to_check_server_support_status.html">SOAP based webservice from Dell to check server support status</a>
2437 </div>
2438 <div class="date">
2439 1st June 2012
2440 </div>
2441 <div class="body">
2442 <p>A few years ago I wrote
2443 <a href="http://people.skolelinux.org/pere/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html">how
2444 to extract support status</a> for your Dell and HP servers. Recently
2445 I have learned from colleges here at the
2446 <a href="http://www.uio.no/">University of Oslo</a> that Dell have
2447 made this even easier, by providing a SOAP based web service. Given
2448 the service tag, one can now query the Dell servers and get machine
2449 readable information about the support status. This perl code
2450 demonstrate how to do it:</p>
2451
2452 <p><pre>
2453 use strict;
2454 use warnings;
2455 use SOAP::Lite;
2456 use Data::Dumper;
2457 my $GUID = '11111111-1111-1111-1111-111111111111';
2458 my $App = 'test';
2459 my $servicetag = $ARGV[0] or die "Please supply a servicetag. $!\n";
2460 my ($deal, $latest, @dates);
2461 my $s = SOAP::Lite
2462 -> uri('http://support.dell.com/WebServices/')
2463 -> on_action( sub { join '', @_ } )
2464 -> proxy('http://xserv.dell.com/services/assetservice.asmx')
2465 ;
2466 my $a = $s->GetAssetInformation(
2467 SOAP::Data->name('guid')->value($GUID)->type(''),
2468 SOAP::Data->name('applicationName')->value($App)->type(''),
2469 SOAP::Data->name('serviceTags')->value($servicetag)->type(''),
2470 );
2471 print Dumper($a -> result) ;
2472 </pre></p>
2473
2474 <p>The output can look like this:</p>
2475
2476 <p><pre>
2477 $VAR1 = {
2478 'Asset' => {
2479 'Entitlements' => {
2480 'EntitlementData' => [
2481 {
2482 'EntitlementType' => 'Expired',
2483 'EndDate' => '2009-07-29T00:00:00',
2484 'Provider' => '',
2485 'StartDate' => '2006-07-29T00:00:00',
2486 'DaysLeft' => '0'
2487 },
2488 {
2489 'EntitlementType' => 'Expired',
2490 'EndDate' => '2009-07-29T00:00:00',
2491 'Provider' => '',
2492 'StartDate' => '2006-07-29T00:00:00',
2493 'DaysLeft' => '0'
2494 },
2495 {
2496 'EntitlementType' => 'Expired',
2497 'EndDate' => '2007-07-29T00:00:00',
2498 'Provider' => '',
2499 'StartDate' => '2006-07-29T00:00:00',
2500 'DaysLeft' => '0'
2501 }
2502 ]
2503 },
2504 'AssetHeaderData' => {
2505 'SystemModel' => 'GX620',
2506 'ServiceTag' => '8DSGD2J',
2507 'SystemShipDate' => '2006-07-29T19:00:00-05:00',
2508 'Buid' => '2323',
2509 'Region' => 'Europe',
2510 'SystemID' => 'PLX_GX620',
2511 'SystemType' => 'OptiPlex'
2512 }
2513 }
2514 };
2515 </pre></p>
2516
2517 <p>I have not been able to find any documentation from Dell about this
2518 service outside the
2519 <a href="http://xserv.dell.com/services/assetservice.asmx?op=GetAssetInformation">inline
2520 documentation</a>, and according to
2521 <a href="http://iboyd.net/index.php/2012/02/14/updated-dell-warranty-information-script/">one
2522 comment</a> it can have stability issues, but it is a lot better than
2523 scraping HTML pages. :)</p>
2524
2525 <p>Wonder if HP and other server vendors have a similar service. If
2526 you know of one, drop me an email. :)</p>
2527
2528 </div>
2529 <div class="tags">
2530
2531
2532 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
2533
2534
2535 </div>
2536 </div>
2537 <div class="padding"></div>
2538
2539 <div class="entry">
2540 <div class="title">
2541 <a href="http://people.skolelinux.org/pere/blog/First_monitor_calibration_using_ColorHug.html">First monitor calibration using ColorHug</a>
2542 </div>
2543 <div class="date">
2544 31st May 2012
2545 </div>
2546 <div class="body">
2547 <p>A few days ago my color calibration gadget
2548 <a href="http://www.hughski.com/index.html">ColorHug</a> arrived in the
2549 mail, and I've had a few days to test it. As all my machines are
2550 running Debian Squeeze, where
2551 <a href="http://packages.qa.debian.org/c/colorhug-client.html">the
2552 calibration software</a> is missing (it is present in Wheezy and Sid),
2553 I ran the calibration using the Fedora based live CD. This worked
2554 just fine. So far I have only done the quick calibration. It was
2555 slow enough for me, so I will leave the more extensive calibration for
2556 another day.</p>
2557
2558 <p>After calibration, I get a
2559 <a href="http://en.wikipedia.org/wiki/ICC_profile">ICC color
2560 profile</a> file that can be passed to programs understanding such
2561 tools. KDE do not seem to understand it out of the box, so I searched
2562 for command line tools to use to load the color profile into X.
2563 xcalib was the first one I found, and it seem to work fine for single
2564 monitor setups. But for my video player, a laptop with a flat screen
2565 attached, it was unable to load the color profile for the correct
2566 monitor. After searching a bit, I
2567 <a href="http://ubuntuforums.org/showthread.php?t=1347896">discovered</a>
2568 that the dispwin tool from the argyll package would do what I wanted,
2569 and a simple</p>
2570
2571 <p><pre>
2572 dispwin -d 1 profile.icc
2573 </pre></p>
2574
2575 <p>later I had the color profile loaded for the correct monitor. The
2576 result was a bit more pink than I expected. I guess I picked the
2577 wrong monitor type for the "led" monitor I got, but the result is good
2578 enough for now.</p>
2579
2580 </div>
2581 <div class="tags">
2582
2583
2584 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
2585
2586
2587 </div>
2588 </div>
2589 <div class="padding"></div>
2590
2591 <div class="entry">
2592 <div class="title">
2593 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Ralf_Gesellensetter.html">Debian Edu interview: Ralf Gesellensetter</a>
2594 </div>
2595 <div class="date">
2596 27th May 2012
2597 </div>
2598 <div class="body">
2599 <p>In 2003, a German teacher showed up on the
2600 <a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>
2601 mailing list with interesting problems and reports proving he setting
2602 up Linux for a (for us at the time) lot of pupils. His name was Ralf
2603 Gesellensetter, and he has been an important tester and contributor
2604 since then, helping to make sure the
2605 <a href="http://www.debian.org/News/2012/20120311.html">Debian Edu
2606 Squeeze</a> release became as good as it is..</p>
2607
2608 <p><strong>Who are you, and how do you spend your days?</strong></p>
2609
2610 <p>I am a teacher from Germany, and my subjects are Geography,
2611 Mathematics, and Computer Science ("Informatik"). During the past 12
2612 years (since 2000), I have been working for a comprehensive (and soon,
2613 also inclusive) school leading to all kind of general levels, such as
2614 O- or A-level ("Abitur"). For quite as long, I've been taking care of
2615 our computer network.</p>
2616
2617 <p>Now, in my early 40s, I enjoy the privilege of spending a lot of my
2618 spare time together with my wife, our son (3 years) and our daughter
2619 (4 months).</p>
2620
2621 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
2622 project?</strong></p>
2623
2624 <p>We had tried different Linux based school servers, when members of
2625 my local Linux User Group (LUG OWL) detected Skolelinux. I remember
2626 very well, being part of a party celebrating the Linux New Media Award
2627 ("Best Newcomer Distribution", also nominated: Ubuntu) that was given
2628 to Skolelinux at Linux World Exposition in Frankfurt, 2005 (IIRC). Few
2629 months later, I had the chance to join a developer meeting in Ulsrud
2630 (Oslo) and to hand out the award to Knut Yrvin and others. For more
2631 than 7 years, Skolelinux is part of our schools infrastructure, namely
2632 our main server (tjener), one LTSP (today without thin clients), and
2633 approximately 50 work stations. Most of these have the option to boot a
2634 locally installed Skolelinux image. As a consequence, I joined quite
2635 a few events dealing with free software or Linux, and met many Debian
2636 (Edu) developers. All of them seemed quite nice and competent to me,
2637 one more reason to stick to Skolelinux.</p>
2638
2639 <p><strong>What do you see as the advantages of Skolelinux/Debian
2640 Edu?</strong></p>
2641
2642 <p>Debian driven, you are given all the advantages of a community
2643 project including well maintained updates. Once, you are familiar with
2644 the network layout, you can easily roll out an entire educational
2645 computer infrastructure, from just one installation media. As only
2646 free software (FOSS) is used, that supports even elderly hardware,
2647 up-sizing your IT equipment is only limited by space (i.e. available
2648 labs). Especially if you run a LTSP thin client server, your
2649 administration costs tend towards zero.</p>
2650
2651 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
2652 Edu?</strong></p>
2653
2654 <p>While Debian's stability has loads of advantages for servers, this
2655 might be different in some cases for clients: Schools with unlimited
2656 budget might buy new hardware with components that are not yet
2657 supported by Debian stable, or wish to use more recent versions of
2658 office packages or desktop environments. These schools have the
2659 option to run Debian testing or other distributions - if they have the
2660 capacity to do so. Another issue is that Debian release cycles
2661 include a wide range of changes; therefor a high percentage of human
2662 power seems to be absorbed by just keeping the features of Skolelinux
2663 within the new setting of the version to come. During this process,
2664 the cogs of Debian Edu are getting more and more professional,
2665 i.e. harder to understand for novices.</p>
2666
2667 <p><strong>Which free software do you use daily?</strong></p>
2668
2669 <p>LibreOffice, Wikipedia, Openstreetmap, Iceweasel (Mozilla Firefox),
2670 KMail, Gimp, Inkscape - and of course the Linux Kernel (not only on
2671 PC, Laptop, Mobile, but also our SAT receiver)</p>
2672
2673 <p><strong>Which strategy do you believe is the right one to use to
2674 get schools to use free software?</strong></p>
2675
2676 <p><ol>
2677
2678 <li>Support computer science as regular subject in schools to make
2679 people really "own" their hardware, to make them understand the
2680 difference between proprietary software products, and free software
2681 developing.</li>
2682
2683 <li>Make budget baskets corresponding: In Germany's public schools
2684 there are more or less fixed budgets for IT equipment (including
2685 licenses), so schools won't benefit from any savings here. This
2686 privilege is left to private schools which have consequently a large
2687 share among German Skolelinux schools.</li>
2688
2689 <li>Get free software in the seminars where would-be teachers are
2690 trained. In many cases, teachers' software customs are respected by
2691 decision makers rather than the expertise of any IT experts.</li>
2692
2693 <li>Don't limit ourself to free software run natively. Everybody uses
2694 free software or free licenses (for instance Wikipedia), and this
2695 general concept should get expanded to free educational content to be
2696 shared world wide (school books e.g.).</li>
2697
2698 <li>Make clear where ever you can that the market share of free (libre)
2699 office suites is much above 20 p.c. today, and that you pupils don't
2700 need to know the "ribbon menu" in order to get employed.</li>
2701
2702 <li>Talk about the difference between freeware and free software.</li>
2703
2704 <li>Spread free software, or even collections of portable free apps
2705 for USB pen drives. Endorse students to get a legal copy of
2706 Libreoffice rather than accepting them to use illegal serials. And
2707 keep sending documents in ODF formats.</li>
2708
2709 </ol></p>
2710
2711 </div>
2712 <div class="tags">
2713
2714
2715 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju</a>.
2716
2717
2718 </div>
2719 </div>
2720 <div class="padding"></div>
2721
2722 <div class="entry">
2723 <div class="title">
2724 <a href="http://people.skolelinux.org/pere/blog/The_cost_of_ODF_and_OOXML.html">The cost of ODF and OOXML</a>
2725 </div>
2726 <div class="date">
2727 26th May 2012
2728 </div>
2729 <div class="body">
2730 <p>I just come across a blog post from Glyn Moody reporting the
2731 claimed cost from Microsoft on requiring ODF to be used by the UK
2732 government. I just sent him an email to let him know that his
2733 assumption are most likely wrong. Sharing it here in case some of my
2734 blog readers have seem the same numbers float around in the UK.</p>
2735
2736 <p><blockquote> <p>Hi. I just noted your
2737 <a href="http://blogs.computerworlduk.com/open-enterprise/2012/04/does-microsoft-office-lock-in-cost-the-uk-government-500-million/index.htm">http://blogs.computerworlduk.com/open-enterprise/2012/04/does-microsoft-office-lock-in-cost-the-uk-government-500-million/index.htm</a>
2738 comment:</p>
2739
2740 <p><blockquote>"They're all in Danish, not unreasonably, but even
2741 with the help of Google Translate I can't find any figures about the
2742 savings of "moving to a flexible two standard" as claimed by the
2743 Microsoft email. But I assume it is backed up somewhere, so let's take
2744 it, and the £500 million figure for the UK, on trust."
2745 </blockquote></p>
2746
2747 <p>I can tell you that the Danish reports are inflated. I believe it is
2748 the same reports that were used in the Norwegian debate around 2007,
2749 and Gisle Hannemyr (a well known IT commentator in Norway) had a look
2750 at the content. In short, the reason it is claimed that using ODF
2751 will be so costly, is based on the assumption that this mean every
2752 existing document need to be converted from one of the MS Office
2753 formats to ODF, transferred to the receiver, and converted back from
2754 ODF to one of the MS Office formats, and that the conversion will cost
2755 10 minutes of work time for both the sender and the receiver. In
2756 reality the sender would have a tool capable of saving to ODF, and the
2757 receiver would have a tool capable of reading it, and the time spent
2758 would at most be a few seconds for saving and loading, not 20 minutes
2759 of wasted effort.</p>
2760
2761 <p>Microsoft claimed all these costs were saved by allowing people to
2762 transfer the original files from MS Office instead of spending 10
2763 minutes converting to ODF. :)</p>
2764
2765 <p>See
2766 <a href="http://hannemyr.com/no/ms12_vl02.php">http://hannemyr.com/no/ms12_vl02.php</a>
2767 and
2768 <a href="http://hannemyr.com/no/ms12.php">http://hannemyr.com/no/ms12.php</a>
2769 for background information. Norwegian only, sorry. :)</p>
2770 </blockquote></p>
2771
2772 </div>
2773 <div class="tags">
2774
2775
2776 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
2777
2778
2779 </div>
2780 </div>
2781 <div class="padding"></div>
2782
2783 <div class="entry">
2784 <div class="title">
2785 <a href="http://people.skolelinux.org/pere/blog/ColorHug___USB_and_free_software_based_screen_color_calibration.html">ColorHug - USB and free software based screen color calibration</a>
2786 </div>
2787 <div class="date">
2788 18th May 2012
2789 </div>
2790 <div class="body">
2791 <p>In january, I
2792 <a href="http://blog.cihar.com/archives/2012/01/17/colorhug-has-arrived/">discovered
2793 the ColorHug</a>, a USB dongle from
2794 <a href="http://www.hughski.com/index.html">Hughski</a> to calibrate
2795 the color on a computer screen. The software required is
2796 <a href="http://packages.qa.debian.org/c/colorhug-client.html">included
2797 in Debian</a>, and I decided back then to preorder from the next
2798 batch. Yesterday I finally heard back from them, and got the
2799 opportunity to order. Today I ordered mine, and eagerly await the
2800 delivery. I hope it arrive next week, as I got a confirmation that it
2801 should go in the mail on monday. :)</p>
2802
2803 <p>If you want to ensure the colors on the screen match the intended
2804 colors, I suggest you check out this cheap tool with free software
2805 drivers. :)</p>
2806
2807 </div>
2808 <div class="tags">
2809
2810
2811 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
2812
2813
2814 </div>
2815 </div>
2816 <div class="padding"></div>
2817
2818 <div class="entry">
2819 <div class="title">
2820 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__J_rgen_Leibner.html">Debian Edu interview: Jürgen Leibner</a>
2821 </div>
2822 <div class="date">
2823 13th May 2012
2824 </div>
2825 <div class="body">
2826 <p>It has been a few busy weeks for me, but I am finally back to
2827 publish another interview with the people behind
2828 <a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>.
2829 This time it is one of our German developers, who have helped out over the
2830 years to make sure both a lot of major but also a lot of the minor
2831 details get right before release.
2832
2833 <p><strong>Who are you, and how do you spend your days?</strong></p>
2834
2835 <p>My name is Jürgen Leibner, I'm 49 years old and living in
2836 Bielefeld, a town in northern Germany. I worked nearly 20 years as
2837 certified engineer in the department for plant design and layout of an
2838 international company for machinery and equipment. Since 2011 I'm a
2839 certified technical writer (tekom e.V.) and doing technical
2840 documentations for a steam turbine manufacturer. From April this year
2841 I will manage the department of technical documentation at a
2842 manufacturer of automation and assembly line engineering.</p>
2843
2844 <p>My first contact with linux was around 1993. Since that time I used
2845 it at work and at home repeatedly but not exclusively as I do now at
2846 home since 2006.</p>
2847
2848 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
2849 project?</strong></p>
2850
2851 <p>Once a day in the early year of 2001 when I wanted to fetch my
2852 daughter from primary school, there was a teacher sitting in the
2853 middle of 20 old computers trying to boot them and he failed. I helped
2854 him to get them booting. That was seen by the school director and she
2855 asked me if I would like to manage that the school gets all that old
2856 computers in use. I answered: "Yes".</p>
2857
2858 <p>Some weeks later every of the 10 classrooms had one computer
2859 running Windows98. I began to collect old computers and equipment as
2860 gifts and installed the first computer room with a peer-to-peer
2861 network. I did my work at school without being payed in my spare time
2862 and with a lot of fun. About one year later the school was connected
2863 to Internet and a local area network was installed in the school
2864 building. That was the time to have a server and I knew it must be a
2865 Linux server to be able to fulfil all the wishes of the teachers and
2866 being able to do this in a transparent and economic way, without extra
2867 costs for things like licence and software. So I searched for a
2868 school server system running under Linux and I found a couple of
2869 people nearby who founded 'skolelinux.de'. It was the Skolelinux
2870 prerelease 32 I first tried out for being used at the school. I
2871 managed the IT of that school until the municipal authority took over
2872 the IT management and centralised the services for all schools in
2873 Bielefeld in December of 2006.</p>
2874
2875 <p><strong>What do you see as the advantages of Skolelinux/Debian
2876 Edu?</strong></p>
2877
2878 <p>When I'm looking back to the beginning, there were other advantages
2879 for me as today.</p>
2880
2881 <p>In the past there were advantages like:</p>
2882
2883 <p><ul>
2884
2885 <li>I don't need to buy it so it generates no costs to the school as
2886 they had little money to spent for computers and software.</li>
2887
2888 <li>It has a licence which grands all rights to use it without
2889 cost.</li>
2890
2891 <li>It was more able to fit all requirements of a server system for
2892 schools than a Microsoft server system, even if there are only Windows
2893 clients because of it's preconfigured overall concept of being a
2894 infrastructure solution and community for schools, not only a
2895 server</li>
2896
2897 <li>I was able to configure the server to the needs of the
2898 school.</li>
2899
2900 </ul></p>
2901
2902 <p>Today some of the advantages has been lost, changed or new ones
2903 came up in this way:</p>
2904
2905 <p><ul>
2906
2907 <li>Most schools here do have money to buy hardware and software
2908 now.</li>
2909
2910 <li>They are today mostly managed from central IT departments which
2911 have own concepts which often do not fit to Debian Edu concepts
2912 because they are to close to Microsoft ideology.</li>
2913
2914 <li>With the Squeeze version of Debian Edu which now uses GOsa² for
2915 management I feel more able to manage the daily tasks than with the
2916 interfaces used in the past.</li>
2917
2918 <li>It is more modular than in the past and fits even better to the
2919 different needs.</li>
2920
2921 <li>The documentation is usable and gets better every day.</li>
2922
2923 <li>More people than ever before are using Debian Edu all over the
2924 world and so the community, which is an very important part I think,
2925 is sharing knowledge and minds.</li>
2926
2927 <li>Most, maybe all, of the technical requirements for schools are
2928 solved today by Debian Edu. </li>
2929
2930 </ul></p>
2931
2932 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
2933 Edu?</strong></p>
2934
2935 <p><ul>
2936
2937 <li>There are too few IT companies able to integrate Debian Edu into
2938 their product portfolio for serving schools with concepts or even
2939 whole municipality areas.</li>
2940
2941 <li>Debian Edu has beside other free and open software projects not
2942 enough lobbyists which promote free and open software to
2943 politicians.</li>
2944
2945 <li>Technically there are no disadvantages I'm aware of.</li>
2946
2947 </ul></p>
2948
2949 <p><strong>Which free software do you use daily?</strong></p>
2950
2951 <p>I use Debian stable on my home server and on my little desktop
2952 computer. On my laptop I use Debian testing/sid. The applications I
2953 use on my laptop and my desktop are Open/Libre-office, Iceweasel,
2954 KMail, DigiKam, Amarok, Dolphin, okular and all the other programs I
2955 need from the KDE environment. On console I use newsbeuter, mutt,
2956 screen, irssi and all the other famous and useful tools.</p>
2957
2958 <p>My home server provides mail services with exim, dovecot, roundcube
2959 and mutt over ssh on the console, file services with samba, NFS,
2960 rsync, web services with apache, moinmoin-wiki, multimedia services
2961 with gallery2 and mediatomb and database services with MySQL for me
2962 and the whole family. I probably forgot something.</p>
2963
2964 <p><strong>Which strategy do you believe is the right one to use to
2965 get schools to use free software?</strong></p>
2966
2967 <p>I believe, we should provide concepts for IT companies to integrate
2968 Debian Edu into their product portfolio with use cases for different
2969 countries and areas all over the world.</p>
2970
2971 </div>
2972 <div class="tags">
2973
2974
2975 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju</a>.
2976
2977
2978 </div>
2979 </div>
2980 <div class="padding"></div>
2981
2982 <div class="entry">
2983 <div class="title">
2984 <a href="http://people.skolelinux.org/pere/blog/Cutting_it_short___and_picking_the_right_tool_for_the_job.html">Cutting it short - and picking the right tool for the job</a>
2985 </div>
2986 <div class="date">
2987 30th April 2012
2988 </div>
2989 <div class="body">
2990 <p><!-- IMG_5869.JPG -->
2991 <img src="http://people.skolelinux.org/pere/blog/images/panasonic-er-1611.jpeg"></p>
2992
2993 <p>I normally cut my hair short, and my tool of choice has been a
2994 common hair/beard cutter, bought in a electrical shop here in Norway.
2995 But the last ones have not really been up to the task. My last
2996 cutter, some model from Braun, could only cut a few of my hairs at the
2997 time, and cutting my head took forever. And the one before that did
2998 not work very well either. We have looked for something better for a
2999 while, but it was not until I ended up visiting a hairdresser that we
3000 discovered that there are indeed better tools available. But these
3001 are not marketed and sold to "regular consumers". The hair saloons
3002 can get them through their suppliers, but their suppliers only sell
3003 companies. The models they sell, are very different from the ones
3004 available from Elkjøp and Lefdal. The main difference is their
3005 efficiency. It would cut my hair in 5 minutes, instead of the 30-40
3006 minutes required by my impotent Braun. The hairdresser I visited had
3007 a Panasonic ER160, which unfortunately is no longer available from the
3008 producer. But I found it had a successor, the Panasonic ER1611.</p>
3009
3010 <p>The next step was to find somewhere to buy it. This was not
3011 straight forward. The list of suppliers I got from the hairdresser
3012 did not want to sell anything to me. But searching for the model on
3013 the web we found a supplier in Norway willing to sell it to us for
3014 around NOK 4000,-. This was a bit much. We kept searching and
3015 finally found a Danish supplier
3016 <a href="http://nicehair.dk/panasonic-er-1611-professionel-hartrimmer.html">selling
3017 it for around NOK 1800,-</a>. We ordered one, and it arrived a few
3018 days ago.</p>
3019
3020 <p>The instructions said it had to charge for 8 hours when we started
3021 to use it, so we left it charging over night. Normally it will only
3022 need one hour to charge. The following evening we successfully tested
3023 it, and I can warmly recommend it to anyone looking for a real hair
3024 cutter. The ones we have used until now have been hair cutter
3025 toys.</p>
3026
3027 </div>
3028 <div class="tags">
3029
3030
3031 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
3032
3033
3034 </div>
3035 </div>
3036 <div class="padding"></div>
3037
3038 <div class="entry">
3039 <div class="title">
3040 <a href="http://people.skolelinux.org/pere/blog/HTC_One_X___Your_video___What_do_you_mean_.html">HTC One X - Your video? What do you mean?</a>
3041 </div>
3042 <div class="date">
3043 26th April 2012
3044 </div>
3045 <div class="body">
3046 <p>In <a href="http://www.idg.no/computerworld/article243690.ece">an
3047 article today</a> published by Computerworld Norway, the photographer
3048 <a href="http://www.urke.com/eirik/">Eirik Helland Urke</a> reports
3049 that the video editor application included with
3050 <a href="http://www.htc.com/www/smartphones/htc-one-x/#specs">HTC One
3051 X</a> have some quite surprising terms of use. The article is mostly
3052 based on the twitter message from mister Urke, stating:
3053
3054 <p><blockquote>
3055 "<a href="http://twitter.com/urke/status/194062269724897280">Drøy
3056 brukeravtale: HTC kan bruke MINE redigerte videoer kommersielt. Selv
3057 kan jeg KUN bruke dem privat.</a>"
3058 </blockquote></p>
3059
3060 <p>I quickly translated it to this English message:</p>
3061
3062 <p><blockquote>
3063 "Arrogant user agreement: HTC can use MY edited videos
3064 commercially. Although I can ONLY use them privately."
3065 </blockquote></p>
3066
3067 <p>I've been unable to find the text of the license term myself, but
3068 suspect it is a variation of the MPEG-LA terms I
3069 <a href="http://people.skolelinux.org/pere/blog/Terms_of_use_for_video_produced_by_a_Canon_IXUS_130_digital_camera.html">discovered
3070 with my Canon IXUS 130</a>. The HTC One X specification specifies that
3071 the recording format of the phone is .amr for audio and .mp3 for
3072 video. AMR is
3073 <a href="http://en.wikipedia.org/wiki/Adaptive_Multi-Rate_audio_codec#Licensing_and_patent_issues">Adaptive
3074 Multi-Rate audio codec</a> with patents which according to the
3075 Wikipedia article require an license agreement with
3076 <a href="http://www.voiceage.com/">VoiceAge</a>. MP4 is
3077 <a href="http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Patent_licensing">MPEG4 with
3078 H.264</a>, which according to Wikipedia require a licence agreement
3079 with <a href="http://www.mpegla.com/">MPEG-LA</a>.</p>
3080
3081 <p>I know why I prefer
3082 <a href="http://www.digistan.org/open-standard:definition">free and open
3083 standards</a> also for video.</p>
3084
3085 </div>
3086 <div class="tags">
3087
3088
3089 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>, <a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>, <a href="http://people.skolelinux.org/pere/blog/tags/web">web</a>.
3090
3091
3092 </div>
3093 </div>
3094 <div class="padding"></div>
3095
3096 <div class="entry">
3097 <div class="title">
3098 <a href="http://people.skolelinux.org/pere/blog/RAND_terms___non_reasonable_and_discriminatory.html">RAND terms - non-reasonable and discriminatory</a>
3099 </div>
3100 <div class="date">
3101 19th April 2012
3102 </div>
3103 <div class="body">
3104 <p>Here in Norway, the
3105 <a href="http://www.regjeringen.no/nb/dep/fad.html?id=339"> Ministry of
3106 Government Administration, Reform and Church Affairs</a> is behind
3107 a <a href="http://standard.difi.no/forvaltningsstandarder">directory of
3108 standards</a> that are recommended or mandatory for use by the
3109 government. When the directory was created, the people behind it made
3110 an effort to ensure that everyone would be able to implement the
3111 standards and compete on equal terms to supply software and solutions
3112 to the government. Free software and non-free software could compete
3113 on the same level.</p>
3114
3115 <p>But recently, some standards with RAND
3116 (<a href="http://en.wikipedia.org/wiki/Reasonable_and_non-discriminatory_licensing">Reasonable
3117 And Non-Discriminatory</a>) terms have made their way into the
3118 directory. And while this might not sound too bad, the fact is that
3119 standard specifications with RAND terms often block free software from
3120 implementing them. The reasonable part of RAND mean that the cost per
3121 user/unit is low,and the non-discriminatory part mean that everyone
3122 willing to pay will get a license. Both sound great in theory. In
3123 practice, to get such license one need to be able to count users, and
3124 be able to pay a small amount of money per unit or user. By
3125 definition, users of free software do not need to register their use.
3126 So counting users or units is not possible for free software projects.
3127 And given that people will use the software without handing any money
3128 to the author, it is not really economically possible for a free
3129 software author to pay a small amount of money to license the rights
3130 to implement a standard when the income available is zero. The result
3131 in these situations is that free software are locked out from
3132 implementing standards with RAND terms.</p>
3133
3134 <p>Because of this, when I see someone claiming the terms of a
3135 standard is reasonable and non-discriminatory, all I can think of is
3136 how this really is non-reasonable and discriminatory. Because free
3137 software developers are working in a global market, it does not really
3138 help to know that software patents are not supposed to be enforceable
3139 in Norway. The patent regimes in other countries affect us even here.
3140 I really hope the people behind the standard directory will pay more
3141 attention to these issues in the future.</p>
3142
3143 <p>You can find more on the issues with RAND, FRAND and RAND-Z terms
3144 from Simon Phipps
3145 (<a href="http://blogs.computerworlduk.com/simon-says/2010/11/rand-not-so-reasonable/">RAND:
3146 Not So Reasonable?</a>).</p>
3147
3148 <p>Update 2012-04-21: Just came across a
3149 <a href="http://blogs.computerworlduk.com/open-enterprise/2012/04/of-microsoft-netscape-patents-and-open-standards/index.htm">blog
3150 post from Glyn Moody</a> over at Computer World UK warning about the
3151 same issue, and urging people to speak out to the UK government. I
3152 can only urge Norwegian users to do the same for
3153 <a href="http://www.standard.difi.no/hoyring/hoyring-om-nye-anbefalte-it-standarder">the
3154 hearing taking place at the moment</a> (respond before 2012-04-27).
3155 It proposes to require video conferencing standards including
3156 specifications with RAND terms.</p>
3157
3158 </div>
3159 <div class="tags">
3160
3161
3162 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
3163
3164
3165 </div>
3166 </div>
3167 <div class="padding"></div>
3168
3169 <div class="entry">
3170 <div class="title">
3171 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Andreas_Mundt.html">Debian Edu interview: Andreas Mundt</a>
3172 </div>
3173 <div class="date">
3174 15th April 2012
3175 </div>
3176 <div class="body">
3177 <p>Behind <a href="http://www.skolelinux.org/">Debian Edu and
3178 Skolelinux</a> there are a lot of people doing the hard work of
3179 setting together all the pieces. This time I present to you Andreas
3180 Mundt, who have been part of the technical development team several
3181 years. He was also a key contributor in getting GOsa and Kerberos set
3182 up in the recently released
3183 <a href="http://wiki.debian.org/DebianEdu/Documentation/Squeeze">Debian
3184 Edu Squeeze</a> version.</p>
3185
3186 <p><strong>Who are you, and how do you spend your days?</strong></p>
3187
3188 <p>My name is Andreas Mundt, I grew up in south Germany. After
3189 studying Physics I spent several years at university doing research in
3190 Quantum Optics. After that I worked some years in an optics company.
3191 Finally I decided to turn over a new leaf in my life and started
3192 teaching 10 to 19 years old kids at school. I teach math, physics,
3193 information technology and science/technology.</p>
3194
3195 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
3196 project?</strong></p>
3197
3198 <p>Already before I switched to teaching, I followed the Debian Edu
3199 project because of my interest in education and Debian. Within the
3200 qualification/training period for the teaching, I started
3201 contributing.</p>
3202
3203 <p><strong>What do you see as the advantages of Skolelinux/Debian
3204 Edu?</strong></p>
3205
3206 <p>The advantages of Debian Edu are the well known name, the
3207 out-of-the-box philosophy and of course the great free software of the
3208 Debian Project!</p>
3209
3210 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
3211 Edu?</strong></p>
3212
3213 <p>As every coin has two sides, the out-of-the-box philosophy has its
3214 downside, too. In my opinion, it is hard to modify and tweak the
3215 setup, if you need or want that. Further more, it is not easily
3216 possible to upgrade the system to a new release. It takes much too
3217 long after a Debian release to prepare the -Edu release, perhaps
3218 because the number of developers working on the core of the code is
3219 rather small and often busy elsewhere.</p>
3220
3221 <p>The <a href="http://wiki.debian.org/DebianLAN">Debian LAN</a>
3222 project might fill the use case of a more flexible system.</p>
3223
3224 <p><strong>Which free software do you use daily?</strong></p>
3225
3226 <p>I am only using non-free software if I am forced to and run Debian
3227 on all my machines. For documents I prefer LaTeX and PGF/TikZ, then
3228 mutt and iceweasel for email respectively web browsing. At school I
3229 have Arduino and Fritzing in use for a micro controller project.</p>
3230
3231 <p><strong>Which strategy do you believe is the right one to use to
3232 get schools to use free software?</strong></p>
3233
3234 <p>One of the major problems is the vendor lock-in from top to bottom:
3235 Especially in combination with ignorant government employees and
3236 politicians, this works out great for the "market-leader". The school
3237 administration here in Baden-Wuerttemberg is occupied by that vendor.
3238 Documents have to be prepared in non-free, proprietary formats. Even
3239 free browsers do not work for the school administration. Publishers
3240 of school books provide software only for proprietary platforms.</p>
3241
3242 <p>To change this, political work is very important. Parts of the
3243 political spectrum have become aware of the problem in the last years.
3244 However it takes quite some time and courageous politicians to 'free'
3245 the system. There is currently some discussion about "Open Data" and
3246 "Free/Open Standards". I am not sure if all the involved parties have
3247 a clue about the potential of these ideas, and probably only a
3248 fraction takes them seriously. However it might slowly make free
3249 software and the philosophy behind it more known and popular.</p>
3250
3251 </div>
3252 <div class="tags">
3253
3254
3255 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju</a>.
3256
3257
3258 </div>
3259 </div>
3260 <div class="padding"></div>
3261
3262 <div class="entry">
3263 <div class="title">
3264 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Justin_B__Rye.html">Debian Edu interview: Justin B. Rye</a>
3265 </div>
3266 <div class="date">
3267 8th April 2012
3268 </div>
3269 <div class="body">
3270 <p>It take all kind of contributions to create a Linux distribution
3271 like <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a>,
3272 and this time I lend the ear to Justin B. Rye, who is listed as a big
3273 contributor to the
3274 <a href="http://wiki.debian.org/DebianEdu/Documentation/Squeeze">Debian
3275 Edu Squeeze release manual</a>.
3276
3277 <p><strong>Who are you, and how do you spend your days?</strong></p>
3278
3279 <p>I'm a 44-year-old linguistics graduate living in Edinburgh who has
3280 occasionally been employed as a sysadmin.</p>
3281
3282 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
3283 project?</strong></p>
3284
3285 <p>I'm neither a developer nor a Skolelinux/Debian Edu user! The only
3286 reason my name's in the credits for the documentation is that I hang
3287 around on debian-l10n-english waiting for people to mention things
3288 they'd like a native English speaker to proofread... So I did a sweep
3289 through the wiki for typos and Norglish and inconsistent spellings of
3290 "localisation".</p>
3291
3292 <p><strong>What do you see as the advantages of Skolelinux/Debian
3293 Edu?</strong></p>
3294
3295 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
3296 Edu?</strong></p>
3297
3298 <p>These questions are too hard for me - I don't use it! In fact I
3299 had hardly any contact with I.T. until long after I'd got out of the
3300 education system.</p>
3301
3302 <p>I can tell you the advantages of Debian for me though: it soaks up
3303 as much of my free time as I want and no more, and lets me do
3304 everything I want a computer for without ever forcing me to spend
3305 money on the latest hardware.</p>
3306
3307 <p><strong>Which free software do you use daily?</strong></p>
3308
3309 <p>I've been using Debian since Rex; popularity-contest says the
3310 software that I use most is xinit, xterm, and xulrunner (in other
3311 words, I use a distinctly retro sort of desktop).</p>
3312
3313 <p><strong>Which strategy do you believe is the right one to use to
3314 get schools to use free software?</strong></p>
3315
3316 <p>Well, I don't know. I suppose I'd be inclined to try reasoning
3317 with the people who make the decisions, but obviously if that worked
3318 you would hardly need a strategy.</p>
3319
3320 </div>
3321 <div class="tags">
3322
3323
3324 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju</a>.
3325
3326
3327 </div>
3328 </div>
3329 <div class="padding"></div>
3330
3331 <div class="entry">
3332 <div class="title">
3333 <a href="http://people.skolelinux.org/pere/blog/Why_the_KDE_menu_is_slow_when__usr__is_NFS_mounted___and_a_workaround.html">Why the KDE menu is slow when /usr/ is NFS mounted - and a workaround</a>
3334 </div>
3335 <div class="date">
3336 6th April 2012
3337 </div>
3338 <div class="body">
3339 <p>Recently I have spent time with
3340 <a href="http://www.slxdrift.no/">Skolelinux Drift AS</a> on speeding
3341 up a <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a>
3342 Lenny installation using LTSP diskless workstations, and in the
3343 process I discovered something very surprising. The reason the KDE
3344 menu was responding slow when using it for the first time, was mostly
3345 due to the way KDE find application icons. I discovered that showing
3346 the Multimedia menu would cause more than 20 000 IP packages to be
3347 passed between the LTSP client and the NFS server. Most of these were
3348
3349 NFS LOOKUP calls, resulting in a NFS3ERR_NOENT response. Because the
3350 ping times between the client and the server were in the range 2-20
3351 ms, the menus would be very slow. Looking at the strace of kicker in
3352 Lenny (or plasma-desktop i Squeeze - same problem there), I see that
3353 the source of these NFS calls are access(2) system calls for
3354 non-existing files. KDE can do hundreds of access(2) calls to find
3355 one icon file. In my example, just finding the mplayer icon required
3356 around 230 access(2) calls.</p>
3357
3358 <p>The KDE code seem to search for icons using a list of icon
3359 directories, and the list of possible directories is large. In
3360 (almost) each directory, it look for files ending in .png, .svgz, .svg
3361 and .xpm. The result is a very slow KDE menu when /usr/ is NFS
3362 mounted. Showing a single sub menu may result in thousands of NFS
3363 requests. I am not the first one to discover this. I found a
3364 <a href="https://bugs.kde.org/show_bug.cgi?id=211416">KDE bug report
3365 from 2009</a> about this problem, and it is still unsolved.</p>
3366
3367 <p>My solution to speed up the KDE menu was to create a package
3368 kde-icon-cache that upon installation will look at all .desktop files
3369 used to generate the KDE menu, find their icons, search the icon paths
3370 for the file that KDE will end up finding at run time, and copying the
3371 icon file to /var/lib/kde-icon-cache/. Finally, I add symlinks to
3372 these icon files in one of the first directories where KDE will look
3373 for them. This cut down the number of file accesses required to find
3374 one icon from several hundred to less than 5, and make the KDE menu
3375 almost instantaneous. I'm not quite sure where to make the package
3376 publicly available, so for now it is only available on request.</p>
3377
3378 <p>The bug report mention that this do not only affect the KDE menu
3379 and icon handling, but also the login process. Not quite sure how to
3380 speed up that part without replacing NFS with for example NBD, and
3381 that is not really an option at the moment.</p>
3382
3383 <p>If you got feedback on this issue, please let us know on debian-edu
3384 (at) lists.debian.org.</p>
3385
3386 </div>
3387 <div class="tags">
3388
3389
3390 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
3391
3392
3393 </div>
3394 </div>
3395 <div class="padding"></div>
3396
3397 <div class="entry">
3398 <div class="title">
3399 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_in_the_Linux_Weekly_News.html">Debian Edu in the Linux Weekly News</a>
3400 </div>
3401 <div class="date">
3402 5th April 2012
3403 </div>
3404 <div class="body">
3405 <p>About two weeks ago, I was interviewed via email about
3406 <a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a> by
3407 Bruce Byfield in Linux Weekly News. The result was made public for
3408 non-subscribers today. I am pleased to see liked our Linux solution
3409 for schools. Check out his article
3410 <a href="https://lwn.net/Articles/488805/">Debian Edu/Skolelinux: A
3411 distribution for education</a> if you want to learn more.</p>
3412
3413 </div>
3414 <div class="tags">
3415
3416
3417 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
3418
3419
3420 </div>
3421 </div>
3422 <div class="padding"></div>
3423
3424 <div class="entry">
3425 <div class="title">
3426 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Wolfgang_Schweer.html">Debian Edu interview: Wolfgang Schweer</a>
3427 </div>
3428 <div class="date">
3429 1st April 2012
3430 </div>
3431 <div class="body">
3432 <p>Germany is a core area for the
3433 <a href="http://www.skolelinux.org/">Debian Edu and Skolelinux</a>
3434 user community, and this time I managed to get hold of Wolfgang
3435 Schweer, a valuable contributor to the project from Germany.
3436
3437 <p><strong>Who are you, and how do you spend your days?</strong></p>
3438
3439 <p>I've studied Mathematics at the university 'Ruhr-Universität' in
3440 Bochum, Germany. Since 1981 I'm working as a teacher at the school
3441 "<a href="http://www.westfalenkolleg-dortmund.de/">Westfalen-Kolleg
3442 Dortmund</a>", a second chance school. Here, young adults is given
3443 the opportunity to get further education in order to do the school
3444 examination 'Abitur', which will allow to study at a university. This
3445 second chance is of value for those who want a better job perspective
3446 or failed to get a higher school examination being teens.</p>
3447
3448 <p>Besides teaching I was involved in developing online courses for a
3449 blended learning project called 'abitur-online.nrw' and in some other
3450 information technology related projects. For about ten years I've been
3451 teacher and coordinator for the 'abitur-online' project at my
3452 school. Being now in my early sixties, I've decided to leave school at
3453 the end of April this year.</p>
3454
3455 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
3456 project?</strong></p>
3457
3458 <p>The first information about Skolelinux must have come to my
3459 attention years ago and somehow related to LTSP (Linux Terminal Server
3460 Project). At school, we had set up a network at the beginning of 1997
3461 using Suse Linux on the desktop, replacing a Novell network. Since
3462 2002, we used old machines from the city council of Dortmund as thin
3463 clients (LTSP, later Ubuntu/Lessdisks) cause new hardware was out of
3464 reach. At home I'm using Debian since years and - subscribed to the
3465 Debian news letter - heard from time to time about Skolelinux. About
3466 two years ago I proposed to replace the (somehow undocumented and only
3467 known to me) system at school by a well known Debian based system:
3468 Skolelinux.</p>
3469
3470 <p>Students and teachers appreciated the new system because of a
3471 better look and feel and an enhanced access to local media on thin
3472 clients. The possibility to alter and/or reset passwords using a GUI
3473 was welcomed, too. Being able to do administrative tasks using a GUI
3474 and to easily set up workstations using PXE was of very high value for
3475 the admin teachers.</p>
3476
3477 <p><strong>What do you see as the advantages of Skolelinux/Debian
3478 Edu?</strong></p>
3479
3480 <p>It's open source, easy to set up, stable and flexible due to it's
3481 Debian base. It integrates LTSP out-of-the-box. And it is documented!
3482 So it was a perfect choice.</p>
3483
3484 <p>Being open source, there are no license problems and so it's
3485 possible to point teachers and students to programs like
3486 OpenOffice.org, ViewYourMind (mind mapping) and The Gimp. It's of
3487 high value to be able to adapt parts of the system to special needs of
3488 a school and to choose where to get support for this.</p>
3489
3490 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
3491 Edu?</strong></p>
3492
3493 <p>Nothing yet.</p>
3494
3495 <p><strong>Which free software do you use daily?</strong></p>
3496
3497 <p>At home (Debian Sid with Gnome Desktop): Iceweasel, LibreOffice,
3498 Mutt, Gedit, Document Viewer, Midnight Commander, flpsed (PDF
3499 Annotator). At school (Skolelinux Lenny): Iceweasel, Gedit,
3500 LibreOffice.</p>
3501
3502 <p><strong>Which strategy do you believe is the right one to use to
3503 get schools to use free software?</strong></p>
3504
3505 <p>Some time ago I thought it was enough to tell people about it. But
3506 that doesn't seem to work quite well. Now I concentrate on those more
3507 interested and hope to get multiplicators that way.</p>
3508
3509 </div>
3510 <div class="tags">
3511
3512
3513 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju</a>.
3514
3515
3516 </div>
3517 </div>
3518 <div class="padding"></div>
3519
3520 <div class="entry">
3521 <div class="title">
3522 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_screencast__Checking_email_with_kmail_using_Kerberos_authentication.html">Debian Edu screencast: Checking email with kmail using Kerberos authentication</a>
3523 </div>
3524 <div class="date">
3525 25th March 2012
3526 </div>
3527 <div class="body">
3528 <!-- Video HTML based on http://www.diveintohtml5.net/video.html -->
3529
3530 <p>The same Debian Edu developer that did the last screen cast I
3531 published, Wolfgang Schweer, has created a new screen cast showing how
3532 to set up Kmail in Debian Edu Squeze to authenticate using Kerberos,
3533 allowing users to check their local email account without providing
3534 any password. The video is embedded here in quarter size,
3535 and also available from <a href="https://vimeo.com/38601767">vimeo</a>
3536 and download as a
3537 <a href="http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-03-14-Debian-Edu_Configure_Kmail_for_internal_usage.ogv">Ogg
3538 Theora</a> file. Check it out below.</p>
3539
3540 <p><video id="kmail-kerberos-movie" width="256" height="184" preload controls>
3541 <source src="http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-03-14-Debian-Edu_Configure_Kmail_for_internal_usage.ogv" type='video/ogg; codecs="theora, vorbis"' />
3542 <p>Download video as
3543 <a href="http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-03-14-Debian-Edu_Configure_Kmail_for_internal_usage.ogv">Ogg</a>.</p>
3544 </video></p>
3545
3546 </div>
3547 <div class="tags">
3548
3549
3550 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
3551
3552
3553 </div>
3554 </div>
3555 <div class="padding"></div>
3556
3557 <div class="entry">
3558 <div class="title">
3559 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__John_Ingleby.html">Debian Edu interview: John Ingleby</a>
3560 </div>
3561 <div class="date">
3562 19th March 2012
3563 </div>
3564 <div class="body">
3565 <p><a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a>
3566 users are spread all across the globe. The second inteview after
3567 <a href="http://lists.debian.org/debian-edu-announce/2012/03/msg00001.html">the
3568 Squeeze release</a> was publised is with John Ingleby, a teacher and
3569 long time Linux user in United Kingdom.</p>
3570
3571 <p><strong>Who are you, and how do you spend your days?</strong></p>
3572
3573 <p>I teach ICT part time at the Rudolf Steiner School in Kings
3574 Langley, near London, UK. Previously I worked as a technical
3575 author/trainer while my children attended the school, and I also
3576 contributed to the Schoolforge UK community with the aim of
3577 encouraging UK schools to adopt free/open source software. Five or six
3578 years ago we had about 50 schools interested in some way, but we
3579 weren't able to convert many of them into sustainable
3580 installations.</p>
3581
3582 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
3583 project?</strong></p>
3584
3585 <p>Skolelinux had two representatives at an early Edubuntu meeting in
3586 London which I attended. However at that time our school network had
3587 just been installed using CentOS, LTSP 4 and GNOME. When LTSP 5 came
3588 along we switched to Edubuntu thin client servers so now we have a
3589 mixed environment which includes Windows PCs and student laptops, as
3590 well as their MacBooks and iPads. However, the proprietary systems
3591 have always been rather problematic, and we never built a GUI for the
3592 LDAP server, so when I discovered Skolelinux is configured for all
3593 these things we decided to try it.</p>
3594
3595 <p><strong>What do you see as the advantages of Skolelinux/Debian
3596 Edu?</strong></p>
3597
3598 <p>By far the biggest advantage is the Debian Edu community. Apart
3599 from that I have always believed in the same "sustainable computing"
3600 goals that Skolelinux is built on: installing Linux on computers which
3601 would otherwise be thrown away, to provide a reliable, secure and
3602 low-cost IT environment for schools. From my own experience I know
3603 that a part-time person can teach and manage a network of about 25
3604 Linux computers, but it would take much more of my time if we had
3605 proprietary software everywhere.</p>
3606
3607 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
3608 Edu?</strong></p>
3609
3610 <p>As a newcomer I'm just finding out who's who in the community and
3611 how you're organised, and what your procedures are for dealing with
3612 various things such as editing manual pages and so-on. The only
3613 English language mailing list seems to be for developers as well as
3614 users, so my inbox needs heavy pruning each day!</p>
3615
3616 <p><strong>Which free software do you use daily?</strong></p>
3617
3618 <p>Besides the software already mentioned at school we use Samba,
3619 OpenLDAP, CUPS, Nagios and Dansguardian for the network, and on the
3620 desktops we have LibreOffice, Firefox, GIMP and Inkscape. At home I
3621 use Ubuntu and an Android 4 eePad Transformer (but I'm not sure if
3622 that counts...)</p>
3623
3624 <p><strong>Which strategy do you believe is the right one to use to
3625 get schools to use free software?</strong></p>
3626
3627 <p>That's a tough question! For very many years UK schools installed
3628 and taught only proprietary software, so that at the highest levels
3629 the notion of "computer" means simply "proprietary office
3630 applications". However, schools today are experiencing budget
3631 constraints, and many are having to think hard about upgrading Windows
3632 XP. At the same time, we have students showing teachers how to use
3633 iPads, MacBooks and Android, so the choice of operating system is no
3634 longer quite so automatic. What is more, our government at last
3635 realised that we need people with programming skills, so they're
3636 putting coding back in the curriculum! And it's encouraging that the
3637 first 10,000 Raspberry Pi units sold out in 2 hours.</p>
3638
3639 <p>I don't really know what strategy is going to get UK schools to use
3640 free software, but building an active community of Skolelinux/Debian
3641 Edu users in this country has to be part of it.</p>
3642
3643 </div>
3644 <div class="tags">
3645
3646
3647 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju</a>.
3648
3649
3650 </div>
3651 </div>
3652 <div class="padding"></div>
3653
3654 <div class="entry">
3655 <div class="title">
3656 <a href="http://people.skolelinux.org/pere/blog/Writing_and_translating_documentation_in_Debian_Edu.html">Writing and translating documentation in Debian Edu</a>
3657 </div>
3658 <div class="date">
3659 16th March 2012
3660 </div>
3661 <div class="body">
3662 <p>Documentation in Debian Edu is provided in several languages, and
3663 it is important to make it both easy to contribute and to keep the
3664 translated versions in sync. To do this we have come up with what we
3665 believe is a very efficient work flow.</p>
3666
3667 <ol>
3668
3669 <li>The documentation is written in a
3670 <a href="http://moinmo.in">moinmoin wiki</a> (see for example
3671 <a href="http://wiki.debian.org/DebianEdu/Documentation/Squeeze">the
3672 Squeeze release manual</a>) with support for exporting the content as
3673 docbook XML.</li>
3674
3675 <li>This docbook document is given to po4a to extract a gettext style
3676 .pot file with the content, which in turn is used to create .po files
3677 with the translated text.</li>
3678
3679 <li>The .po files are given to translators, and they can always tell
3680 which part of the original wiki document is new or changed. They can
3681 use their normal translation tools like lokalize or poedit to write
3682 the translation. There is even a system in place to handle translated
3683 images.</li>
3684
3685 <li>The translated .po files are combined with the original docbook
3686 XML document using po4a to create a translated docbook document.</li>
3687
3688 <li>The final step is to use all the generated docbook files and
3689 create PDF and HTML version of the original and translated documents.</li>
3690
3691 </ol>
3692
3693 <p>This setup work very well, but have a few issues. The biggest
3694 issue is that <a href="http://moinmo.in/DocBook">the docbook support
3695 we use in moinmoin</a> is not actively maintained. The docbook
3696 support is also buggy, and our build system contain workarounds to
3697 make sure the generated docbook is usable despite these bugs.</p>
3698
3699 <p>If you want to have a look at our setup, it is all there in the
3700 <a href="http://packages.qa.debian.org/debian-edu-doc">debian-edu-doc
3701 package</a>.</p>
3702
3703 </div>
3704 <div class="tags">
3705
3706
3707 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
3708
3709
3710 </div>
3711 </div>
3712 <div class="padding"></div>
3713
3714 <div class="entry">
3715 <div class="title">
3716 <a href="http://people.skolelinux.org/pere/blog/Skolelinux___Debian_Edu_Squeeze_is_out_.html">Skolelinux / Debian Edu Squeeze is out!</a>
3717 </div>
3718 <div class="date">
3719 11th March 2012
3720 </div>
3721 <div class="body">
3722 <p>This weekend we finally published the first stable release of
3723 <a href="http://www.skolelinux.org/">Skolelinux / Debian Edu</a> based
3724 on Debian/Squeeze. The full announcement is
3725 <a href="http://lists.debian.org/debian-edu-announce/2012/03/msg00001.html">available</a>
3726 from the project announcement list. Now is a good time to test if it
3727 you have not done so already.</p>
3728
3729 <p>I plan to present the new version at
3730 <a href="http://www.nuug.no/aktiviteter/20120313-skolelinux/">a NUUG
3731 meeting</a> on tuesday. I look forward to seeing you there if you are
3732 in Oslo, Norway.</p>
3733
3734 </div>
3735 <div class="tags">
3736
3737
3738 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
3739
3740
3741 </div>
3742 </div>
3743 <div class="padding"></div>
3744
3745 <div class="entry">
3746 <div class="title">
3747 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_interview__Nigel_Barker.html">Debian Edu interview: Nigel Barker</a>
3748 </div>
3749 <div class="date">
3750 9th March 2012
3751 </div>
3752 <div class="body">
3753 <p>Inspired by <a href="http://raphaelhertzog.com/tag/interview/">the
3754 interview series</a> conducted by Raphael, I started a Norwegian
3755 interview series with people involved in the Debian Edu / Skolelinux
3756 community. This was so popular that I believe it is time to move to a
3757 more international audience.</p>
3758
3759 <p>While <a href="http://www.skolelinux.org/">Debian Edu and
3760 Skolelinux</a> originated in France and Norway, and have most users in
3761 Europe, there are users all around the globe. One of those far away
3762 from me is Nigel Barker, a long time Debian Edu system administrator
3763 and contributor. It is thanks to him that Debian Edu is adjusted to
3764 work out of the box in Japan. I got him to answer a few questions,
3765 and am happy to share the response with you. :)
3766
3767
3768 <p><strong>Who are you, and how do you spend your days?</strong></p>
3769
3770 <p>My name is Nigel Barker, and I am British. I am married to Yumiko,
3771 and we have three lovely children, aged 15, 14 and 4(!) I am the IT
3772 Coordinator at Hiroshima International School, Japan. I am also a
3773 teacher, and in fact I spend most of my day teaching Mathematics,
3774 Science, IT, and Chemistry. I was originally a Chemistry teacher, but
3775 I have always had an interest in computers. Another teacher teaches
3776 primary school IT, but apart from that I am the only computer person,
3777 so that means I am the network manager, technician and webmaster,
3778 also, and I help people with their computer problems. I teach python
3779 to beginners in an after-school club. I am way too busy, so I really
3780 appreciate the simplicity of Skolelinux.</p>
3781
3782 <p><strong>How did you get in contact with the Skolelinux/Debian Edu
3783 project?</strong></p>
3784
3785 <p>In around 2004 or 5 I discovered the ltsp project, and set up a
3786 server in the IT lab. I wanted some way to connect it to our central
3787 samba server, which I was also quite poor at configuring. I discovered
3788 Edubuntu when it came out, but it didn't really improve my setup. I
3789 did various desperate searches for things like "school Linux server"
3790 and ended up in a document called "Drift" something or other. Reading
3791 there it became clear that Skolelinux was going to solve all my
3792 problems in one go. I was very excited, but apprehensive, because my
3793 previous attempts to install Debian had ended in failure (I used
3794 Mandrake for everything - ltsp, samba, apache, mail, ns...). I
3795 downloaded a beta version, had some problems, so subscribed to the
3796 Debian Edu list for help. I have remained subscribed ever since, and
3797 my school has run a Skolelinux network since Sarge.</p>
3798
3799 <p><strong>What do you see as the advantages of Skolelinux/Debian
3800 Edu?</strong></p>
3801
3802 <p>For me the integrated setup. This is not just the server, or the
3803 workstation, or the ltsp. Its all of them, and its all configured
3804 ready to go. I read somewhere in the early documentation that it is
3805 designed to be setup and managed by the Maths or Science teacher, who
3806 doesn't necessarily know much about computers, in a small Norwegian
3807 school. That describes me perfectly if you replace Norway with
3808 Japan.</p>
3809
3810 <p><strong>What do you see as the disadvantages of Skolelinux/Debian
3811 Edu?</strong></p>
3812
3813 <p>The desktop is fairly plain. If you compare it with Edubuntu, who
3814 have fun themes for children, or with distributions such as Mint, who
3815 make the desktop beautiful. They create a good impression on people
3816 who don't need to understand how to use any of it, but who might be
3817 important to the school. School administrators or directors, for
3818 instance, or parents. Even kids. Debian itself usually has ugly
3819 default theme settings. It was my dream a few years back that some
3820 kind of integration would allow Edubuntu to do the desktop stuff and
3821 Debian Edu the servers, but now I realise how impossible that is. A
3822 second disadvantage is that if something goes wrong, or you need to
3823 customise something, then suddenly the level of expertise required
3824 multiplies. For example, backup wasn't working properly in Lenny. It
3825 took me ages to learn how to set up my own server to do rsync backups.
3826 I am afraid of anything to do with ldap, but perhaps Gosa will
3827 help.</p>
3828
3829 <p><strong>Which free software do you use daily?</strong></p>
3830
3831 <p>Nowadays I only use Debian on my personal computers. I have one for
3832 studio work (I play guitar and write songs), running AV Linux
3833 (customised Debian) a netbook running Squeeze, and a bigger laptop
3834 still running Skolelinux Lenny workstation. I have a Tjener in my
3835 house, that's very useful for the family photos and music. At school
3836 the students only use Skolelinux. (Some teachers and the office still
3837 have windows). So that means we only use free software all day every
3838 day. Open office, The GIMP, Firefox/Iceweasel, VLC and Audacity are
3839 installed on every computer in school, irrespective of OS. We also
3840 have Koha on Debian for the library, and Apache, Moodle, b2evolution
3841 and Etomite on Debian for the www. The firewall is Untangle.</p>
3842
3843 <p><strong>Which strategy do you believe is the right one to use to
3844 get schools to use free software?</strong></p>
3845
3846 <p>Current trends are in our favour. Open source is big in industry,
3847 and ordinary people have heard of it. The spread of Android and the
3848 popularity of Apple have helped to weaken the impression that you have
3849 to have Microsoft on everything. People complain to me much less about
3850 file formats and Word than they did 5 years ago. The Edu aspect is
3851 also a selling point. This is all customised for schools. Where is the
3852 Windows-edu, or the Mac-edu? But of course the main attraction is
3853 budget.The trick is to convince people that the quality is not
3854 compromised when you stop paying and use free software instead. That
3855 is one reason why I say the desktop experience is a weakness. People
3856 are not impressed when their USB drive doesn't work, or their browser
3857 doesn't play flash, for example.</p>
3858
3859 </div>
3860 <div class="tags">
3861
3862
3863 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju</a>.
3864
3865
3866 </div>
3867 </div>
3868 <div class="padding"></div>
3869
3870 <div class="entry">
3871 <div class="title">
3872 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_screencast__Mass_creation_of_user_accounts_in_Squeeze.html">Debian Edu screencast: Mass creation of user accounts in Squeeze</a>
3873 </div>
3874 <div class="date">
3875 7th March 2012
3876 </div>
3877 <div class="body">
3878 <!-- Video HTML based on http://www.diveintohtml5.net/video.html -->
3879
3880 <p>One of the Debian Edu developers, Wolfgang Schweer, just created a
3881 screen cast documenting how to create a lot of new users in LDAP on
3882 Debian Edu Squeeze. The video is embedded here in quarter size, and
3883 also available from <a href="http://vimeo.com/37675399">vimeo</a> and
3884 download as a
3885 <a href="http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-02-29-debian_edu_mass_create_user_accounts.ogv">Ogg
3886 Theora</a> file. Check it out below.</p>
3887
3888 <p><video id="gosa-mass-user-create-movie" width="256" height="184" preload controls>
3889 <source src="http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-02-29-debian_edu_mass_create_user_accounts.ogv" type='video/ogg; codecs="theora, vorbis"' />
3890 <p>Download video as
3891 <a href="http://ftp.skolelinux.org/skolelinux/press/screencasts/2012-02-29-debian_edu_mass_create_user_accounts.ogv">Ogg</a>.</p>
3892 </video></p>
3893
3894 </div>
3895 <div class="tags">
3896
3897
3898 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
3899
3900
3901 </div>
3902 </div>
3903 <div class="padding"></div>
3904
3905 <div class="entry">
3906 <div class="title">
3907 <a href="http://people.skolelinux.org/pere/blog/Third_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html">Third release candidate of Debian Edu / Skolelinux based on Squeeze</a>
3908 </div>
3909 <div class="date">
3910 4th March 2012
3911 </div>
3912 <div class="body">
3913 <p>This weekend we wrapped up and published the third release
3914 candidate for <a href="http://www.skolelinux.org/">Debian Edu /
3915 Skolelinux</a> based on Squeeze. The full announcement is
3916 <a href="http://lists.debian.org/debian-edu-announce/2012/03/msg00000.html">available</a>
3917 from the project announcement list. Check it out if you
3918 need a software solution for your school.</p>
3919
3920 </div>
3921 <div class="tags">
3922
3923
3924 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
3925
3926
3927 </div>
3928 </div>
3929 <div class="padding"></div>
3930
3931 <div class="entry">
3932 <div class="title">
3933 <a href="http://people.skolelinux.org/pere/blog/Stopmotion_for_making_stop_motion_animations_on_Linux___reloaded.html">Stopmotion for making stop motion animations on Linux - reloaded</a>
3934 </div>
3935 <div class="date">
3936 3rd March 2012
3937 </div>
3938 <div class="body">
3939 <p>Many years ago, the <a href="http://www.skolelinux.org/">Skolelinux
3940 / Debian Edu project</a> initiated a student project to create a tool
3941 for making stop motion movies. The proposal came from a teacher
3942 needing such tool on Skolelinux. The project, called "stopmotion",
3943 was manned by two extraordinary students and won a school award and a
3944 national aware with this great project. The project was initiated and
3945 mentored by Herman Robak, and manned by the students Bjørn Erik Nilsen
3946 and Fredrik Berg Kjølstad. They got in touch with people at Aardman
3947 Animation studio and received feedback on how professionals would like
3948 such stopmotion tool to work, and the end result was and is used by
3949 animators around the globe. But as is usual after studying, both got
3950 jobs and went elsewhere, and did not have time to properly tend to the
3951 project, and it has been lingering for a few years now. Until last
3952 year...</p>
3953
3954 <p>Last year some of the users got together with Herman, and moved the
3955 project to Sourceforge and in effect restarted the project under a new
3956 name,
3957 <a href="http://sourceforge.net/projects/linuxstopmotion/">linuxstopmotion</a>.
3958 The name change was done to make it possible to find the project using
3959 Internet search engines (try to search for 'stopmotion' to see what I
3960 mean). I've been following
3961 <a href="https://lists.sourceforge.net/lists/listinfo/linuxstopmotion-community">the
3962 mailing list</a> and the improvement already in place and planned for
3963 the future is encouraging. If you want to make stop motion movies.
3964 Check it out. :)</p>
3965
3966 </div>
3967 <div class="tags">
3968
3969
3970 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
3971
3972
3973 </div>
3974 </div>
3975 <div class="padding"></div>
3976
3977 <div class="entry">
3978 <div class="title">
3979 <a href="http://people.skolelinux.org/pere/blog/Second_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html">Second release candidate of Debian Edu / Skolelinux based on Squeeze</a>
3980 </div>
3981 <div class="date">
3982 27th February 2012
3983 </div>
3984 <div class="body">
3985 <p>This weekend we wrapped up and published the second release
3986 candidate for <a href="http://www.skolelinux.org/">Debian Edu /
3987 Skolelinux</a> based on Squeeze. The full announcement did for some
3988 reason not make it the project announcement list, but is
3989 <a href="http://lists.debian.org/debian-devel-announce/2012/02/msg00015.html">available</a>
3990 from the Debian development announcement list. Check it out if you
3991 need a software solution for your school.</p>
3992
3993 </div>
3994 <div class="tags">
3995
3996
3997 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
3998
3999
4000 </div>
4001 </div>
4002 <div class="padding"></div>
4003
4004 <div class="entry">
4005 <div class="title">
4006 <a href="http://people.skolelinux.org/pere/blog/First_release_candidate_of_Debian_Edu___Skolelinux_based_on_Squeeze.html">First release candidate of Debian Edu / Skolelinux based on Squeeze</a>
4007 </div>
4008 <div class="date">
4009 19th February 2012
4010 </div>
4011 <div class="body">
4012 <p>One week delayed due to DVD build problems, we managed today to
4013 wrap up and publish the first release candidate for
4014 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> based
4015 on Squeeze. The full announcement is
4016 <a href="http://lists.debian.org/debian-edu-announce/2012/02/msg00001.html">available</a>
4017 on the project announcement list. Check it out if you need a software
4018 solution for your school.</p>
4019
4020 </div>
4021 <div class="tags">
4022
4023
4024 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
4025
4026
4027 </div>
4028 </div>
4029 <div class="padding"></div>
4030
4031 <div class="entry">
4032 <div class="title">
4033 <a href="http://people.skolelinux.org/pere/blog/How_to_figure_out_which_RAID_disk_to_replace_when_it_fail.html">How to figure out which RAID disk to replace when it fail</a>
4034 </div>
4035 <div class="date">
4036 14th February 2012
4037 </div>
4038 <div class="body">
4039 <p>Once in a while my home server have disk problems. Thanks to Linux
4040 Software RAID, I have not lost data yet (but
4041 <a href="http://comments.gmane.org/gmane.linux.raid/34532">I was
4042 close</a> this summer :). But once a disk is starting to behave
4043 funny, a practical problem present itself. How to get from the Linux
4044 device name (like /dev/sdd) to something that can be used to identify
4045 the disk when the computer is turned off? In my case I have SATA
4046 disks with a unique ID printed on the label. All I need is a way to
4047 figure out how to query the disk to get the ID out.</p>
4048
4049 <p>After fumbling a bit, I
4050 <a href="http://www.cyberciti.biz/faq/linux-getting-scsi-ide-harddisk-information/">found
4051 that hdparm -I</a> will report the disk serial number, which is
4052 printed on the disk label. The following (almost) one-liner can be
4053 used to look up the ID of all the failed disks:</p>
4054
4055 <blockquote><pre>
4056 for d in $(cat /proc/mdstat |grep '(F)'|tr ' ' "\n"|grep '(F)'|cut -d\[ -f1|sort -u);
4057 do
4058 printf "Failed disk $d: "
4059 hdparm -I /dev/$d |grep 'Serial Num'
4060 done
4061 </blockquote></pre>
4062
4063 <p>Putting it here to make sure I do not have to search for it the
4064 next time, and in case other find it useful.</p>
4065
4066 <p>At the moment I have two failing disk. :(</p>
4067
4068 <blockquote><pre>
4069 Failed disk sdd1: Serial Number: WD-WCASJ1860823
4070 Failed disk sdd2: Serial Number: WD-WCASJ1860823
4071 Failed disk sde2: Serial Number: WD-WCASJ1840589
4072 </blockquote></pre>
4073
4074 <p>The last time I had failing disks, I added the serial number on
4075 labels I printed and stuck on the short sides of each disk, to be able
4076 to figure out which disk to take out of the box without having to
4077 remove each disk to look at the physical vendor label. The vendor
4078 label is at the top of the disk, which is hidden when the disks are
4079 mounted inside my box.</p>
4080
4081 <p>I really wish the check_linux_raid Nagios plugin for checking Linux
4082 Software RAID in the
4083 <a href="http://packages.qa.debian.org/n/nagios-plugins.html">nagios-plugins-standard</a>
4084 debian package would look up this value automatically, as it would
4085 make the plugin a lot more useful when my disks fail. At the moment
4086 it only report a failure when there are no more spares left (it really
4087 should warn as soon as a disk is failing), and it do not tell me which
4088 disk(s) is failing when the RAID is running short on disks.</p>
4089
4090 </div>
4091 <div class="tags">
4092
4093
4094 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/raid">raid</a>.
4095
4096
4097 </div>
4098 </div>
4099 <div class="padding"></div>
4100
4101 <div class="entry">
4102 <div class="title">
4103 <a href="http://people.skolelinux.org/pere/blog/Automatic_proxy_configuration_with_Debian_Edu___Skolelinux.html">Automatic proxy configuration with Debian Edu / Skolelinux</a>
4104 </div>
4105 <div class="date">
4106 13th February 2012
4107 </div>
4108 <div class="body">
4109 <p>New in the Squeeze version of
4110 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> is the
4111 ability for clients to automatically configure their proxy settings
4112 based on their environment. We want all systems on the client to use
4113 the WPAD based proxy definition fetched from <tt>http://wpad/wpad.dat</tt>, to
4114 allow sites to control the proxy setting from a central place and make
4115 sure clients do not have hard coded proxy settings. The schools can
4116 change the global proxy setting by editing
4117 <tt>tjener:/etc/debian-edu/www/wpad.dat</tt> and the change propagate
4118 to all Debian Edu clients in the network.</p>
4119
4120 <p>The problem is that some systems do not understand the WPAD system.
4121 In other words, how do one get from a WPAD file like this (this is a
4122 simple one, they can run arbitrary code):</p>
4123
4124 <blockquote><pre>
4125 function FindProxyForURL(url, host)
4126 {
4127 if (!isResolvable(host) ||
4128 isPlainHostName(host) ||
4129 dnsDomainIs(host, ".intern"))
4130 return "DIRECT";
4131 else
4132 return "PROXY webcache:3128; DIRECT";
4133 }
4134 </pre></blockquote>
4135
4136 <p>to a proxy setting in the process environment looking like this:</p>
4137
4138 <blockquote><pre>
4139 http_proxy=http://webcache:3128/
4140 ftp_proxy=http://webcache:3128/
4141 </pre></blockquote>
4142
4143 <p>To do this conversion I developed a perl script that will execute
4144 the javascript fragment in the WPAD file and return the proxy that
4145 would be used for
4146 <tt><a href="http://www.debian.org/">http://www.debian.org/</a></tt>,
4147 and insert this extracted proxy URL in <tt>/etc/environment</tt> and
4148 <tt>/etc/apt/apt.conf</tt>. The perl script wpad-extract work just
4149 fine in Squeeze, but in Wheezy the library it need to run the
4150 javascript code is <a href="http://bugs.debian.org/631045">no longer
4151 able to build</a> because the C library it depended on is now a C++
4152 library. I hope someone find a solution to that problem before Wheezy
4153 is frozen. An alternative would be for us to rewrite wpad-extract to
4154 use some other javascript library currently working in Wheezy, but no
4155 known alternative is known at the moment.</p>
4156
4157 <p>This automatic proxy system allow the roaming workstation (aka
4158 laptop) setup in Debian Edu/Squeeze to use the proxy when the laptop
4159 is connected to the backbone network in a Debian Edu setup, and to
4160 automatically use any proxy present and announced using the WPAD
4161 feature when it is connected to other networks. And if no proxy is
4162 announced, direct connections will be used instead.</p>
4163
4164 <p>Silently using a proxy announced on the network might be a privacy
4165 or security problem. But those controlling DHCP and DNS on a network
4166 could just as easily set up a transparent proxy, and force all HTTP
4167 and FTP connections to use a proxy anyway, so I consider that
4168 distinction to be academic. If you are afraid of using the wrong
4169 proxy, you should avoid connecting to the network in question in the
4170 first place. In Debian Edu, the proxy setup is updated using dhcp and
4171 ifupdown hooks, to make sure the configuration is updated every time
4172 the network setup changes.</p>
4173
4174 <p>The WPAD system is documented in a
4175 <a href="http://tools.ietf.org/html/draft-ietf-wrec-wpad-01">IETF
4176 draft</a> and a
4177 <a href="http://en.wikipedia.org/wiki/Web_Proxy_Autodiscovery_Protocol">Wikipedia
4178 page</a> for those that want to learn more.</p>
4179
4180 </div>
4181 <div class="tags">
4182
4183
4184 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
4185
4186
4187 </div>
4188 </div>
4189 <div class="padding"></div>
4190
4191 <div class="entry">
4192 <div class="title">
4193 <a href="http://people.skolelinux.org/pere/blog/Saving_power_with_Debian_Edu___Skolelinux_using_shutdown_at_night.html">Saving power with Debian Edu / Skolelinux using shutdown-at-night</a>
4194 </div>
4195 <div class="date">
4196 5th February 2012
4197 </div>
4198 <div class="body">
4199 <p>Since the Lenny version of
4200 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a>, a
4201 feature to save power have been included. It is as simple as it is
4202 practical: Shut down unused clients at night, and turn them on again
4203 in the morning. This is done using the
4204 <a href="http://packages.qa.debian.org/s/shutdown-at-night.html">shutdown-at-night</a> Debian package.</p>
4205
4206 <p>To enable this feature on a client, the machine need to be added to
4207 the netgroup shutdown-at-night-hosts. For Debian Edu, this is done in
4208 LDAP, and once this is in place, the machine in question will check
4209 every hour from 16:00 until 06:00 to see if the machine is unused, and
4210 shut it down if it is. If the hardware in question is supported by
4211 the
4212 <a href="http://packages.qa.debian.org/n/nvram-wakeup.html">nvram-wakeup</a>
4213 package, the BIOS is told to turn the machine back on around 07:00 +-
4214 10 minutes. If this isn't working, one can configure wake-on-lan to
4215 try to turn on the client. The wake-on-lan option is only documented
4216 and not enabled by default in Debian Edu.</p>
4217
4218 <p>It is important to not turn all machines on at once, as this can
4219 blow a fuse if several computers are connected to the same fuse like
4220 the common setup for a classroom. The nvram-wakeup method only work
4221 for machines with a functioning hardware/BIOS clock. I've seen old
4222 machines where the BIOS battery were dead and the hardware clock were
4223 starting from 0 (or was it 1990?) every boot. If you have one of
4224 those, you have to turn on the computer manually.</p>
4225
4226 <p>The shutdown-at-night package is completely self contained, and can
4227 also be used outside the Debian Edu environment. For those without a
4228 central LDAP server with netgroups, one can instead touch the file
4229 <tt>/etc/shutdown-at-night/shutdown-at-night</tt> to enable it.
4230 Perhaps you too can use it to save some power?</p>
4231
4232 </div>
4233 <div class="tags">
4234
4235
4236 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
4237
4238
4239 </div>
4240 </div>
4241 <div class="padding"></div>
4242
4243 <div class="entry">
4244 <div class="title">
4245 <a href="http://people.skolelinux.org/pere/blog/Third_beta_version_of_Debian_Edu___Skolelinux_based_on_Squeeze.html">Third beta version of Debian Edu / Skolelinux based on Squeeze</a>
4246 </div>
4247 <div class="date">
4248 4th February 2012
4249 </div>
4250 <div class="body">
4251 <p>I am happy to announce that finally we managed today to wrap up and
4252 publish the third beta version of
4253 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> based
4254 on Squeeze. If you want to test a LDAP backed Kerberos server with
4255 out of the box PXE configuration for running diskless machines and
4256 installing new machines, check it out. If you need a software
4257 solution for your school, check it out too. The full announcement is
4258 <a href="http://lists.debian.org/debian-edu-announce/2012/02/msg00000.html">available</a>
4259 on the project announcement list.</p>
4260
4261 <p>I am very happy to report these changes and improvements since
4262 beta2 (there are more, see announcement for full list):</p>
4263
4264 <ul>
4265
4266 <li>It is now possible to change the pre-configured IP subnet from
4267 10.0.0.0/8 to something else by using the subnet-change tool after
4268 the installation.</li>
4269
4270 <li>Too full partitions are now automatically extended on the Main
4271 Server, based on the rules specified in /etc/fsautoresizetab.</li>
4272
4273 <li>The CUPS queues are now automatically flushed every night, and all
4274 disabled queues are restarted every hour. This should cut down on
4275 the amount of manual administration needed for printers.</li>
4276
4277 <li>The set of initial users have been changed. Now a personal user
4278 for the local system administrator is created during installation
4279 instead of the previously created localadmin and super-admin users,
4280 and this user is granted administrative privileges using group
4281 membership. This reduces the number of passwords one need to keep
4282 up to date on the system.</li>
4283
4284 </ul>
4285
4286 <p>The new main server seem to work so well that I am testing it as my
4287 private DNS/LDAP/Kerberos/PXE/LTSP server at home. I will use it look
4288 for issues we could fix to polish Debian Edu even further before the
4289 final Squeeze release is published.</p>
4290
4291 <p>Next weekend the project organise a
4292 <a href="http://lists.debian.org/debian-edu-announce/2012/01/msg00001.html">developer
4293 gathering</a> in Oslo. We will continue the work on the Squeeze
4294 version, and start initial planning for the Wheezy version. Perhaps I
4295 will see you there?</p>
4296
4297 </div>
4298 <div class="tags">
4299
4300
4301 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
4302
4303
4304 </div>
4305 </div>
4306 <div class="padding"></div>
4307
4308 <div class="entry">
4309 <div class="title">
4310 <a href="http://people.skolelinux.org/pere/blog/Handling_non_free_firmware_in_Debian_Edu_Squeeze.html">Handling non-free firmware in Debian Edu/Squeeze</a>
4311 </div>
4312 <div class="date">
4313 27th January 2012
4314 </div>
4315 <div class="body">
4316 <p>With some computer hardware, one need non-free firmware blobs.
4317 This is the sad fact of todays computers. In the next version of
4318 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> based
4319 on Squeeze, we provide several scripts and modifications to make
4320 firmware blobs easier to handle. The common use case I run into is a
4321 laptop with a wireless network card requiring non-free firmware to
4322 work, but there are other use cases as well.</p>
4323
4324 <p>First and foremost, Debian Edu provide ISO images for DVD and CD
4325 with all firmware packages in the Debian sections main and non-free
4326 included, to ensure debian-installer find and can install all of them
4327 during installation. This take care firmware for network devices used
4328 by the installer when installing from from local media. But for
4329 example multimedia devices are not activated in the installer and are
4330 not taken care of by this.</p>
4331
4332 <p>For non-network devices, we provide the script
4333 <tt>/usr/share/debian-edu-config/tools/auto-addfirmware</tt> which
4334 search through the <tt>dmesg</tt> output for drivers requesting extra
4335 firmware. The firmware file name is looked up in the Contents-ARCH.gz
4336 file available in the package repository, and the packages providing
4337 the requested firmware file(s) is installed. I have proposed to do
4338 something similar in debian-installer (BTS report
4339 <a href="http://bugs.debian.org/655507">#655507</a>), to allow PXE
4340 installs of Debian to handle firmware installation better. Run the
4341 script as root from the command line to fetch and install the needed
4342 firmware packages.</p>
4343
4344 <p>Debian Edu provide PXE installation of Debian out of the box, and
4345 because some machines need firmware to get their network cards
4346 working, the installation initrd some times need extra firmware
4347 included to be able to install at all. To fill the PXE installation
4348 initrd with extra firmware, the
4349 <tt>/usr/share/debian-edu-config/tools/pxe-addfirmware</tt> script is
4350 provided. Again, just run it as root on the command line to fill the
4351 PXE initrd with firmware packages.</p>
4352
4353 <p>Last, some LTSP clients might also need firmware to get their
4354 network cards working. For this,
4355 <tt>/usr/share/debian-edu-config/tools/ltsp-addfirmware</tt> is
4356 provided to update the LTSP initrd with firmware blobs. It is used
4357 the same way as the other firmware related tools.</p>
4358
4359 <p>At the moment, we do not run any of these during installation. We
4360 do not know if this is acceptable for the local administrator to use
4361 non-free software, and it is their choice.</p>
4362
4363 <p>We plan to release beta3 this weekend. You might want to give it a
4364 try.</p>
4365
4366 </div>
4367 <div class="tags">
4368
4369
4370 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
4371
4372
4373 </div>
4374 </div>
4375 <div class="padding"></div>
4376
4377 <div class="entry">
4378 <div class="title">
4379 <a href="http://people.skolelinux.org/pere/blog/Setting_up_a_new_school_with_Debian_Edu_Squeeze.html">Setting up a new school with Debian Edu/Squeeze</a>
4380 </div>
4381 <div class="date">
4382 25th January 2012
4383 </div>
4384 <div class="body">
4385 <p>The next version of <a href="http://www.skolelinux.org/">Debian Edu
4386 / Skolelinux</a> will include a new tool
4387 <tt>sitesummary2ldapdhcp</tt>, which can be used to quickly set up all
4388 the computers in a school without much manual labour. Here is a short
4389 summary on how to use it to set up a new school.</p>
4390
4391 <p>First, install a combined Main Server and Thin Client Server as the
4392 central server in the network. Next, PXE boot all the client machines
4393 as thin clients and wait 5 minutes after the last client booted to
4394 allow the clients to report their existence to the central server. When
4395 this is done, log on to the central server and run
4396 <tt>sitesummary2ldapdhcp -a</tt> in the <tt>konsole</tt> to use the
4397 collected information to generate system objects in LDAP. The output
4398 will look similar to this:</p>
4399
4400 <p><blockquote><pre>
4401 % sitesummary2ldapdhcp -a
4402 info: Updating machine tjener.intern [10.0.2.2] id ether-00:01:02:03:04:05.
4403 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.
4404
4405 Enter password if you want to activate these changes, and ^c to abort.
4406
4407 Connecting to LDAP as cn=admin,ou=ldap-access,dc=skole,dc=skolelinux,dc=no
4408 enter password: *******
4409 %
4410 </pre></blockquote></p>
4411
4412 <p>After providing the LDAP administrative password (the same as the
4413 root password set during installation), the LDAP database will be
4414 populated with system objects for each PXE booted machine with
4415 automatically generated names. The final step to set up the school is
4416 then to log into <a href="https://oss.gonicus.de/labs/gosa/">GOsa</a>,
4417 the web based user, group and system administration system to change
4418 system names, add systems to the correct host groups and finally
4419 enable DHCP and DNS for the systems. All clients that should be used
4420 as diskless workstations should be added to the workstation-hosts
4421 group. After this is done, all computers can be booted again via PXE
4422 and get their assigned names and group based configuration
4423 automatically.</p>
4424
4425 <p>We plan to release beta3 with the updated version of this feature
4426 enabled this weekend. You might want to give it a try.</p>
4427
4428 <p>Update 2012-01-28: When calling sitesummary2ldapdhcp to add new
4429 hosts, one need to add the option -a. I forgot to mention this in my
4430 original text, and have added it to the text now.</p>
4431
4432 </div>
4433 <div class="tags">
4434
4435
4436 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary</a>.
4437
4438
4439 </div>
4440 </div>
4441 <div class="padding"></div>
4442
4443 <div class="entry">
4444 <div class="title">
4445 <a href="http://people.skolelinux.org/pere/blog/Changing_the_default_Iceweasel_start_page_in_Debian_Edu_Squeeze.html">Changing the default Iceweasel start page in Debian Edu/Squeeze</a>
4446 </div>
4447 <div class="date">
4448 10th January 2012
4449 </div>
4450 <div class="body">
4451 <p>In the Squeeze version of
4452 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> soon
4453 to be released, users of the system will get their default browser
4454 start page set from LDAP, allowing the system administrator to point
4455 all users to the school web page by updating one setting in LDAP. In
4456 addition to setting the default start page when a machine boots, users
4457 are shown the same page as a welcome page when they log in for the
4458 first time.</p>
4459
4460 <p>The LDAP object dc=skole,dc=skolelinux,dc=no have an attribute
4461 labeledURI with "http://www/ LDAP for Debian Edu/Skolelinux" as the
4462 default content. By changing this value to another URL, all users get
4463 to see the page behind this new URL.</p>
4464
4465 <p>An easy way to update it is by using the ldapvi tool. It can be
4466 called as "<tt>ldapvi -ZD '(cn=admin)'</tt>' to update LDAP with the
4467 new setting.</p>
4468
4469 <p>We have written the code to adjust the default start page and show
4470 the welcome page, and I wonder if there is an easier way to do this
4471 from within Iceweasel instead.</p>
4472
4473 </div>
4474 <div class="tags">
4475
4476
4477 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/web">web</a>.
4478
4479
4480 </div>
4481 </div>
4482 <div class="padding"></div>
4483
4484 <div class="entry">
4485 <div class="title">
4486 <a href="http://people.skolelinux.org/pere/blog/Second_beta_version_of_Debian_Edu___Skolelinux_based_on_Squeeze.html">Second beta version of Debian Edu / Skolelinux based on Squeeze</a>
4487 </div>
4488 <div class="date">
4489 7th January 2012
4490 </div>
4491 <div class="body">
4492 <p>I am happy to announce that today we managed to wrap up and publish
4493 the second beta version of
4494 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a>. If
4495 you want to test a LDAP backed Kerberos server with out of the box PXE
4496 configuration for running diskless machines and installing new
4497 machines, check it out. If you need a software solution for your
4498 school, check it out too. The full announcement is
4499 <a href="http://lists.debian.org/debian-edu-announce/2012/01/msg00000.html">available</a>
4500 on the project announcement list.</p>
4501
4502 </div>
4503 <div class="tags">
4504
4505
4506 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
4507
4508
4509 </div>
4510 </div>
4511 <div class="padding"></div>
4512
4513 <div class="entry">
4514 <div class="title">
4515 <a href="http://people.skolelinux.org/pere/blog/Fixing_an_hanging_debian_installer_for_Debian_Edu.html">Fixing an hanging debian installer for Debian Edu</a>
4516 </div>
4517 <div class="date">
4518 3rd January 2012
4519 </div>
4520 <div class="body">
4521 <p>During christmas, I have been working getting the next version of
4522 <a href="http://www.skolelinux.org/">Debian Edu / Skolelinux</a> ready
4523 for release. The initial problem I looked at was particularly
4524 interesting.</p>
4525
4526 <P>The installer would hang at the end when it was doing it
4527 post-installation configuration, and whatevery I did to try to find
4528 the cause and fix it always worked while I tested it, but never when I
4529 integrated it into the installer and ran the installation from
4530 scratch. I would try to restart processes, close file descriptors,
4531 remove or create files, and the installer would always unblock and
4532 wrap up its tasks.</p>
4533
4534 <p>Eventually the cause was found. The kernel was simply running out
4535 of entropy, causing the Kerberos setup to hang waiting for more.
4536 Pressing keys was adding entropy to the kernel, and thus all my tries
4537 to fix the problem worked not because what I was typing to fix it, but
4538 because I was typing.</P>
4539
4540 <p>The fix I implemented was to add a background process looking at
4541 the level of entropy in the kernel (by checking
4542 /proc/sys/kernel/random/entropy_avail), and if it was too small, the
4543 installer will flush the kernel file buffers and do 'find /' to
4544 generate some disk IO. Disk IO generate entropy in the kernel, and is
4545 one of the few things that can be initated from within the system to
4546 generate entropy.</p>
4547
4548 <p>The fix is in
4549 <a href="http://wiki.debian.org/DebianEdu/Documentation/Squeeze/Installation">beta1
4550 of the Debian Edu/Squeeze</a> version, and we
4551 <a href="http://wiki.debian.org/DebianEdu">welcome more testers and
4552 developers</a>. We plan to release beta2 this weekend.</p>
4553
4554 </div>
4555 <div class="tags">
4556
4557
4558 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
4559
4560
4561 </div>
4562 </div>
4563 <div class="padding"></div>
4564
4565 <div class="entry">
4566 <div class="title">
4567 <a href="http://people.skolelinux.org/pere/blog/Automatically_upgrading_server_firmware_on_Dell_PowerEdge.html">Automatically upgrading server firmware on Dell PowerEdge</a>
4568 </div>
4569 <div class="date">
4570 21st November 2011
4571 </div>
4572 <div class="body">
4573 <p>At work we have heaps of servers. I believe the total count is
4574 around 1000 at the moment. To be able to get help from the vendors
4575 when something go wrong, we want to keep the firmware on the servers
4576 up to date. If the firmware isn't the latest and greatest, the
4577 vendors typically refuse to start debugging any problems until the
4578 firmware is upgraded. So before every reboot, we want to upgrade the
4579 firmware, and we would really like everyone handling servers at the
4580 university to do this themselves when they plan to reboot a machine.
4581 For that to happen we at the unix server admin group need to provide
4582 the tools to do so.</p>
4583
4584 <p>To make firmware upgrading easier, I am working on a script to
4585 fetch and install the latest firmware for the servers we got. Most of
4586 our hardware are from Dell and HP, so I have focused on these servers
4587 so far. This blog post is about the Dell part.</P>
4588
4589 <p>On the Dell FTP site I was lucky enough to find
4590 <a href="ftp://ftp.us.dell.com/catalog/Catalog.xml.gz">an XML file</a>
4591 with firmware information for all 11th generation servers, listing
4592 which firmware should be used on a given model and where on the FTP
4593 site I can find it. Using a simple perl XML parser I can then
4594 download the shell scripts Dell provides to do firmware upgrades from
4595 within Linux and reboot when all the firmware is primed and ready to
4596 be activated on the first reboot.</p>
4597
4598 <p>This is the Dell related fragment of the perl code I am working on.
4599 Are there anyone working on similar tools for firmware upgrading all
4600 servers at a site? Please get in touch and lets share resources.</p>
4601
4602 <p><pre>
4603 #!/usr/bin/perl
4604 use strict;
4605 use warnings;
4606 use File::Temp qw(tempdir);
4607 BEGIN {
4608 # Install needed RHEL packages if missing
4609 my %rhelmodules = (
4610 'XML::Simple' => 'perl-XML-Simple',
4611 );
4612 for my $module (keys %rhelmodules) {
4613 eval "use $module;";
4614 if ($@) {
4615 my $pkg = $rhelmodules{$module};
4616 system("yum install -y $pkg");
4617 eval "use $module;";
4618 }
4619 }
4620 }
4621 my $errorsto = 'pere@hungry.com';
4622
4623 upgrade_dell();
4624
4625 exit 0;
4626
4627 sub run_firmware_script {
4628 my ($opts, $script) = @_;
4629 unless ($script) {
4630 print STDERR "fail: missing script name\n";
4631 exit 1
4632 }
4633 print STDERR "Running $script\n\n";
4634
4635 if (0 == system("sh $script $opts")) { # FIXME correct exit code handling
4636 print STDERR "success: firmware script ran succcessfully\n";
4637 } else {
4638 print STDERR "fail: firmware script returned error\n";
4639 }
4640 }
4641
4642 sub run_firmware_scripts {
4643 my ($opts, @dirs) = @_;
4644 # Run firmware packages
4645 for my $dir (@dirs) {
4646 print STDERR "info: Running scripts in $dir\n";
4647 opendir(my $dh, $dir) or die "Unable to open directory $dir: $!";
4648 while (my $s = readdir $dh) {
4649 next if $s =~ m/^\.\.?/;
4650 run_firmware_script($opts, "$dir/$s");
4651 }
4652 closedir $dh;
4653 }
4654 }
4655
4656 sub download {
4657 my $url = shift;
4658 print STDERR "info: Downloading $url\n";
4659 system("wget --quiet \"$url\"");
4660 }
4661
4662 sub upgrade_dell {
4663 my @dirs;
4664 my $product = `dmidecode -s system-product-name`;
4665 chomp $product;
4666
4667 if ($product =~ m/PowerEdge/) {
4668
4669 # on RHEL, these pacakges are needed by the firwmare upgrade scripts
4670 system('yum install -y compat-libstdc++-33.i686 libstdc++.i686 libxml2.i686 procmail');
4671
4672 my $tmpdir = tempdir(
4673 CLEANUP => 1
4674 );
4675 chdir($tmpdir);
4676 fetch_dell_fw('catalog/Catalog.xml.gz');
4677 system('gunzip Catalog.xml.gz');
4678 my @paths = fetch_dell_fw_list('Catalog.xml');
4679 # -q is quiet, disabling interactivity and reducing console output
4680 my $fwopts = "-q";
4681 if (@paths) {
4682 for my $url (@paths) {
4683 fetch_dell_fw($url);
4684 }
4685 run_firmware_scripts($fwopts, $tmpdir);
4686 } else {
4687 print STDERR "error: Unsupported Dell model '$product'.\n";
4688 print STDERR "error: Please report to $errorsto.\n";
4689 }
4690 chdir('/');
4691 } else {
4692 print STDERR "error: Unsupported Dell model '$product'.\n";
4693 print STDERR "error: Please report to $errorsto.\n";
4694 }
4695 }
4696
4697 sub fetch_dell_fw {
4698 my $path = shift;
4699 my $url = "ftp://ftp.us.dell.com/$path";
4700 download($url);
4701 }
4702
4703 # Using ftp://ftp.us.dell.com/catalog/Catalog.xml.gz, figure out which
4704 # firmware packages to download from Dell. Only work for Linux
4705 # machines and 11th generation Dell servers.
4706 sub fetch_dell_fw_list {
4707 my $filename = shift;
4708
4709 my $product = `dmidecode -s system-product-name`;
4710 chomp $product;
4711 my ($mybrand, $mymodel) = split(/\s+/, $product);
4712
4713 print STDERR "Finding firmware bundles for $mybrand $mymodel\n";
4714
4715 my $xml = XMLin($filename);
4716 my @paths;
4717 for my $bundle (@{$xml->{SoftwareBundle}}) {
4718 my $brand = $bundle->{TargetSystems}->{Brand}->{Display}->{content};
4719 my $model = $bundle->{TargetSystems}->{Brand}->{Model}->{Display}->{content};
4720 my $oscode;
4721 if ("ARRAY" eq ref $bundle->{TargetOSes}->{OperatingSystem}) {
4722 $oscode = $bundle->{TargetOSes}->{OperatingSystem}[0]->{osCode};
4723 } else {
4724 $oscode = $bundle->{TargetOSes}->{OperatingSystem}->{osCode};
4725 }
4726 if ($mybrand eq $brand && $mymodel eq $model && "LIN" eq $oscode)
4727 {
4728 @paths = map { $_->{path} } @{$bundle->{Contents}->{Package}};
4729 }
4730 }
4731 for my $component (@{$xml->{SoftwareComponent}}) {
4732 my $componenttype = $component->{ComponentType}->{value};
4733
4734 # Drop application packages, only firmware and BIOS
4735 next if 'APAC' eq $componenttype;
4736
4737 my $cpath = $component->{path};
4738 for my $path (@paths) {
4739 if ($cpath =~ m%/$path$%) {
4740 push(@paths, $cpath);
4741 }
4742 }
4743 }
4744 return @paths;
4745 }
4746 </pre>
4747
4748 <p>The code is only tested on RedHat Enterprise Linux, but I suspect
4749 it could work on other platforms with some tweaking. Anyone know a
4750 index like Catalog.xml is available from HP for HP servers? At the
4751 moment I maintain a similar list manually and it is quickly getting
4752 outdated.</p>
4753
4754 </div>
4755 <div class="tags">
4756
4757
4758 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
4759
4760
4761 </div>
4762 </div>
4763 <div class="padding"></div>
4764
4765 <div class="entry">
4766 <div class="title">
4767 <a href="http://people.skolelinux.org/pere/blog/Free_e_book_kiosk_for_the_public_libraries_.html">Free e-book kiosk for the public libraries?</a>
4768 </div>
4769 <div class="date">
4770 7th October 2011
4771 </div>
4772 <div class="body">
4773 <p>Here in Norway the public libraries are debating with the
4774 publishing houses how to handle electronic books. Surprisingly, the
4775 libraries seem to be willing to accept digital restriction mechanisms
4776 (DRM) on books and renting e-books with artificial scarcity from the
4777 publishing houses. Time limited renting (2-3 years) is one proposed
4778 model, and only allowing X borrowers for each book is another.
4779 Personally I find it amazing that libraries are even considering such
4780 models.</p>
4781
4782 <p>Anyway, while reading <a href="http://boklaben.no/?p=220">part of
4783 this debate</a>, it occurred to me that someone should present a more
4784 sensible approach to the libraries, to allow its borrowers to get used
4785 to a better model. The idea is simple:</p>
4786
4787 <p>Create a computer system for the libraries, either in the form of a
4788 Live DVD or a installable distribution, that provide a simple kiosk
4789 solution to hand out free e-books. As a start, the books distributed
4790 by <a href="http://www.gutenberg.org/">Project Gutenberg</a> (about
4791 36,000 books), <a href="http://runeberg.org/">Project Runenberg</a>
4792 (1149 books) and <a href="http://www.archive.org/details/texts">The
4793 Internet Archive</a> (3,033,748 books) could be included, but any book
4794 where the copyright has expired or with a free licence could be
4795 distributed.</p>
4796
4797 <p>The computer system would make it easy to:</p>
4798
4799 <ul>
4800
4801 <li>Copy e-books into a USB stick, reading tablets, cell phones and
4802 other relevant equipment.</li>
4803
4804 <li>Show the books for reading on the the screen in the library.</li>
4805
4806 </ul>
4807
4808 <p>In addition to such kiosk solution, there should probably be a web
4809 site as well to allow people easy access to these books without
4810 visiting the library. The site would be the distribution point for
4811 the kiosk systems, which would connect regularly to fetch any new
4812 books available.</p>
4813
4814 <p>Are there anyone working on a system like this? I guess it would
4815 fit any library in the world, and not just the Norwegian public
4816 libraries. :)</p>
4817
4818 </div>
4819 <div class="tags">
4820
4821
4822 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett</a>.
4823
4824
4825 </div>
4826 </div>
4827 <div class="padding"></div>
4828
4829 <div class="entry">
4830 <div class="title">
4831 <a href="http://people.skolelinux.org/pere/blog/Ripping_problematic_DVDs_using_dvdbackup_and_genisoimage.html">Ripping problematic DVDs using dvdbackup and genisoimage</a>
4832 </div>
4833 <div class="date">
4834 17th September 2011
4835 </div>
4836 <div class="body">
4837 <p>For convenience, I want to store copies of all my DVDs on my file
4838 server. It allow me to save shelf space flat while still having my
4839 movie collection easily available. It also make it possible to let
4840 the kids see their favourite DVDs without wearing the physical copies
4841 down. I prefer to store the DVDs as ISOs to keep the DVD menu and
4842 subtitle options intact. It also ensure that the entire film is one
4843 file on the disk. As this is for personal use, the ripping is
4844 perfectly legal here in Norway.</p>
4845
4846 <p>Normally I rip the DVDs using dd like this:</p>
4847
4848 <blockquote><pre>
4849 #!/bin/sh
4850 # apt-get install lsdvd
4851 title=$(lsdvd 2>/dev/null|awk '/Disc Title: / {print $3}')
4852 dd if=/dev/dvd of=/storage/dvds/$title.iso bs=1M
4853 </pre></blockquote>
4854
4855 <p>But some DVDs give a input/output error when I read it, and I have
4856 been looking for a better alternative. I have no idea why this I/O
4857 error occur, but suspect my DVD drive, the Linux kernel driver or
4858 something fishy with the DVDs in question. Or perhaps all three.</p>
4859
4860 <p>Anyway, I believe I found a solution today using dvdbackup and
4861 genisoimage. This script gave me a working ISO for a problematic
4862 movie by first extracting the DVD file system and then re-packing it
4863 back as an ISO.
4864
4865 <blockquote><pre>
4866 #!/bin/sh
4867 # apt-get install lsdvd dvdbackup genisoimage
4868 set -e
4869 tmpdir=/storage/dvds/
4870 title=$(lsdvd 2>/dev/null|awk '/Disc Title: / {print $3}')
4871 dvdbackup -i /dev/dvd -M -o $tmpdir -n$title
4872 genisoimage -dvd-video -o $tmpdir/$title.iso $tmpdir/$title
4873 rm -rf $tmpdir/$title
4874 </pre></blockquote>
4875
4876 <p>Anyone know of a better way available in Debian/Squeeze?</p>
4877
4878 <p>Update 2011-09-18: I got a tip from Konstantin Khomoutov about the
4879 readom program from the wodim package. It is specially written to
4880 read optical media, and is called like this: <tt>readom dev=/dev/dvd
4881 f=image.iso</tt>. It got 6 GB along with the problematic Cars DVD
4882 before it failed, and failed right away with a Timmy Time DVD.</p>
4883
4884 <p>Next, I got a tip from Bastian Blank about
4885 <a href="http://bblank.thinkmo.de/blog/new-software-python-dvdvideo">his
4886 program python-dvdvideo</a>, which seem to be just what I am looking
4887 for. Tested it with my problematic Timmy Time DVD, and it succeeded
4888 creating a ISO image. The git source built and installed just fine in
4889 Squeeze, so I guess this will be my tool of choice in the future.</p>
4890
4891 </div>
4892 <div class="tags">
4893
4894
4895 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
4896
4897
4898 </div>
4899 </div>
4900 <div class="padding"></div>
4901
4902 <div class="entry">
4903 <div class="title">
4904 <a href="http://people.skolelinux.org/pere/blog/How_is_booting_into_runlevel_1_different_from_single_user_boots_.html">How is booting into runlevel 1 different from single user boots?</a>
4905 </div>
4906 <div class="date">
4907 4th August 2011
4908 </div>
4909 <div class="body">
4910 <p>Wouter Verhelst have some
4911 <a href="http://grep.be/blog/en/retorts/pere_kubuntu_boot">interesting
4912 comments and opinions</a> on my blog post on
4913 <a href="http://people.skolelinux.org/pere/blog/What_should_start_from__etc_rcS_d__in_Debian____almost_nothing.html">the
4914 need to clean up /etc/rcS.d/ in Debian</a> and my blog post about
4915 <a href="http://people.skolelinux.org/pere/blog/What_is_missing_in_the_Debian_desktop__or_why_my_parents_use_Kubuntu.html">the
4916 default KDE desktop in Debian</a>. I only have time to address one
4917 small piece of his comment now, and though it best to address the
4918 misunderstanding he bring forward:</p>
4919
4920 <p><blockquote>
4921 Currently, a system admin has four options: [...] boot to a
4922 single-user system (by adding 'single' to the kernel command line;
4923 this runs rcS and rc1 scripts)
4924 </blockquote></p>
4925
4926 <p>This make me believe Wouter believe booting into single user mode
4927 and booting into runlevel 1 is the same. I am not surprised he
4928 believe this, because it would make sense and is a quite sensible
4929 thing to believe. But because the boot in Debian is slightly broken,
4930 runlevel 1 do not work properly and it isn't the same as single user
4931 mode. I'll try to explain what is actually happing, but it is a bit
4932 hard to explain.</p>
4933
4934 <p>Single user mode is defined like this in /etc/inittab:
4935 "<tt>~~:S:wait:/sbin/sulogin</tt>". This means the only thing that is
4936 executed in single user mode is sulogin. Single user mode is a boot
4937 state "between" the runlevels, and when booting into single user mode,
4938 only the scripts in /etc/rcS.d/ are executed before the init process
4939 enters the single user state. When switching to runlevel 1, the state
4940 is in fact not ending in runlevel 1, but it passes through runlevel 1
4941 and end up in the single user mode (see /etc/rc1.d/S03single, which
4942 runs "init -t1 S" to switch to single user mode at the end of runlevel
4943 1. It is confusing that the 'S' (single user) init mode is not the
4944 mode enabled by /etc/rcS.d/ (which is more like the initial boot
4945 mode).</p>
4946
4947 <p>This summary might make it clearer. When booting for the first
4948 time into single user mode, the following commands are executed:
4949 "<tt>/etc/init.d/rc S; /sbin/sulogin</tt>". When booting into
4950 runlevel 1, the following commands are executed: "<tt>/etc/init.d/rc
4951 S; /etc/init.d/rc 1; /sbin/sulogin</tt>". A problem show up when
4952 trying to continue after visiting single user mode. Not all services
4953 are started again as they should, causing the machine to end up in an
4954 unpredicatble state. This is why Debian admins recommend rebooting
4955 after visiting single user mode.</p>
4956
4957 <p>A similar problem with runlevel 1 is caused by the amount of
4958 scripts executed from /etc/rcS.d/. When switching from say runlevel 2
4959 to runlevel 1, the services started from /etc/rcS.d/ are not properly
4960 stopped when passing through the scripts in /etc/rc1.d/, and not
4961 started again when switching away from runlevel 1 to the runlevels
4962 2-5. I believe the problem is best fixed by moving all the scripts
4963 out of /etc/rcS.d/ that are not <strong>required</strong> to get a
4964 functioning single user mode during boot.</p>
4965
4966 <p>I have spent several years investigating the Debian boot system,
4967 and discovered this problem a few years ago. I suspect it originates
4968 from when sysvinit was introduced into Debian, a long time ago.</p>
4969
4970 </div>
4971 <div class="tags">
4972
4973
4974 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
4975
4976
4977 </div>
4978 </div>
4979 <div class="padding"></div>
4980
4981 <div class="entry">
4982 <div class="title">
4983 <a href="http://people.skolelinux.org/pere/blog/What_should_start_from__etc_rcS_d__in_Debian____almost_nothing.html">What should start from /etc/rcS.d/ in Debian? - almost nothing</a>
4984 </div>
4985 <div class="date">
4986 30th July 2011
4987 </div>
4988 <div class="body">
4989 <p>In the Debian boot system, several packages include scripts that
4990 are started from /etc/rcS.d/. In fact, there is a bite more of them
4991 than make sense, and this causes a few problems. What kind of
4992 problems, you might ask. There are at least two problems. The first
4993 is that it is not possible to recover a machine after switching to
4994 runlevel 1. One need to actually reboot to get the machine back to
4995 the expected state. The other is that single user boot will sometimes
4996 run into problems because some of the subsystems are activated before
4997 the root login is presented, causing problems when trying to recover a
4998 machine from a problem in that subsystem. A minor additional point is
4999 that moving more scripts out of rcS.d/ and into the other rc#.d/
5000 directories will increase the amount of scripts that can run in
5001 parallel during boot, and thus decrease the boot time.</p>
5002
5003 <p>So, which scripts should start from rcS.d/. In short, only the
5004 scripts that _have_ to execute before the root login prompt is
5005 presented during a single user boot should go there. Everything else
5006 should go into the numeric runlevels. This means things like
5007 lm-sensors, fuse and x11-common should not run from rcS.d, but from
5008 the numeric runlevels. Today in Debian, there are around 115 init.d
5009 scripts that are started from rcS.d/, and most of them should be moved
5010 out. Do your package have one of them? Please help us make single
5011 user and runlevel 1 better by moving it.</p>
5012
5013 <p>Scripts setting up the screen, keyboard, system partitions
5014 etc. should still be started from rcS.d/, but there is for example no
5015 need to have the network enabled before the single user login prompt
5016 is presented.</p>
5017
5018 <p>As always, things are not so easy to fix as they sound. To keep
5019 Debian systems working while scripts migrate and during upgrades, the
5020 scripts need to be moved from rcS.d/ to rc2.d/ in reverse dependency
5021 order, ie the scripts that nothing in rcS.d/ depend on can be moved,
5022 and the next ones can only be moved when their dependencies have been
5023 moved first. This migration must be done sequentially while we ensure
5024 that the package system upgrade packages in the right order to keep
5025 the system state correct. This will require some coordination when it
5026 comes to network related packages, but most of the packages with
5027 scripts that should migrate do not have anything in rcS.d/ depending
5028 on them. Some packages have already been updated, like the sudo
5029 package, while others are still left to do. I wish I had time to work
5030 on this myself, but real live constrains make it unlikely that I will
5031 find time to push this forward.</p>
5032
5033 </div>
5034 <div class="tags">
5035
5036
5037 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
5038
5039
5040 </div>
5041 </div>
5042 <div class="padding"></div>
5043
5044 <div class="entry">
5045 <div class="title">
5046 <a href="http://people.skolelinux.org/pere/blog/What_is_missing_in_the_Debian_desktop__or_why_my_parents_use_Kubuntu.html">What is missing in the Debian desktop, or why my parents use Kubuntu</a>
5047 </div>
5048 <div class="date">
5049 29th July 2011
5050 </div>
5051 <div class="body">
5052 <p>While at Debconf11, I have several times during discussions
5053 mentioned the issues I believe should be improved in Debian for its
5054 desktop to be useful for more people. The use case for this is my
5055 parents, which are currently running Kubuntu which solve the
5056 issues.</p>
5057
5058 <p>I suspect these four missing features are not very hard to
5059 implement. After all, they are present in Ubuntu, so if we wanted to
5060 do this in Debian we would have a source.</p>
5061
5062 <ol>
5063
5064 <li><strong>Simple GUI based upgrade of packages.</strong> When there
5065 are new packages available for upgrades, a icon in the KDE status bar
5066 indicate this, and clicking on it will activate the simple upgrade
5067 tool to handle it. I have no problem guiding both of my parents
5068 through the process over the phone. If a kernel reboot is required,
5069 this too is indicated by the status bars and the upgrade tool. Last
5070 time I checked, nothing with the same features was working in KDE in
5071 Debian.</li>
5072
5073 <li><strong>Simple handling of missing Firefox browser
5074 plugins.</strong> When the browser encounter a MIME type it do not
5075 currently have a handler for, it will ask the user if the system
5076 should search for a package that would add support for this MIME type,
5077 and if the user say yes, the APT sources will be searched for packages
5078 advertising the MIME type in their control file (visible in the
5079 Packages file in the APT archive). If one or more packages are found,
5080 it is a simple click of the mouse to add support for the missing mime
5081 type. If the package require the user to accept some non-free
5082 license, this is explained to the user. The entire process make it
5083 more clear to the user why something do not work in the browser, and
5084 make the chances higher for the user to blame the web page authors and
5085 not the browser for any missing features.</li>
5086
5087 <li><strong>Simple handling of missing multimedia codec/format
5088 handlers.</strong> When the media players encounter a format or codec
5089 it is not supporting, a dialog pop up asking the user if the system
5090 should search for a package that would add support for it. This
5091 happen with things like MP3, Windows Media or H.264. The selection
5092 and installation procedure is very similar to the Firefox browser
5093 plugin handling. This is as far as I know implemented using a
5094 gstreamer hook. The end result is that the user easily get access to
5095 the codecs that are present from the APT archives available, while
5096 explaining more on why a given format is unsupported by Ubuntu.</li>
5097
5098 <li><strong>Better browser handling of some MIME types.</strong> When
5099 displaying a text/plain file in my Debian browser, it will propose to
5100 start emacs to show it. If I remember correctly, when doing the same
5101 in Kunbutu it show the file as a text file in the browser. At least I
5102 know Opera will show text files within the browser. I much prefer the
5103 latter behaviour.</li>
5104
5105 </ol>
5106
5107 <p>There are other nice features as well, like the simplified suite
5108 upgrader, but given that I am the one mostly doing the dist-upgrade,
5109 it do not matter much.</p>
5110
5111 <p>I really hope we could get these features in place for the next
5112 Debian release. It would require the coordinated effort of several
5113 maintainers, but would make the end user experience a lot better.</p>
5114
5115 </div>
5116 <div class="tags">
5117
5118
5119 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>, <a href="http://people.skolelinux.org/pere/blog/tags/web">web</a>.
5120
5121
5122 </div>
5123 </div>
5124 <div class="padding"></div>
5125
5126 <div class="entry">
5127 <div class="title">
5128 <a href="http://people.skolelinux.org/pere/blog/Perl_modules_used_by_FixMyStreet_which_are_missing_in_Debian_Squeeze.html">Perl modules used by FixMyStreet which are missing in Debian/Squeeze</a>
5129 </div>
5130 <div class="date">
5131 26th July 2011
5132 </div>
5133 <div class="body">
5134 <p>The Norwegian <a href="http://www.fiksgatami.no/">FiksGataMi</A>
5135 site is build on Debian/Squeeze, and this platform was chosen because
5136 I am most familiar with Debian (being a Debian Developer for around 10
5137 years) because it is the latest stable Debian release which should get
5138 security support for a few years.</p>
5139
5140 <p>The web service is written in Perl, and depend on some perl modules
5141 that are missing in Debian at the moment. It would be great if these
5142 modules were added to the Debian archive, allowing anyone to set up
5143 their own <a href="http://www.fixmystreet.com">FixMyStreet</a> clone
5144 in their own country using only Debian packages. The list of modules
5145 missing in Debian/Squeeze isn't very long, and I hope the perl group
5146 will find time to package the 12 modules Catalyst::Plugin::SmartURI,
5147 Catalyst::Plugin::Unicode::Encoding, Catalyst::View::TT, Devel::Hide,
5148 Sort::Key, Statistics::Distributions, Template::Plugin::Comma,
5149 Template::Plugin::DateTime::Format, Term::Size::Any, Term::Size::Perl,
5150 URI::SmartURI and Web::Scraper to make the maintenance of FixMyStreet
5151 easier in the future.</p>
5152
5153 <p>Thanks to the great tools in Debian, getting the missing modules
5154 installed on my server was a simple call to 'cpan2deb Module::Name'
5155 and 'dpkg -i' to install the resulting package. But this leave me
5156 with the responsibility of tracking security problems, which I really
5157 do not have time for.</p>
5158
5159 </div>
5160 <div class="tags">
5161
5162
5163 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami</a>.
5164
5165
5166 </div>
5167 </div>
5168 <div class="padding"></div>
5169
5170 <div class="entry">
5171 <div class="title">
5172 <a href="http://people.skolelinux.org/pere/blog/Free_Software_vs__proprietary_softare___.html">Free Software vs. proprietary softare...</a>
5173 </div>
5174 <div class="date">
5175 20th June 2011
5176 </div>
5177 <div class="body">
5178 <p>Reading
5179 <a href="http://blog.thingiverse.com/2011/06/20/open-source-vs-closed-source-eulas/">the
5180 thingiverse blog</a>, I came across two highlights of interesting
5181 parts of the
5182 <a href="http://wiki.blender.org/index.php/Autodesk_EULA">Autodesk</a>
5183 and
5184 <a href="http://blog.makezine.com/archive/2011/06/things-you-cant-do-with-the-microsoft-kinect-sdk.html">Microsoft
5185 Kinect</a> End User License Agreements (EULAs), which illustrates
5186 quite well why I stay away from software with EULAs. Whenever I take
5187 the time to read their content, the terms are simply unacceptable.</p>
5188
5189 </div>
5190 <div class="tags">
5191
5192
5193 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett</a>.
5194
5195
5196 </div>
5197 </div>
5198 <div class="padding"></div>
5199
5200 <div class="entry">
5201 <div class="title">
5202 <a href="http://people.skolelinux.org/pere/blog/Experimental_Open311_API_for_the_mySociety_fixmystreet_system.html">Experimental Open311 API for the mySociety fixmystreet system</a>
5203 </div>
5204 <div class="date">
5205 30th April 2011
5206 </div>
5207 <div class="body">
5208 <p>Today, the first draft implementation of an
5209 <a href="http://www.open311.org/">Open311 API</a> for the Norwegian
5210 service <a href="http://www.fiksgatami.no/">FiksGataMi</a> started to
5211 work. It is only available on the developer server for now, and I
5212 have not tested it using any existing Open311 client (I lack the
5213 platforms needed to run the clients I have found so far), but it is
5214 able to query the database and extract a list of open and closed
5215 requests within a given category and reported to a given municipality.
5216 I believe that is a good start to create a useful service for those
5217 that want to do data mining on the requests submitted so far.</p>
5218
5219 <p>Where is it? Visit
5220 <a href="http://fiksgatami-dev.nuug.no/open311.cgi/v2/">http://fiksgatami-dev.nuug.no/open311.cgi/v2/</a>
5221 to have a look. Please send feedback to the
5222 <a href="http://lists.nuug.no/mailman/listinfo/fiksgatami">fiksgatami
5223 (at) nuug.no</a> mailing list.</p>
5224
5225 </div>
5226 <div class="tags">
5227
5228
5229 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami</a>, <a href="http://people.skolelinux.org/pere/blog/tags/open311">open311</a>.
5230
5231
5232 </div>
5233 </div>
5234 <div class="padding"></div>
5235
5236 <div class="entry">
5237 <div class="title">
5238 <a href="http://people.skolelinux.org/pere/blog/Initial_notes_on_adding_Open311_server_API_on_FixMyStreet.html">Initial notes on adding Open311 server API on FixMyStreet</a>
5239 </div>
5240 <div class="date">
5241 29th April 2011
5242 </div>
5243 <div class="body">
5244 <p>The last few days I have spent some time trying to add support for
5245 the <a href="http://www.open311.org/">Open311 API</a> in the
5246 <a href="http://www.fiksgatami.no/">Norwegian FixMyStreet service</a>.
5247 Earlier I believed Open311 would be a useful API to use to submit
5248 reports to the municipalities, but when I noticed that the
5249 <a href="http://fixmystreet.org.nz/">New Zealand version</a> of
5250 FixMyStreet had implemented Open311 on the server side, it occurred to
5251 me that this was a nice way to allow the public, press and
5252 municipalities to do data mining directly in the FixMyStreet service.
5253 Thus I went to work implementing the Open311 specification for
5254 FixMyStreet. The implementation is not yet ready, but I am starting
5255 to get a draft limping along. In the process, I have discovered a few
5256 issues with the Open311 specification.</p>
5257
5258 <p>One obvious missing feature is the lack of natural language
5259 handling in the specification. The specification seem to assume all
5260 reports will be written in English, and do not provide a way for the
5261 receiving end to specify which languages are understood there. To be
5262 able to use the same client and submit to several Open311 receivers,
5263 it would be useful to know which language to use when writing reports.
5264 I believe the specification should be extended to allow the receivers
5265 of problem reports to specify which language they accept, and the
5266 submitter to specify which language the report is written in.
5267 Language of a text can also be automatically guessed using statistical
5268 methods, but for multi-lingual persons like myself, it is useful to
5269 know which language to use when writing a problem report. I suspect
5270 some lang=nb,nn kind of attribute would solve it.</p>
5271
5272 <p>A key part of the Open311 API is the list of services provided,
5273 which is similar to the categories used by FixMyStreet. One issue I
5274 run into is the need to specify both name and unique identifier for
5275 each category. The specification do not state that the identifier
5276 should be numeric, but all example implementations have used numbers
5277 here. In FixMyStreet, there is no number associated with each
5278 category. As the specification do not forbid it, I will use the name
5279 as the unique identifier for now and see how open311 clients handle
5280 it.</p>
5281
5282 <p>The report format in open311 and the report format in FixMyStreet
5283 differ in a key part. FixMyStreet have a title and a description,
5284 while Open311 only have a description and lack the title. I'm not
5285 quite sure how to best handle this yet. When asking for a FixMyStreet
5286 report in Open311 format, I just merge title an description into the
5287 open311 description, but this is not going to work if the open311 API
5288 should be used for submitting new reports to FixMyStreet.</p>
5289
5290 <p>The search feature in Open311 is missing a way to ask for problems
5291 near a geographic location. I believe this is important if one is to
5292 use Open311 as the query language for mobile units. The specification
5293 should be extended to handle this, probably using some new lat=, lon=
5294 and range= options.</p>
5295
5296 <p>The final challenge I see is that the FixMyStreet code handle
5297 several administrations in one interface, while the Open311 API seem
5298 to assume only one administration. For FixMyStreet, this mean a
5299 report can be sent to several administrations, and the categories
5300 available depend on the location of the problem. Not quite sure how
5301 to best handle this. I've noticed
5302 <a href="http://seeclickfix.com/open311/">SeeClickFix</a> added
5303 latitude and longitude options to the services request, but it do not
5304 solve the problem of what to return when no location is specified.
5305 Will have to investigate this a bit more.</p>
5306
5307 <p>My distaste for web forums have kept me from bringing these issues
5308 up with the open311 developer group. I really wish they had a email
5309 list available via <a href="http://www.gmane.org/">Gmane</a> to use for
5310 discussions instead of only
5311 <a href="http://lists.open311.org/groups/discuss">a forum<a/>. Oh,
5312 well. That will probably resolve itself, one way or another. I've
5313 also tried visiting the IRC channel #open311 on FreeNode, but no-one
5314 seem to reply to my questions there. This make me wonder if I just
5315 fail to understand how the open311 community work. It sure do not
5316 work like the free software project communities I am used to.</p>
5317
5318 </div>
5319 <div class="tags">
5320
5321
5322 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami</a>, <a href="http://people.skolelinux.org/pere/blog/tags/open311">open311</a>.
5323
5324
5325 </div>
5326 </div>
5327 <div class="padding"></div>
5328
5329 <div class="entry">
5330 <div class="title">
5331 <a href="http://people.skolelinux.org/pere/blog/Gnash_enteres_Google_Summer_of_Code_2011.html">Gnash enteres Google Summer of Code 2011</a>
5332 </div>
5333 <div class="date">
5334 6th April 2011
5335 </div>
5336 <div class="body">
5337 <p><a href="http://www.getgnash.org/">The Gnash project</a> is still
5338 the most promising solution for a Free Software Flash implementation.
5339 A few days ago the project
5340 <a href="http://lists.gnu.org/archive/html/gnash-dev/2011-04/msg00011.html">announced</a>
5341 that it will participate in Google Summer of Code. I hope many
5342 students apply, and that some of them succeed in getting AVM2 support
5343 into Gnash.</p>
5344
5345 </div>
5346 <div class="tags">
5347
5348
5349 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>, <a href="http://people.skolelinux.org/pere/blog/tags/web">web</a>.
5350
5351
5352 </div>
5353 </div>
5354 <div class="padding"></div>
5355
5356 <div class="entry">
5357 <div class="title">
5358 <a href="http://people.skolelinux.org/pere/blog/A_Norwegian_FixMyStreet_have_kept_me_busy_the_last_few_weeks.html">A Norwegian FixMyStreet have kept me busy the last few weeks</a>
5359 </div>
5360 <div class="date">
5361 3rd April 2011
5362 </div>
5363 <div class="body">
5364 <p>Here is a small update for my English readers. Most of my blog
5365 posts have been in Norwegian the last few weeks, so here is a short
5366 update in English.</p>
5367
5368 <p>The kids still keep me too busy to get much free software work
5369 done, but I did manage to organise a project to get a Norwegian port
5370 of the British service
5371 <a href="http://www.fixmystreet.com/">FixMyStreet</a> up and running,
5372 and it has been running for a month now. The entire project has been
5373 organised by me and two others. Around Christmas we gathered sponsors
5374 to fund the development work. In January I drafted a contract with
5375 <a href="http://www.mysociety.org/">mySociety</a> on what to develop,
5376 and in February the development took place. Most of it involved
5377 converting the source to use GPS coordinates instead of British
5378 easting/northing, and the resulting code should be a lot easier to get
5379 running in any country by now. The Norwegian
5380 <a href="http://www.fiksgatami.no/">FiksGataMi</a> is using
5381 <a href="http://www.openstreetmap.org/">OpenStreetmap</a> as the map
5382 source and the source for administrative borders in Norway, and
5383 support for this had to be added/fixed.</p>
5384
5385 <p>The Norwegian version went live March 3th, and we spent the weekend
5386 polishing the system before we announced it March 7th. The system is
5387 running on a KVM instance of Debian/Squeeze, and has seen almost 3000
5388 problem reports in a few weeks. Soon we hope to announce the Android
5389 and iPhone versions making it even easier to report problems with the
5390 public infrastructure.</p>
5391
5392 <p>Perhaps something to consider for those of you in countries without
5393 such service?</p>
5394
5395 </div>
5396 <div class="tags">
5397
5398
5399 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami</a>, <a href="http://people.skolelinux.org/pere/blog/tags/kart">kart</a>.
5400
5401
5402 </div>
5403 </div>
5404 <div class="padding"></div>
5405
5406 <div class="entry">
5407 <div class="title">
5408 <a href="http://people.skolelinux.org/pere/blog/Using_NVD_and_CPE_to_track_CVEs_in_locally_maintained_software.html">Using NVD and CPE to track CVEs in locally maintained software</a>
5409 </div>
5410 <div class="date">
5411 28th January 2011
5412 </div>
5413 <div class="body">
5414 <p>The last few days I have looked at ways to track open security
5415 issues here at my work with the University of Oslo. My idea is that
5416 it should be possible to use the information about security issues
5417 available on the Internet, and check our locally
5418 maintained/distributed software against this information. It should
5419 allow us to verify that no known security issues are forgotten. The
5420 CVE database listing vulnerabilities seem like a great central point,
5421 and by using the package lists from Debian mapped to CVEs provided by
5422 the testing security team, I believed it should be possible to figure
5423 out which security holes were present in our free software
5424 collection.</p>
5425
5426 <p>After reading up on the topic, it became obvious that the first
5427 building block is to be able to name software packages in a unique and
5428 consistent way across data sources. I considered several ways to do
5429 this, for example coming up with my own naming scheme like using URLs
5430 to project home pages or URLs to the Freshmeat entries, or using some
5431 existing naming scheme. And it seem like I am not the first one to
5432 come across this problem, as MITRE already proposed and implemented a
5433 solution. Enter the <a href="http://cpe.mitre.org/index.html">Common
5434 Platform Enumeration</a> dictionary, a vocabulary for referring to
5435 software, hardware and other platform components. The CPE ids are
5436 mapped to CVEs in the <a href="http://web.nvd.nist.gov/">National
5437 Vulnerability Database</a>, allowing me to look up know security
5438 issues for any CPE name. With this in place, all I need to do is to
5439 locate the CPE id for the software packages we use at the university.
5440 This is fairly trivial (I google for 'cve cpe $package' and check the
5441 NVD entry if a CVE for the package exist).</p>
5442
5443 <p>To give you an example. The GNU gzip source package have the CPE
5444 name cpe:/a:gnu:gzip. If the old version 1.3.3 was the package to
5445 check out, one could look up
5446 <a href="http://web.nvd.nist.gov/view/vuln/search?cpe=cpe%3A%2Fa%3Agnu%3Agzip:1.3.3">cpe:/a:gnu:gzip:1.3.3
5447 in NVD</a> and get a list of 6 security holes with public CVE entries.
5448 The most recent one is
5449 <a href="http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-0001">CVE-2010-0001</a>,
5450 and at the bottom of the NVD page for this vulnerability the complete
5451 list of affected versions is provided.</p>
5452
5453 <p>The NVD database of CVEs is also available as a XML dump, allowing
5454 for offline processing of issues. Using this dump, I've written a
5455 small script taking a list of CPEs as input and list all CVEs
5456 affecting the packages represented by these CPEs. One give it CPEs
5457 with version numbers as specified above and get a list of open
5458 security issues out.</p>
5459
5460 <p>Of course for this approach to be useful, the quality of the NVD
5461 information need to be high. For that to happen, I believe as many as
5462 possible need to use and contribute to the NVD database. I notice
5463 RHEL is providing
5464 <a href="https://www.redhat.com/security/data/metrics/rhsamapcpe.txt">a
5465 map from CVE to CPE</a>, indicating that they are using the CPE
5466 information. I'm not aware of Debian and Ubuntu doing the same.</p>
5467
5468 <p>To get an idea about the quality for free software, I spent some
5469 time making it possible to compare the CVE database from Debian with
5470 the CVE database in NVD. The result look fairly good, but there are
5471 some inconsistencies in NVD (same software package having several
5472 CPEs), and some inaccuracies (NVD not mentioning buggy packages that
5473 Debian believe are affected by a CVE). Hope to find time to improve
5474 the quality of NVD, but that require being able to get in touch with
5475 someone maintaining it. So far my three emails with questions and
5476 corrections have not seen any reply, but I hope contact can be
5477 established soon.</p>
5478
5479 <p>An interesting application for CPEs is cross platform package
5480 mapping. It would be useful to know which packages in for example
5481 RHEL, OpenSuSe and Mandriva are missing from Debian and Ubuntu, and
5482 this would be trivial if all linux distributions provided CPE entries
5483 for their packages.</p>
5484
5485 </div>
5486 <div class="tags">
5487
5488
5489 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet</a>.
5490
5491
5492 </div>
5493 </div>
5494 <div class="padding"></div>
5495
5496 <div class="entry">
5497 <div class="title">
5498 <a href="http://people.skolelinux.org/pere/blog/Which_module_is_loaded_for_a_given_PCI_and_USB_device_.html">Which module is loaded for a given PCI and USB device?</a>
5499 </div>
5500 <div class="date">
5501 23rd January 2011
5502 </div>
5503 <div class="body">
5504 <p>In the
5505 <a href="http://packages.qa.debian.org/discover-data">discover-data</a>
5506 package in Debian, there is a script to report useful information
5507 about the running hardware for use when people report missing
5508 information. One part of this script that I find very useful when
5509 debugging hardware problems, is the part mapping loaded kernel module
5510 to the PCI device it claims. It allow me to quickly see if the kernel
5511 module I expect is driving the hardware I am struggling with. To see
5512 the output, make sure discover-data is installed and run
5513 <tt>/usr/share/bug/discover-data 3>&1</tt>. The relevant output on
5514 one of my machines like this:</p>
5515
5516 <pre>
5517 loaded modules:
5518 10de:03eb i2c_nforce2
5519 10de:03f1 ohci_hcd
5520 10de:03f2 ehci_hcd
5521 10de:03f0 snd_hda_intel
5522 10de:03ec pata_amd
5523 10de:03f6 sata_nv
5524 1022:1103 k8temp
5525 109e:036e bttv
5526 109e:0878 snd_bt87x
5527 11ab:4364 sky2
5528 </pre>
5529
5530 <p>The code in question look like this, slightly modified for
5531 readability and to drop the output to file descriptor 3:</p>
5532
5533 <pre>
5534 if [ -d /sys/bus/pci/devices/ ] ; then
5535 echo loaded pci modules:
5536 (
5537 cd /sys/bus/pci/devices/
5538 for address in * ; do
5539 if [ -d "$address/driver/module" ] ; then
5540 module=`cd $address/driver/module ; pwd -P | xargs basename`
5541 if grep -q "^$module " /proc/modules ; then
5542 address=$(echo $address |sed s/0000://)
5543 id=`lspci -n -s $address | tail -n 1 | awk '{print $3}'`
5544 echo "$id $module"
5545 fi
5546 fi
5547 done
5548 )
5549 echo
5550 fi
5551 </pre>
5552
5553 <p>Similar code could be used to extract USB device module
5554 mappings:</p>
5555
5556 <pre>
5557 if [ -d /sys/bus/usb/devices/ ] ; then
5558 echo loaded usb modules:
5559 (
5560 cd /sys/bus/usb/devices/
5561 for address in * ; do
5562 if [ -d "$address/driver/module" ] ; then
5563 module=`cd $address/driver/module ; pwd -P | xargs basename`
5564 if grep -q "^$module " /proc/modules ; then
5565 address=$(echo $address |sed s/0000://)
5566 id=$(lsusb -s $address | tail -n 1 | awk '{print $6}')
5567 if [ "$id" ] ; then
5568 echo "$id $module"
5569 fi
5570 fi
5571 fi
5572 done
5573 )
5574 echo
5575 fi
5576 </pre>
5577
5578 <p>This might perhaps be something to include in other tools as
5579 well.</p>
5580
5581 </div>
5582 <div class="tags">
5583
5584
5585 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
5586
5587
5588 </div>
5589 </div>
5590 <div class="padding"></div>
5591
5592 <div class="entry">
5593 <div class="title">
5594 <a href="http://people.skolelinux.org/pere/blog/The_video_format_most_supported_in_web_browsers_.html">The video format most supported in web browsers?</a>
5595 </div>
5596 <div class="date">
5597 16th January 2011
5598 </div>
5599 <div class="body">
5600 <p>The video format struggle on the web continues, and the three
5601 contenders seem to be Ogg Theora, H.264 and WebM. Most video sites
5602 seem to use H.264, while others use Ogg Theora. Interestingly enough,
5603 the comments I see give me the feeling that a lot of people believe
5604 H.264 is the most supported video format in browsers, but according to
5605 the Wikipedia article on
5606 <a href="http://en.wikipedia.org/wiki/HTML5_video">HTML5 video</a>,
5607 this is not true. Check out the nice table of supprted formats in
5608 different browsers there. The format supported by most browsers is
5609 Ogg Theora, supported by released versions of Mozilla Firefox, Google
5610 Chrome, Chromium, Opera, Konqueror, Epiphany, Origyn Web Browser and
5611 BOLT browser, while not supported by Internet Explorer nor Safari.
5612 The runner up is WebM supported by released versions of Google Chrome
5613 Chromium Opera and Origyn Web Browser, and test versions of Mozilla
5614 Firefox. H.264 is supported by released versions of Safari, Origyn
5615 Web Browser and BOLT browser, and the test version of Internet
5616 Explorer. Those wanting Ogg Theora support in Internet Explorer and
5617 Safari can install plugins to get it.</p>
5618
5619 <p>To me, the simple conclusion from this is that to reach most users
5620 without any extra software installed, one uses Ogg Theora with the
5621 HTML5 video tag. Of course to reach all those without a browser
5622 handling HTML5, one need fallback mechanisms. In
5623 <a href="http://www.nuug.no/">NUUG</a>, we provide first fallback to a
5624 plugin capable of playing MPEG1 video, and those without such support
5625 we have a second fallback to the Cortado java applet playing Ogg
5626 Theora. This seem to work quite well, as can be seen in an <a
5627 href="http://www.nuug.no/aktiviteter/20110111-semantic-web/">example
5628 from last week</a>.</p>
5629
5630 <p>The reason Ogg Theora is the most supported format, and H.264 is
5631 the least supported is simple. Implementing and using H.264
5632 require royalty payment to MPEG-LA, and the terms of use from MPEG-LA
5633 are incompatible with free software licensing. If you believed H.264
5634 was without royalties and license terms, check out
5635 "<a href="http://webmink.com/essays/h-264/">H.264 – Not The Kind Of
5636 Free That Matters</a>" by Simon Phipps.</p>
5637
5638 <p>A incomplete list of sites providing video in Ogg Theora is
5639 available from
5640 <a href="http://wiki.xiph.org/index.php/List_of_Theora_videos">the
5641 Xiph.org wiki</a>, if you want to have a look. I'm not aware of a
5642 similar list for WebM nor H.264.</p>
5643
5644 <p>Update 2011-01-16 09:40: A question from Tollef on IRC made me
5645 realise that I failed to make it clear enough this text is about the
5646 &lt;video&gt; tag support in browsers and not the video support
5647 provided by external plugins like the Flash plugins.</p>
5648
5649 </div>
5650 <div class="tags">
5651
5652
5653 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
5654
5655
5656 </div>
5657 </div>
5658 <div class="padding"></div>
5659
5660 <div class="entry">
5661 <div class="title">
5662 <a href="http://people.skolelinux.org/pere/blog/Chrome_plan_to_drop_H_264_support_for_HTML5__lt_video_gt_.html">Chrome plan to drop H.264 support for HTML5 &lt;video&gt;</a>
5663 </div>
5664 <div class="date">
5665 12th January 2011
5666 </div>
5667 <div class="body">
5668 <p>Today I discovered
5669 <a href="http://www.digi.no/860070/google-dropper-h264-stotten-i-chrome">via
5670 digi.no</a> that the Chrome developers, in a surprising announcement,
5671 <a href="http://blog.chromium.org/2011/01/html-video-codec-support-in-chrome.html">yesterday
5672 announced</a> plans to drop H.264 support for HTML5 &lt;video&gt; in
5673 the browser. The argument used is that H.264 is not a "completely
5674 open" codec technology. If you believe H.264 was free for everyone
5675 to use, I recommend having a look at the essay
5676 "<a href="http://webmink.com/essays/h-264/">H.264 – Not The Kind Of
5677 Free That Matters</a>". It is not free of cost for creators of video
5678 tools, nor those of us that want to publish on the Internet, and the
5679 terms provided by MPEG-LA excludes free software projects from
5680 licensing the patents needed for H.264. Some background information
5681 on the Google announcement is available from
5682 <a href="http://www.osnews.com/story/24243/Google_To_Drop_H264_Support_from_Chrome">OSnews</a>.
5683 A good read. :)</p>
5684
5685 <p>Personally, I believe it is great that Google is taking a stand to
5686 promote equal terms for everyone when it comes to video publishing on
5687 the Internet. This can only be done by publishing using free and open
5688 standards, which is only possible if the web browsers provide support
5689 for these free and open standards. At the moment there seem to be two
5690 camps in the web browser world when it come to video support. Some
5691 browsers support H.264, and others support
5692 <a href="http://www.theora.org/">Ogg Theora</a> and
5693 <a href="http://www.webmproject.org/">WebM</a>
5694 (<a href="http://www.diracvideo.org/">Dirac</a> is not really an option
5695 yet), forcing those of us that want to publish video on the Internet
5696 and which can not accept the terms of use presented by MPEG-LA for
5697 H.264 to not reach all potential viewers.
5698 Wikipedia keep <a href="http://en.wikipedia.org/wiki/HTML5_video">an
5699 updated summary</a> of the current browser support.</p>
5700
5701 <p>Not surprising, several people would prefer Google to keep
5702 promoting H.264, and John Gruber
5703 <a href="http://daringfireball.net/2011/01/simple_questions">presents
5704 the mind set</a> of these people quite well. His rhetorical questions
5705 provoked a reply from Thom Holwerda with another set of questions
5706 <a href="http://www.osnews.com/story/24245/10_Questions_for_John_Gruber_Regarding_H_264_WebM">presenting
5707 the issues with H.264</a>. Both are worth a read.</p>
5708
5709 <p>Some argue that if Google is dropping H.264 because it isn't free,
5710 they should also drop support for the Adobe Flash plugin. This
5711 argument was covered by Simon Phipps in
5712 <a href="http://blogs.computerworlduk.com/simon-says/2011/01/google-and-h264---far-from-hypocritical/index.htm">todays
5713 blog post</a>, which I find to put the issue in context. To me it
5714 make perfect sense to drop native H.264 support for HTML5 in the
5715 browser while still allowing plugins.</p>
5716
5717 <p>I suspect the reason this announcement make so many people protest,
5718 is that all the users and promoters of H.264 suddenly get an uneasy
5719 feeling that they might be backing the wrong horse. A lot of TV
5720 broadcasters have been moving to H.264 the last few years, and a lot
5721 of money has been invested in hardware based on the belief that they
5722 could use the same video format for both broadcasting and web
5723 publishing. Suddenly this belief is shaken.</p>
5724
5725 <p>An interesting question is why Google is doing this. While the
5726 presented argument might be true enough, I believe Google would only
5727 present the argument if the change make sense from a business
5728 perspective. One reason might be that they are currently negotiating
5729 with MPEG-LA over royalties or usage terms, and giving MPEG-LA the
5730 feeling that dropping H.264 completely from Chroome, Youtube and
5731 Google Video would improve the negotiation position of Google.
5732 Another reason might be that Google want to save money by not having
5733 to pay the video tax to MPEG-LA at all, and thus want to move to a
5734 video format not requiring royalties at all. A third reason might be
5735 that the Chrome development team simply want to avoid the
5736 Chrome/Chromium split to get more help with the development of Chrome.
5737 I guess time will tell.</p>
5738
5739 <p>Update 2011-01-15: The Google Chrome team provided
5740 <a href="http://blog.chromium.org/2011/01/more-about-chrome-html-video-codec.html">more
5741 background and information on the move</a> it a blog post yesterday.</p>
5742
5743 </div>
5744 <div class="tags">
5745
5746
5747 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
5748
5749
5750 </div>
5751 </div>
5752 <div class="padding"></div>
5753
5754 <div class="entry">
5755 <div class="title">
5756 <a href="http://people.skolelinux.org/pere/blog/What_standards_are_Free_and_Open_as_defined_by_Digistan_.html">What standards are Free and Open as defined by Digistan?</a>
5757 </div>
5758 <div class="date">
5759 30th December 2010
5760 </div>
5761 <div class="body">
5762 <p>After trying to
5763 <a href="http://people.skolelinux.org/pere/blog/Is_Ogg_Theora_a_free_and_open_standard_.html">compare
5764 Ogg Theora</a> to
5765 <a href="http://www.digistan.org/open-standard:definition">the Digistan
5766 definition</a> of a free and open standard, I concluded that this need
5767 to be done for more standards and started on a framework for doing
5768 this. As a start, I want to get the status for all the standards in
5769 the Norwegian reference directory, which include UTF-8, HTML, PDF, ODF,
5770 JPEG, PNG, SVG and others. But to be able to complete this in a
5771 reasonable time frame, I will need help.</p>
5772
5773 <p>If you want to help out with this work, please visit
5774 <a href="http://wiki.nuug.no/grupper/standard/digistan-analyse">the
5775 wiki pages I have set up for this</a>, and let me know that you want
5776 to help out. The IRC channel #nuug on irc.freenode.net is a good
5777 place to coordinate this for now, as it is the IRC channel for the
5778 NUUG association where I have created the framework (I am the leader
5779 of the Norwegian Unix User Group).</p>
5780
5781 <p>The framework is still forming, and a lot is left to do. Do not be
5782 scared by the sketchy form of the current pages. :)</p>
5783
5784 </div>
5785 <div class="tags">
5786
5787
5788 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
5789
5790
5791 </div>
5792 </div>
5793 <div class="padding"></div>
5794
5795 <div class="entry">
5796 <div class="title">
5797 <a href="http://people.skolelinux.org/pere/blog/The_many_definitions_of_a_open_standard.html">The many definitions of a open standard</a>
5798 </div>
5799 <div class="date">
5800 27th December 2010
5801 </div>
5802 <div class="body">
5803 <p>One of the reasons I like the Digistan definition of
5804 "<a href="http://www.digistan.org/open-standard:definition">Free and
5805 Open Standard</a>" is that this is a new term, and thus the meaning of
5806 the term has been decided by Digistan. The term "Open Standard" has
5807 become so misunderstood that it is no longer very useful when talking
5808 about standards. One end up discussing which definition is the best
5809 one and with such frame the only one gaining are the proponents of
5810 de-facto standards and proprietary solutions.</p>
5811
5812 <p>But to give us an idea about the diversity of definitions of open
5813 standards, here are a few that I know about. This list is not
5814 complete, but can be a starting point for those that want to do a
5815 complete survey. More definitions are available on the
5816 <a href="http://en.wikipedia.org/wiki/Open_standard">wikipedia
5817 page</a>.</p>
5818
5819 <p>First off is my favourite, the definition from the European
5820 Interoperability Framework version 1.0. Really sad to notice that BSA
5821 and others has succeeded in getting it removed from version 2.0 of the
5822 framework by stacking the committee drafting the new version with
5823 their own people. Anyway, the definition is still available and it
5824 include the key properties needed to make sure everyone can use a
5825 specification on equal terms.</p>
5826
5827 <blockquote>
5828
5829 <p>The following are the minimal characteristics that a specification
5830 and its attendant documents must have in order to be considered an
5831 open standard:</p>
5832
5833 <ul>
5834
5835 <li>The standard is adopted and will be maintained by a not-for-profit
5836 organisation, and its ongoing development occurs on the basis of an
5837 open decision-making procedure available to all interested parties
5838 (consensus or majority decision etc.).</li>
5839
5840 <li>The standard has been published and the standard specification
5841 document is available either freely or at a nominal charge. It must be
5842 permissible to all to copy, distribute and use it for no fee or at a
5843 nominal fee.</li>
5844
5845 <li>The intellectual property - i.e. patents possibly present - of
5846 (parts of) the standard is made irrevocably available on a royalty-
5847 free basis.</li>
5848
5849 <li>There are no constraints on the re-use of the standard.</li>
5850
5851 </ul>
5852 </blockquote>
5853
5854 <p>Another one originates from my friends over at
5855 <a href="http://www.dkuug.dk/">DKUUG</a>, who coined and gathered
5856 support for <a href="http://www.aaben-standard.dk/">this
5857 definition</a> in 2004. It even made it into the Danish parlament as
5858 <a href="http://www.ft.dk/dokumenter/tingdok.aspx?/samling/20051/beslutningsforslag/B103/som_fremsat.htm">their
5859 definition of a open standard</a>. Another from a different part of
5860 the Danish government is available from the wikipedia page.</p>
5861
5862 <blockquote>
5863
5864 <p>En åben standard opfylder følgende krav:</p>
5865
5866 <ol>
5867
5868 <li>Veldokumenteret med den fuldstændige specifikation offentligt
5869 tilgængelig.</li>
5870
5871 <li>Frit implementerbar uden økonomiske, politiske eller juridiske
5872 begrænsninger på implementation og anvendelse.</li>
5873
5874 <li>Standardiseret og vedligeholdt i et åbent forum (en såkaldt
5875 "standardiseringsorganisation") via en åben proces.</li>
5876
5877 </ol>
5878
5879 </blockquote>
5880
5881 <p>Then there is <a href="http://www.fsfe.org/projects/os/def.html">the
5882 definition</a> from Free Software Foundation Europe.</p>
5883
5884 <blockquote>
5885
5886 <p>An Open Standard refers to a format or protocol that is</p>
5887
5888 <ol>
5889
5890 <li>subject to full public assessment and use without constraints in a
5891 manner equally available to all parties;</li>
5892
5893 <li>without any components or extensions that have dependencies on
5894 formats or protocols that do not meet the definition of an Open
5895 Standard themselves;</li>
5896
5897 <li>free from legal or technical clauses that limit its utilisation by
5898 any party or in any business model;</li>
5899
5900 <li>managed and further developed independently of any single vendor
5901 in a process open to the equal participation of competitors and third
5902 parties;</li>
5903
5904 <li>available in multiple complete implementations by competing
5905 vendors, or as a complete implementation equally available to all
5906 parties.</li>
5907
5908 </ol>
5909
5910 </blockquote>
5911
5912 <p>A long time ago, SUN Microsystems, now bought by Oracle, created
5913 its
5914 <a href="http://blogs.sun.com/dennisding/resource/Open%20Standard%20Definition.pdf">Open
5915 Standards Checklist</a> with a fairly detailed description.</p>
5916
5917 <blockquote>
5918 <p>Creation and Management of an Open Standard
5919
5920 <ul>
5921
5922 <li>Its development and management process must be collaborative and
5923 democratic:
5924
5925 <ul>
5926
5927 <li>Participation must be accessible to all those who wish to
5928 participate and can meet fair and reasonable criteria
5929 imposed by the organization under which it is developed
5930 and managed.</li>
5931
5932 <li>The processes must be documented and, through a known
5933 method, can be changed through input from all
5934 participants.</li>
5935
5936 <li>The process must be based on formal and binding commitments for
5937 the disclosure and licensing of intellectual property rights.</li>
5938
5939 <li>Development and management should strive for consensus,
5940 and an appeals process must be clearly outlined.</li>
5941
5942 <li>The standard specification must be open to extensive
5943 public review at least once in its life-cycle, with
5944 comments duly discussed and acted upon, if required.</li>
5945
5946 </ul>
5947
5948 </li>
5949
5950 </ul>
5951
5952 <p>Use and Licensing of an Open Standard</p>
5953 <ul>
5954
5955 <li>The standard must describe an interface, not an implementation,
5956 and the industry must be capable of creating multiple, competing
5957 implementations to the interface described in the standard without
5958 undue or restrictive constraints. Interfaces include APIs,
5959 protocols, schemas, data formats and their encoding.</li>
5960
5961 <li> The standard must not contain any proprietary "hooks" that create
5962 a technical or economic barriers</li>
5963
5964 <li>Faithful implementations of the standard must
5965 interoperate. Interoperability means the ability of a computer
5966 program to communicate and exchange information with other computer
5967 programs and mutually to use the information which has been
5968 exchanged. This includes the ability to use, convert, or exchange
5969 file formats, protocols, schemas, interface information or
5970 conventions, so as to permit the computer program to work with other
5971 computer programs and users in all the ways in which they are
5972 intended to function.</li>
5973
5974 <li>It must be permissible for anyone to copy, distribute and read the
5975 standard for a nominal fee, or even no fee. If there is a fee, it
5976 must be low enough to not preclude widespread use.</li>
5977
5978 <li>It must be possible for anyone to obtain free (no royalties or
5979 fees; also known as "royalty free"), worldwide, non-exclusive and
5980 perpetual licenses to all essential patent claims to make, use and
5981 sell products based on the standard. The only exceptions are
5982 terminations per the reciprocity and defensive suspension terms
5983 outlined below. Essential patent claims include pending, unpublished
5984 patents, published patents, and patent applications. The license is
5985 only for the exact scope of the standard in question.
5986
5987 <ul>
5988
5989 <li> May be conditioned only on reciprocal licenses to any of
5990 licensees' patent claims essential to practice that standard
5991 (also known as a reciprocity clause)</li>
5992
5993 <li> May be terminated as to any licensee who sues the licensor
5994 or any other licensee for infringement of patent claims
5995 essential to practice that standard (also known as a
5996 "defensive suspension" clause)</li>
5997
5998 <li> The same licensing terms are available to every potential
5999 licensor</li>
6000
6001 </ul>
6002 </li>
6003
6004 <li>The licensing terms of an open standards must not preclude
6005 implementations of that standard under open source licensing terms
6006 or restricted licensing terms</li>
6007
6008 </ul>
6009
6010 </blockquote>
6011
6012 <p>It is said that one of the nice things about standards is that
6013 there are so many of them. As you can see, the same holds true for
6014 open standard definitions. Most of the definitions have a lot in
6015 common, and it is not really controversial what properties a open
6016 standard should have, but the diversity of definitions have made it
6017 possible for those that want to avoid a level marked field and real
6018 competition to downplay the significance of open standards. I hope we
6019 can turn this tide by focusing on the advantages of Free and Open
6020 Standards.</p>
6021
6022 </div>
6023 <div class="tags">
6024
6025
6026 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
6027
6028
6029 </div>
6030 </div>
6031 <div class="padding"></div>
6032
6033 <div class="entry">
6034 <div class="title">
6035 <a href="http://people.skolelinux.org/pere/blog/Is_Ogg_Theora_a_free_and_open_standard_.html">Is Ogg Theora a free and open standard?</a>
6036 </div>
6037 <div class="date">
6038 25th December 2010
6039 </div>
6040 <div class="body">
6041 <p><a href="http://www.digistan.org/open-standard:definition">The
6042 Digistan definition</a> of a free and open standard reads like this:</p>
6043
6044 <blockquote>
6045
6046 <p>The Digital Standards Organization defines free and open standard
6047 as follows:</p>
6048
6049 <ol>
6050
6051 <li>A free and open standard is immune to vendor capture at all stages
6052 in its life-cycle. Immunity from vendor capture makes it possible to
6053 freely use, improve upon, trust, and extend a standard over time.</li>
6054
6055 <li>The standard is adopted and will be maintained by a not-for-profit
6056 organisation, and its ongoing development occurs on the basis of an
6057 open decision-making procedure available to all interested
6058 parties.</li>
6059
6060 <li>The standard has been published and the standard specification
6061 document is available freely. It must be permissible to all to copy,
6062 distribute, and use it freely.</li>
6063
6064 <li>The patents possibly present on (parts of) the standard are made
6065 irrevocably available on a royalty-free basis.</li>
6066
6067 <li>There are no constraints on the re-use of the standard.</li>
6068
6069 </ol>
6070
6071 <p>The economic outcome of a free and open standard, which can be
6072 measured, is that it enables perfect competition between suppliers of
6073 products based on the standard.</p>
6074 </blockquote>
6075
6076 <p>For a while now I have tried to figure out of Ogg Theora is a free
6077 and open standard according to this definition. Here is a short
6078 writeup of what I have been able to gather so far. I brought up the
6079 topic on the Xiph advocacy mailing list
6080 <a href="http://lists.xiph.org/pipermail/advocacy/2009-July/001632.html">in
6081 July 2009</a>, for those that want to see some background information.
6082 According to Ivo Emanuel Gonçalves and Monty Montgomery on that list
6083 the Ogg Theora specification fulfils the Digistan definition.</p>
6084
6085 <p><strong>Free from vendor capture?</strong></p>
6086
6087 <p>As far as I can see, there is no single vendor that can control the
6088 Ogg Theora specification. It can be argued that the
6089 <a href="http://www.xiph.org/">Xiph foundation</A> is such vendor, but
6090 given that it is a non-profit foundation with the expressed goal
6091 making free and open protocols and standards available, it is not
6092 obvious that this is a real risk. One issue with the Xiph
6093 foundation is that its inner working (as in board member list, or who
6094 control the foundation) are not easily available on the web. I've
6095 been unable to find out who is in the foundation board, and have not
6096 seen any accounting information documenting how money is handled nor
6097 where is is spent in the foundation. It is thus not obvious for an
6098 external observer who control The Xiph foundation, and for all I know
6099 it is possible for a single vendor to take control over the
6100 specification. But it seem unlikely.</p>
6101
6102 <p><strong>Maintained by open not-for-profit organisation?</strong></p>
6103
6104 <p>Assuming that the Xiph foundation is the organisation its web pages
6105 claim it to be, this point is fulfilled. If Xiph foundation is
6106 controlled by a single vendor, it isn't, but I have not found any
6107 documentation indicating this.</p>
6108
6109 <p>According to
6110 <a href="http://media.hiof.no/diverse/fad/rapport_4.pdf">a report</a>
6111 prepared by Audun Vaaler og Børre Ludvigsen for the Norwegian
6112 government, the Xiph foundation is a non-commercial organisation and
6113 the development process is open, transparent and non-Discrimatory.
6114 Until proven otherwise, I believe it make most sense to believe the
6115 report is correct.</p>
6116
6117 <p><strong>Specification freely available?</strong></p>
6118
6119 <p>The specification for the <a href="http://www.xiph.org/ogg/doc/">Ogg
6120 container format</a> and both the
6121 <a href="http://www.xiph.org/vorbis/doc/">Vorbis</a> and
6122 <a href="http://theora.org/doc/">Theora</a> codeces are available on
6123 the web. This are the terms in the Vorbis and Theora specification:
6124
6125 <blockquote>
6126
6127 Anyone may freely use and distribute the Ogg and [Vorbis/Theora]
6128 specifications, whether in private, public, or corporate
6129 capacity. However, the Xiph.Org Foundation and the Ogg project reserve
6130 the right to set the Ogg [Vorbis/Theora] specification and certify
6131 specification compliance.
6132
6133 </blockquote>
6134
6135 <p>The Ogg container format is specified in IETF
6136 <a href="http://www.xiph.org/ogg/doc/rfc3533.txt">RFC 3533</a>, and
6137 this is the term:<p>
6138
6139 <blockquote>
6140
6141 <p>This document and translations of it may be copied and furnished to
6142 others, and derivative works that comment on or otherwise explain it
6143 or assist in its implementation may be prepared, copied, published and
6144 distributed, in whole or in part, without restriction of any kind,
6145 provided that the above copyright notice and this paragraph are
6146 included on all such copies and derivative works. However, this
6147 document itself may not be modified in any way, such as by removing
6148 the copyright notice or references to the Internet Society or other
6149 Internet organizations, except as needed for the purpose of developing
6150 Internet standards in which case the procedures for copyrights defined
6151 in the Internet Standards process must be followed, or as required to
6152 translate it into languages other than English.</p>
6153
6154 <p>The limited permissions granted above are perpetual and will not be
6155 revoked by the Internet Society or its successors or assigns.</p>
6156 </blockquote>
6157
6158 <p>All these terms seem to allow unlimited distribution and use, an
6159 this term seem to be fulfilled. There might be a problem with the
6160 missing permission to distribute modified versions of the text, and
6161 thus reuse it in other specifications. Not quite sure if that is a
6162 requirement for the Digistan definition.</p>
6163
6164 <p><strong>Royalty-free?</strong></p>
6165
6166 <p>There are no known patent claims requiring royalties for the Ogg
6167 Theora format.
6168 <a href="http://www.streamingmedia.com/Articles/ReadArticle.aspx?ArticleID=65782">MPEG-LA</a>
6169 and
6170 <a href="http://yro.slashdot.org/story/10/04/30/237238/Steve-Jobs-Hints-At-Theora-Lawsuit">Steve
6171 Jobs</a> in Apple claim to know about some patent claims (submarine
6172 patents) against the Theora format, but no-one else seem to believe
6173 them. Both Opera Software and the Mozilla Foundation have looked into
6174 this and decided to implement Ogg Theora support in their browsers
6175 without paying any royalties. For now the claims from MPEG-LA and
6176 Steve Jobs seem more like FUD to scare people to use the H.264 codec
6177 than any real problem with Ogg Theora.</p>
6178
6179 <p><strong>No constraints on re-use?</strong></p>
6180
6181 <p>I am not aware of any constraints on re-use.</p>
6182
6183 <p><strong>Conclusion</strong></p>
6184
6185 <p>3 of 5 requirements seem obviously fulfilled, and the remaining 2
6186 depend on the governing structure of the Xiph foundation. Given the
6187 background report used by the Norwegian government, I believe it is
6188 safe to assume the last two requirements are fulfilled too, but it
6189 would be nice if the Xiph foundation web site made it easier to verify
6190 this.</p>
6191
6192 <p>It would be nice to see other analysis of other specifications to
6193 see if they are free and open standards.</p>
6194
6195 </div>
6196 <div class="tags">
6197
6198
6199 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
6200
6201
6202 </div>
6203 </div>
6204 <div class="padding"></div>
6205
6206 <div class="entry">
6207 <div class="title">
6208 <a href="http://people.skolelinux.org/pere/blog/The_reply_from_Edgar_Villanueva_to_Microsoft_in_Peru.html">The reply from Edgar Villanueva to Microsoft in Peru</a>
6209 </div>
6210 <div class="date">
6211 25th December 2010
6212 </div>
6213 <div class="body">
6214 <p>A few days ago
6215 <a href="http://www.idg.no/computerworld/article189879.ece">an
6216 article</a> in the Norwegian Computerworld magazine about how version
6217 2.0 of
6218 <a href="http://en.wikipedia.org/wiki/European_Interoperability_Framework">European
6219 Interoperability Framework</a> has been successfully lobbied by the
6220 proprietary software industry to remove the focus on free software.
6221 Nothing very surprising there, given
6222 <a href="http://news.slashdot.org/story/10/03/29/2115235/Open-Source-Open-Standards-Under-Attack-In-Europe">earlier
6223 reports</a> on how Microsoft and others have stacked the committees in
6224 this work. But I find this very sad. The definition of
6225 <a href="http://www.nuug.no/dokumenter/standard-presse-def-200506.txt">an
6226 open standard from version 1</a> was very good, and something I
6227 believe should be used also in the future, alongside
6228 <a href="http://www.digistan.org/open-standard:definition">the
6229 definition from Digistan</A>. Version 2 have removed the open
6230 standard definition from its content.</p>
6231
6232 <p>Anyway, the news reminded me of the great reply sent by Dr. Edgar
6233 Villanueva, congressman in Peru at the time, to Microsoft as a reply
6234 to Microsofts attack on his proposal regarding the use of free software
6235 in the public sector in Peru. As the text was not available from a
6236 few of the URLs where it used to be available, I copy it here from
6237 <a href="http://gnuwin.epfl.ch/articles/en/reponseperou/villanueva_to_ms.html">my
6238 source</a> to ensure it is available also in the future. Some
6239 background information about that story is available in
6240 <a href="http://www.linuxjournal.com/article/6099">an article</a> from
6241 Linux Journal in 2002.</p>
6242
6243 <blockquote>
6244 <p>Lima, 8th of April, 2002<br>
6245 To: Señor JUAN ALBERTO GONZÁLEZ<br>
6246 General Manager of Microsoft Perú</p>
6247
6248 <p>Dear Sir:</p>
6249
6250 <p>First of all, I thank you for your letter of March 25, 2002 in which you state the official position of Microsoft relative to Bill Number 1609, Free Software in Public Administration, which is indubitably inspired by the desire for Peru to find a suitable place in the global technological context. In the same spirit, and convinced that we will find the best solutions through an exchange of clear and open ideas, I will take this opportunity to reply to the commentaries included in your letter.</p>
6251
6252 <p>While acknowledging that opinions such as yours constitute a significant contribution, it would have been even more worthwhile for me if, rather than formulating objections of a general nature (which we will analyze in detail later) you had gathered solid arguments for the advantages that proprietary software could bring to the Peruvian State, and to its citizens in general, since this would have allowed a more enlightening exchange in respect of each of our positions.</p>
6253
6254 <p>With the aim of creating an orderly debate, we will assume that what you call "open source software" is what the Bill defines as "free software", since there exists software for which the source code is distributed together with the program, but which does not fall within the definition established by the Bill; and that what you call "commercial software" is what the Bill defines as "proprietary" or "unfree", given that there exists free software which is sold in the market for a price like any other good or service.</p>
6255
6256 <p>It is also necessary to make it clear that the aim of the Bill we are discussing is not directly related to the amount of direct savings that can by made by using free software in state institutions. That is in any case a marginal aggregate value, but in no way is it the chief focus of the Bill. The basic principles which inspire the Bill are linked to the basic guarantees of a state of law, such as:</p>
6257
6258 <p>
6259 <ul>
6260 <li>Free access to public information by the citizen. </li>
6261 <li>Permanence of public data. </li>
6262 <li>Security of the State and citizens.</li>
6263 </ul>
6264 </p>
6265
6266 <p>To guarantee the free access of citizens to public information, it is indispensable that the encoding of data is not tied to a single provider. The use of standard and open formats gives a guarantee of this free access, if necessary through the creation of compatible free software.</p>
6267
6268 <p>To guarantee the permanence of public data, it is necessary that the usability and maintenance of the software does not depend on the goodwill of the suppliers, or on the monopoly conditions imposed by them. For this reason the State needs systems the development of which can be guaranteed due to the availability of the source code.</p>
6269
6270 <p>To guarantee national security or the security of the State, it is indispensable to be able to rely on systems without elements which allow control from a distance or the undesired transmission of information to third parties. Systems with source code freely accessible to the public are required to allow their inspection by the State itself, by the citizens, and by a large number of independent experts throughout the world. Our proposal brings further security, since the knowledge of the source code will eliminate the growing number of programs with *spy code*. </p>
6271
6272 <p>In the same way, our proposal strengthens the security of the citizens, both in their role as legitimate owners of information managed by the state, and in their role as consumers. In this second case, by allowing the growth of a widespread availability of free software not containing *spy code* able to put at risk privacy and individual freedoms.</p>
6273
6274 <p>In this sense, the Bill is limited to establishing the conditions under which the state bodies will obtain software in the future, that is, in a way compatible with these basic principles.</p>
6275
6276
6277 <p>From reading the Bill it will be clear that once passed:<br>
6278 <li>the law does not forbid the production of proprietary software</li>
6279 <li>the law does not forbid the sale of proprietary software</li>
6280 <li>the law does not specify which concrete software to use</li>
6281 <li>the law does not dictate the supplier from whom software will be bought</li>
6282 <li>the law does not limit the terms under which a software product can be licensed.</li>
6283
6284 </p>
6285
6286 <p>What the Bill does express clearly, is that, for software to be acceptable for the state it is not enough that it is technically capable of fulfilling a task, but that further the contractual conditions must satisfy a series of requirements regarding the license, without which the State cannot guarantee the citizen adequate processing of his data, watching over its integrity, confidentiality, and accessibility throughout time, as these are very critical aspects for its normal functioning.</p>
6287
6288 <p>We agree, Mr. Gonzalez, that information and communication technology have a significant impact on the quality of life of the citizens (whether it be positive or negative). We surely also agree that the basic values I have pointed out above are fundamental in a democratic state like Peru. So we are very interested to know of any other way of guaranteeing these principles, other than through the use of free software in the terms defined by the Bill.</p>
6289
6290 <p>As for the observations you have made, we will now go on to analyze them in detail:</p>
6291
6292 <p>Firstly, you point out that: "1. The bill makes it compulsory for all public bodies to use only free software, that is to say open source software, which breaches the principles of equality before the law, that of non-discrimination and the right of free private enterprise, freedom of industry and of contract, protected by the constitution."</p>
6293
6294 <p>This understanding is in error. The Bill in no way affects the rights you list; it limits itself entirely to establishing conditions for the use of software on the part of state institutions, without in any way meddling in private sector transactions. It is a well established principle that the State does not enjoy the wide spectrum of contractual freedom of the private sector, as it is limited in its actions precisely by the requirement for transparency of public acts; and in this sense, the preservation of the greater common interest must prevail when legislating on the matter.</p>
6295
6296 <p>The Bill protects equality under the law, since no natural or legal person is excluded from the right of offering these goods to the State under the conditions defined in the Bill and without more limitations than those established by the Law of State Contracts and Purchasing (T.U.O. by Supreme Decree No. 012-2001-PCM).</p>
6297
6298 <p>The Bill does not introduce any discrimination whatever, since it only establishes *how* the goods have to be provided (which is a state power) and not *who* has to provide them (which would effectively be discriminatory, if restrictions based on national origin, race religion, ideology, sexual preference etc. were imposed). On the contrary, the Bill is decidedly antidiscriminatory. This is so because by defining with no room for doubt the conditions for the provision of software, it prevents state bodies from using software which has a license including discriminatory conditions.</p>
6299
6300 <p>It should be obvious from the preceding two paragraphs that the Bill does not harm free private enterprise, since the latter can always choose under what conditions it will produce software; some of these will be acceptable to the State, and others will not be since they contradict the guarantee of the basic principles listed above. This free initiative is of course compatible with the freedom of industry and freedom of contract (in the limited form in which the State can exercise the latter). Any private subject can produce software under the conditions which the State requires, or can refrain from doing so. Nobody is forced to adopt a model of production, but if they wish to provide software to the State, they must provide the mechanisms which guarantee the basic principles, and which are those described in the Bill.</p>
6301
6302 <p>By way of an example: nothing in the text of the Bill would prevent your company offering the State bodies an office "suite", under the conditions defined in the Bill and setting the price that you consider satisfactory. If you did not, it would not be due to restrictions imposed by the law, but to business decisions relative to the method of commercializing your products, decisions with which the State is not involved.</p>
6303
6304 <p>To continue; you note that:" 2. The bill, by making the use of open source software compulsory, would establish discriminatory and non competitive practices in the contracting and purchasing by public bodies..."</p>
6305
6306 <p>This statement is just a reiteration of the previous one, and so the response can be found above. However, let us concern ourselves for a moment with your comment regarding "non-competitive ... practices."</p>
6307
6308 <p>Of course, in defining any kind of purchase, the buyer sets conditions which relate to the proposed use of the good or service. From the start, this excludes certain manufacturers from the possibility of competing, but does not exclude them "a priori", but rather based on a series of principles determined by the autonomous will of the purchaser, and so the process takes place in conformance with the law. And in the Bill it is established that *no one* is excluded from competing as far as he guarantees the fulfillment of the basic principles.</p>
6309
6310 <p>Furthermore, the Bill *stimulates* competition, since it tends to generate a supply of software with better conditions of usability, and to better existing work, in a model of continuous improvement.</p>
6311
6312 <p>On the other hand, the central aspect of competivity is the chance to provide better choices to the consumer. Now, it is impossible to ignore the fact that marketing does not play a neutral role when the product is offered on the market (since accepting the opposite would lead one to suppose that firms' expenses in marketing lack any sense), and that therefore a significant expense under this heading can influence the decisions of the purchaser. This influence of marketing is in large measure reduced by the bill that we are backing, since the choice within the framework proposed is based on the *technical merits* of the product and not on the effort put into commercialization by the producer; in this sense, competitiveness is increased, since the smallest software producer can compete on equal terms with the most powerful corporations.</p>
6313
6314 <p>It is necessary to stress that there is no position more anti-competitive than that of the big software producers, which frequently abuse their dominant position, since in innumerable cases they propose as a solution to problems raised by users: "update your software to the new version" (at the user's expense, naturally); furthermore, it is common to find arbitrary cessation of technical help for products, which, in the provider's judgment alone, are "old"; and so, to receive any kind of technical assistance, the user finds himself forced to migrate to new versions (with non-trivial costs, especially as changes in hardware platform are often involved). And as the whole infrastructure is based on proprietary data formats, the user stays "trapped" in the need to continue using products from the same supplier, or to make the huge effort to change to another environment (probably also proprietary).</p>
6315
6316 <p>You add: "3. So, by compelling the State to favor a business model based entirely on open source, the bill would only discourage the local and international manufacturing companies, which are the ones which really undertake important expenditures, create a significant number of direct and indirect jobs, as well as contributing to the GNP, as opposed to a model of open source software which tends to have an ever weaker economic impact, since it mainly creates jobs in the service sector."</p>
6317
6318 <p>I do not agree with your statement. Partly because of what you yourself point out in paragraph 6 of your letter, regarding the relative weight of services in the context of software use. This contradiction alone would invalidate your position. The service model, adopted by a large number of companies in the software industry, is much larger in economic terms, and with a tendency to increase, than the licensing of programs.</p>
6319
6320 <p>On the other hand, the private sector of the economy has the widest possible freedom to choose the economic model which best suits its interests, even if this freedom of choice is often obscured subliminally by the disproportionate expenditure on marketing by the producers of proprietary software.</p>
6321
6322 <p>In addition, a reading of your opinion would lead to the conclusion that the State market is crucial and essential for the proprietary software industry, to such a point that the choice made by the State in this bill would completely eliminate the market for these firms. If that is true, we can deduce that the State must be subsidizing the proprietary software industry. In the unlikely event that this were true, the State would have the right to apply the subsidies in the area it considered of greatest social value; it is undeniable, in this improbable hypothesis, that if the State decided to subsidize software, it would have to do so choosing the free over the proprietary, considering its social effect and the rational use of taxpayers money.</p>
6323
6324 <p>In respect of the jobs generated by proprietary software in countries like ours, these mainly concern technical tasks of little aggregate value; at the local level, the technicians who provide support for proprietary software produced by transnational companies do not have the possibility of fixing bugs, not necessarily for lack of technical capability or of talent, but because they do not have access to the source code to fix it. With free software one creates more technically qualified employment and a framework of free competence where success is only tied to the ability to offer good technical support and quality of service, one stimulates the market, and one increases the shared fund of knowledge, opening up alternatives to generate services of greater total value and a higher quality level, to the benefit of all involved: producers, service organizations, and consumers.</p>
6325
6326 <p>It is a common phenomenon in developing countries that local software industries obtain the majority of their takings in the service sector, or in the creation of "ad hoc" software. Therefore, any negative impact that the application of the Bill might have in this sector will be more than compensated by a growth in demand for services (as long as these are carried out to high quality standards). If the transnational software companies decide not to compete under these new rules of the game, it is likely that they will undergo some decrease in takings in terms of payment for licenses; however, considering that these firms continue to allege that much of the software used by the State has been illegally copied, one can see that the impact will not be very serious. Certainly, in any case their fortune will be determined by market laws, changes in which cannot be avoided; many firms traditionally associated with proprietary software have already set out on the road (supported by copious expense) of providing services associated with free software, which shows that the models are not mutually exclusive.</p>
6327
6328 <p>With this bill the State is deciding that it needs to preserve certain fundamental values. And it is deciding this based on its sovereign power, without affecting any of the constitutional guarantees. If these values could be guaranteed without having to choose a particular economic model, the effects of the law would be even more beneficial. In any case, it should be clear that the State does not choose an economic model; if it happens that there only exists one economic model capable of providing software which provides the basic guarantee of these principles, this is because of historical circumstances, not because of an arbitrary choice of a given model.</p>
6329
6330 <p>Your letter continues: "4. The bill imposes the use of open source software without considering the dangers that this can bring from the point of view of security, guarantee, and possible violation of the intellectual property rights of third parties."</p>
6331
6332 <p>Alluding in an abstract way to "the dangers this can bring", without specifically mentioning a single one of these supposed dangers, shows at the least some lack of knowledge of the topic. So, allow me to enlighten you on these points.</p>
6333
6334 <p>On security:</p>
6335
6336 <p>National security has already been mentioned in general terms in the initial discussion of the basic principles of the bill. In more specific terms, relative to the security of the software itself, it is well known that all software (whether proprietary or free) contains errors or "bugs" (in programmers' slang). But it is also well known that the bugs in free software are fewer, and are fixed much more quickly, than in proprietary software. It is not in vain that numerous public bodies responsible for the IT security of state systems in developed countries require the use of free software for the same conditions of security and efficiency.</p>
6337
6338 <p>What is impossible to prove is that proprietary software is more secure than free, without the public and open inspection of the scientific community and users in general. This demonstration is impossible because the model of proprietary software itself prevents this analysis, so that any guarantee of security is based only on promises of good intentions (biased, by any reckoning) made by the producer itself, or its contractors.</p>
6339
6340 <p>It should be remembered that in many cases, the licensing conditions include Non-Disclosure clauses which prevent the user from publicly revealing security flaws found in the licensed proprietary product.</p>
6341
6342 <p>In respect of the guarantee:</p>
6343
6344 <p>As you know perfectly well, or could find out by reading the "End User License Agreement" of the products you license, in the great majority of cases the guarantees are limited to replacement of the storage medium in case of defects, but in no case is compensation given for direct or indirect damages, loss of profits, etc... If as a result of a security bug in one of your products, not fixed in time by yourselves, an attacker managed to compromise crucial State systems, what guarantees, reparations and compensation would your company make in accordance with your licensing conditions? The guarantees of proprietary software, inasmuch as programs are delivered ``AS IS'', that is, in the state in which they are, with no additional responsibility of the provider in respect of function, in no way differ from those normal with free software.</p>
6345
6346 <p>On Intellectual Property:</p>
6347
6348 <p>Questions of intellectual property fall outside the scope of this bill, since they are covered by specific other laws. The model of free software in no way implies ignorance of these laws, and in fact the great majority of free software is covered by copyright. In reality, the inclusion of this question in your observations shows your confusion in respect of the legal framework in which free software is developed. The inclusion of the intellectual property of others in works claimed as one's own is not a practice that has been noted in the free software community; whereas, unfortunately, it has been in the area of proprietary software. As an example, the condemnation by the Commercial Court of Nanterre, France, on 27th September 2001 of Microsoft Corp. to a penalty of 3 million francs in damages and interest, for violation of intellectual property (piracy, to use the unfortunate term that your firm commonly uses in its publicity).</p>
6349
6350 <p>You go on to say that: "The bill uses the concept of open source software incorrectly, since it does not necessarily imply that the software is free or of zero cost, and so arrives at mistaken conclusions regarding State savings, with no cost-benefit analysis to validate its position."</p>
6351
6352 <p>This observation is wrong; in principle, freedom and lack of cost are orthogonal concepts: there is software which is proprietary and charged for (for example, MS Office), software which is proprietary and free of charge (MS Internet Explorer), software which is free and charged for (Red Hat, SuSE etc GNU/Linux distributions), software which is free and not charged for (Apache, Open Office, Mozilla), and even software which can be licensed in a range of combinations (MySQL).</p>
6353
6354 <p>Certainly free software is not necessarily free of charge. And the text of the bill does not state that it has to be so, as you will have noted after reading it. The definitions included in the Bill state clearly *what* should be considered free software, at no point referring to freedom from charges. Although the possibility of savings in payments for proprietary software licenses are mentioned, the foundations of the bill clearly refer to the fundamental guarantees to be preserved and to the stimulus to local technological development. Given that a democratic State must support these principles, it has no other choice than to use software with publicly available source code, and to exchange information only in standard formats.</p>
6355
6356 <p>If the State does not use software with these characteristics, it will be weakening basic republican principles. Luckily, free software also implies lower total costs; however, even given the hypothesis (easily disproved) that it was more expensive than proprietary software, the simple existence of an effective free software tool for a particular IT function would oblige the State to use it; not by command of this Bill, but because of the basic principles we enumerated at the start, and which arise from the very essence of the lawful democratic State.</p>
6357
6358 <p>You continue: "6. It is wrong to think that Open Source Software is free of charge. Research by the Gartner Group (an important investigator of the technological market recognized at world level) has shown that the cost of purchase of software (operating system and applications) is only 8% of the total cost which firms and institutions take on for a rational and truly beneficial use of the technology. The other 92% consists of: installation costs, enabling, support, maintenance, administration, and down-time."</p>
6359
6360 <p>This argument repeats that already given in paragraph 5 and partly contradicts paragraph 3. For the sake of brevity we refer to the comments on those paragraphs. However, allow me to point out that your conclusion is logically false: even if according to Gartner Group the cost of software is on average only 8% of the total cost of use, this does not in any way deny the existence of software which is free of charge, that is, with a licensing cost of zero.</p>
6361
6362 <p>In addition, in this paragraph you correctly point out that the service components and losses due to down-time make up the largest part of the total cost of software use, which, as you will note, contradicts your statement regarding the small value of services suggested in paragraph 3. Now the use of free software contributes significantly to reduce the remaining life-cycle costs. This reduction in the costs of installation, support etc. can be noted in several areas: in the first place, the competitive service model of free software, support and maintenance for which can be freely contracted out to a range of suppliers competing on the grounds of quality and low cost. This is true for installation, enabling, and support, and in large part for maintenance. In the second place, due to the reproductive characteristics of the model, maintenance carried out for an application is easily replicable, without incurring large costs (that is, without paying more than once for the same thing) since modifications, if one wishes, can be incorporated in the common fund of knowledge. Thirdly, the huge costs caused by non-functioning software ("blue screens of death", malicious code such as virus, worms, and trojans, exceptions, general protection faults and other well-known problems) are reduced considerably by using more stable software; and it is well known that one of the most notable virtues of free software is its stability.</p>
6363
6364 <p>You further state that: "7. One of the arguments behind the bill is the supposed freedom from costs of open-source software, compared with the costs of commercial software, without taking into account the fact that there exist types of volume licensing which can be highly advantageous for the State, as has happened in other countries."</p>
6365
6366 <p>I have already pointed out that what is in question is not the cost of the software but the principles of freedom of information, accessibility, and security. These arguments have been covered extensively in the preceding paragraphs to which I would refer you.</p>
6367
6368 <p>On the other hand, there certainly exist types of volume licensing (although unfortunately proprietary software does not satisfy the basic principles). But as you correctly pointed out in the immediately preceding paragraph of your letter, they only manage to reduce the impact of a component which makes up no more than 8% of the total.</p>
6369
6370 <p>You continue: "8. In addition, the alternative adopted by the bill (I) is clearly more expensive, due to the high costs of software migration, and (II) puts at risk compatibility and interoperability of the IT platforms within the State, and between the State and the private sector, given the hundreds of versions of open source software on the market."</p>
6371
6372 <p>Let us analyze your statement in two parts. Your first argument, that migration implies high costs, is in reality an argument in favor of the Bill. Because the more time goes by, the more difficult migration to another technology will become; and at the same time, the security risks associated with proprietary software will continue to increase. In this way, the use of proprietary systems and formats will make the State ever more dependent on specific suppliers. Once a policy of using free software has been established (which certainly, does imply some cost) then on the contrary migration from one system to another becomes very simple, since all data is stored in open formats. On the other hand, migration to an open software context implies no more costs than migration between two different proprietary software contexts, which invalidates your argument completely.</p>
6373
6374 <p>The second argument refers to "problems in interoperability of the IT platforms within the State, and between the State and the private sector" This statement implies a certain lack of knowledge of the way in which free software is built, which does not maximize the dependence of the user on a particular platform, as normally happens in the realm of proprietary software. Even when there are multiple free software distributions, and numerous programs which can be used for the same function, interoperability is guaranteed as much by the use of standard formats, as required by the bill, as by the possibility of creating interoperable software given the availability of the source code.</p>
6375
6376 <p>You then say that: "9. The majority of open source code does not offer adequate levels of service nor the guarantee from recognized manufacturers of high productivity on the part of the users, which has led various public organizations to retract their decision to go with an open source software solution and to use commercial software in its place."</p>
6377
6378 <p>This observation is without foundation. In respect of the guarantee, your argument was rebutted in the response to paragraph 4. In respect of support services, it is possible to use free software without them (just as also happens with proprietary software), but anyone who does need them can obtain support separately, whether from local firms or from international corporations, again just as in the case of proprietary software.</p>
6379
6380 <p>On the other hand, it would contribute greatly to our analysis if you could inform us about free software projects *established* in public bodies which have already been abandoned in favor of proprietary software. We know of a good number of cases where the opposite has taken place, but not know of any where what you describe has taken place.</p>
6381
6382 <p>You continue by observing that: "10. The bill discourages the creativity of the Peruvian software industry, which invoices 40 million US$/year, exports 4 million US$ (10th in ranking among non-traditional exports, more than handicrafts) and is a source of highly qualified employment. With a law that encourages the use of open source, software programmers lose their intellectual property rights and their main source of payment."</p>
6383
6384 <p>It is clear enough that nobody is forced to commercialize their code as free software. The only thing to take into account is that if it is not free software, it cannot be sold to the public sector. This is not in any case the main market for the national software industry. We covered some questions referring to the influence of the Bill on the generation of employment which would be both highly technically qualified and in better conditions for competition above, so it seems unnecessary to insist on this point.</p>
6385
6386 <p>What follows in your statement is incorrect. On the one hand, no author of free software loses his intellectual property rights, unless he expressly wishes to place his work in the public domain. The free software movement has always been very respectful of intellectual property, and has generated widespread public recognition of its authors. Names like those of Richard Stallman, Linus Torvalds, Guido van Rossum, Larry Wall, Miguel de Icaza, Andrew Tridgell, Theo de Raadt, Andrea Arcangeli, Bruce Perens, Darren Reed, Alan Cox, Eric Raymond, and many others, are recognized world-wide for their contributions to the development of software that is used today by millions of people throughout the world. On the other hand, to say that the rewards for authors rights make up the main source of payment of Peruvian programmers is in any case a guess, in particular since there is no proof to this effect, nor a demonstration of how the use of free software by the State would influence these payments.</p>
6387
6388 <p>You go on to say that: "11. Open source software, since it can be distributed without charge, does not allow the generation of income for its developers through exports. In this way, the multiplier effect of the sale of software to other countries is weakened, and so in turn is the growth of the industry, while Government rules ought on the contrary to stimulate local industry."</p>
6389
6390 <p>This statement shows once again complete ignorance of the mechanisms of and market for free software. It tries to claim that the market of sale of non- exclusive rights for use (sale of licenses) is the only possible one for the software industry, when you yourself pointed out several paragraphs above that it is not even the most important one. The incentives that the bill offers for the growth of a supply of better qualified professionals, together with the increase in experience that working on a large scale with free software within the State will bring for Peruvian technicians, will place them in a highly competitive position to offer their services abroad.</p>
6391
6392 <p>You then state that: "12. In the Forum, the use of open source software in education was discussed, without mentioning the complete collapse of this initiative in a country like Mexico, where precisely the State employees who founded the project now state that open source software did not make it possible to offer a learning experience to pupils in the schools, did not take into account the capability at a national level to give adequate support to the platform, and that the software did not and does not allow for the levels of platform integration that now exist in schools."</p>
6393
6394 <p>In fact Mexico has gone into reverse with the Red Escolar (Schools Network) project. This is due precisely to the fact that the driving forces behind the Mexican project used license costs as their main argument, instead of the other reasons specified in our project, which are far more essential. Because of this conceptual mistake, and as a result of the lack of effective support from the SEP (Secretary of State for Public Education), the assumption was made that to implant free software in schools it would be enough to drop their software budget and send them a CD ROM with Gnu/Linux instead. Of course this failed, and it couldn't have been otherwise, just as school laboratories fail when they use proprietary software and have no budget for implementation and maintenance. That's exactly why our bill is not limited to making the use of free software mandatory, but recognizes the need to create a viable migration plan, in which the State undertakes the technical transition in an orderly way in order to then enjoy the advantages of free software.</p>
6395
6396 <p>You end with a rhetorical question: "13. If open source software satisfies all the requirements of State bodies, why do you need a law to adopt it? Shouldn't it be the market which decides freely which products give most benefits or value?"</p>
6397
6398 <p>We agree that in the private sector of the economy, it must be the market that decides which products to use, and no state interference is permissible there. However, in the case of the public sector, the reasoning is not the same: as we have already established, the state archives, handles, and transmits information which does not belong to it, but which is entrusted to it by citizens, who have no alternative under the rule of law. As a counterpart to this legal requirement, the State must take extreme measures to safeguard the integrity, confidentiality, and accessibility of this information. The use of proprietary software raises serious doubts as to whether these requirements can be fulfilled, lacks conclusive evidence in this respect, and so is not suitable for use in the public sector.</p>
6399
6400 <p>The need for a law is based, firstly, on the realization of the fundamental principles listed above in the specific area of software; secondly, on the fact that the State is not an ideal homogeneous entity, but made up of multiple bodies with varying degrees of autonomy in decision making. Given that it is inappropriate to use proprietary software, the fact of establishing these rules in law will prevent the personal discretion of any state employee from putting at risk the information which belongs to citizens. And above all, because it constitutes an up-to-date reaffirmation in relation to the means of management and communication of information used today, it is based on the republican principle of openness to the public.</p>
6401
6402 <p>In conformance with this universally accepted principle, the citizen has the right to know all information held by the State and not covered by well- founded declarations of secrecy based on law. Now, software deals with information and is itself information. Information in a special form, capable of being interpreted by a machine in order to execute actions, but crucial information all the same because the citizen has a legitimate right to know, for example, how his vote is computed or his taxes calculated. And for that he must have free access to the source code and be able to prove to his satisfaction the programs used for electoral computations or calculation of his taxes.</p>
6403
6404 <p>I wish you the greatest respect, and would like to repeat that my office will always be open for you to expound your point of view to whatever level of detail you consider suitable.</p>
6405
6406 <p>Cordially,<br>
6407 DR. EDGAR DAVID VILLANUEVA NUÑEZ<br>
6408 Congressman of the Republic of Perú.</p>
6409 </blockquote>
6410
6411 </div>
6412 <div class="tags">
6413
6414
6415 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
6416
6417
6418 </div>
6419 </div>
6420 <div class="padding"></div>
6421
6422 <div class="entry">
6423 <div class="title">
6424 <a href="http://people.skolelinux.org/pere/blog/Officeshots_still_going_strong.html">Officeshots still going strong</a>
6425 </div>
6426 <div class="date">
6427 25th December 2010
6428 </div>
6429 <div class="body">
6430 <p>Half a year ago I
6431 <a href="http://people.skolelinux.org/pere/blog/Officeshots_taking_shape.html">wrote
6432 a bit</a> about <a href="http://www.officeshots.org/">OfficeShots</a>,
6433 a web service to allow anyone to test how ODF documents are handled by
6434 the different programs reading and writing the ODF format.</p>
6435
6436 <p>I just had a look at the service, and it seem to be going strong.
6437 Very interesting to see the results reported in the gallery, how
6438 different Office implementations handle different ODF features. Sad
6439 to see that KOffice was not doing it very well, and happy to see that
6440 LibreOffice has been tested already (but sadly not listed as a option
6441 for OfficeShots users yet). I am glad to see that the ODF community
6442 got such a great test tool available.</p>
6443
6444 </div>
6445 <div class="tags">
6446
6447
6448 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
6449
6450
6451 </div>
6452 </div>
6453 <div class="padding"></div>
6454
6455 <div class="entry">
6456 <div class="title">
6457 <a href="http://people.skolelinux.org/pere/blog/How_to_test_if_a_laptop_is_working_with_Linux.html">How to test if a laptop is working with Linux</a>
6458 </div>
6459 <div class="date">
6460 22nd December 2010
6461 </div>
6462 <div class="body">
6463 <p>The last few days I have spent at work here at the <a
6464 href="http://www.uio.no/">University of Oslo</a> testing if the new
6465 batch of computers will work with Linux. Every year for the last few
6466 years the university have organised shared bid of a few thousand
6467 computers, and this year HP won the bid. Two different desktops and
6468 five different laptops are on the list this year. We in the UNIX
6469 group want to know which one of these computers work well with RHEL
6470 and Ubuntu, the two Linux distributions we currently handle at the
6471 university.</p>
6472
6473 <p>My test method is simple, and I share it here to get feedback and
6474 perhaps inspire others to test hardware as well. To test, I PXE
6475 install the OS version of choice, and log in as my normal user and run
6476 a few applications and plug in selected pieces of hardware. When
6477 something fail, I make a note about this in the test matrix and move
6478 on. If I have some spare time I try to report the bug to the OS
6479 vendor, but as I only have the machines for a short time, I rarely
6480 have the time to do this for all the problems I find.</p>
6481
6482 <p>Anyway, to get to the point of this post. Here is the simple tests
6483 I perform on a new model.</p>
6484
6485 <ul>
6486
6487 <li>Is PXE installation working? I'm testing with RHEL6, Ubuntu Lucid
6488 and Ubuntu Maverik at the moment. If I feel like it, I also test with
6489 RHEL5 and Debian Edu/Squeeze.</li>
6490
6491 <li>Is X.org working? If the graphical login screen show up after
6492 installation, X.org is working.</li>
6493
6494 <li>Is hardware accelerated OpenGL working? Running glxgears (in
6495 package mesa-utils on Ubuntu) and writing down the frames per second
6496 reported by the program.</li>
6497
6498 <li>Is sound working? With Gnome and KDE, a sound is played when
6499 logging in, and if I can hear this the test is successful. If there
6500 are several audio exits on the machine, I try them all and check if
6501 the Gnome/KDE audio mixer can control where to send the sound. I
6502 normally test this by playing
6503 <a href="http://www.nuug.no/aktiviteter/20101012-chef/ ">a HTML5
6504 video</a> in Firefox/Iceweasel.</li>
6505
6506 <li>Is the USB subsystem working? I test this by plugging in a USB
6507 memory stick and see if Gnome/KDE notices this.</li>
6508
6509 <li>Is the CD/DVD player working? I test this by inserting any CD/DVD
6510 I have lying around, and see if Gnome/KDE notices this.</li>
6511
6512 <li>Is any built in camera working? Test using cheese, and see if a
6513 picture from the v4l device show up.</li>
6514
6515 <li>Is bluetooth working? Use the Gnome/KDE browsing tool to see if
6516 any bluetooth devices are discovered. In my office, I normally see a
6517 few.</li>
6518
6519 <li>For laptops, is the SD or Compaq Flash reader working. I have
6520 memory modules lying around, and stick them in and see if Gnome/KDE
6521 notice this.</li>
6522
6523 <li>For laptops, is suspend/hibernate working? I'm testing if the
6524 special button work, and if the laptop continue to work after
6525 resume.</li>
6526
6527 <li>For laptops, is the extra buttons working, like audio level,
6528 adjusting background light, switching on/off external video output,
6529 switching on/off wifi, bluetooth, etc? The set of buttons differ from
6530 laptop to laptop, so I just write down which are working and which are
6531 not.</li>
6532
6533 <li>Some laptops have smart card readers, finger print readers,
6534 acceleration sensors etc. I rarely test these, as I do not know how
6535 to quickly test if they are working or not, so I only document their
6536 existence.</li>
6537
6538 </ul>
6539
6540 <p>By now I suspect you are really curious what the test results are
6541 for the HP machines I am testing. I'm not done yet, so I will report
6542 the test results later. For now I can report that HP 8100 Elite work
6543 fine, and hibernation fail with HP EliteBook 8440p on Ubuntu Lucid,
6544 and audio fail on RHEL6. Ubuntu Maverik worked with 8440p. As you
6545 can see, I have most machines left to test. One interesting
6546 observation is that Ubuntu Lucid has almost twice the frame rate than
6547 RHEL6 with glxgears. No idea why.</p>
6548
6549 </div>
6550 <div class="tags">
6551
6552
6553 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
6554
6555
6556 </div>
6557 </div>
6558 <div class="padding"></div>
6559
6560 <div class="entry">
6561 <div class="title">
6562 <a href="http://people.skolelinux.org/pere/blog/Some_thoughts_on_BitCoins.html">Some thoughts on BitCoins</a>
6563 </div>
6564 <div class="date">
6565 11th December 2010
6566 </div>
6567 <div class="body">
6568 <p>As I continue to explore
6569 <a href="http://www.bitcoin.org/">BitCoin</a>, I've starting to wonder
6570 what properties the system have, and how it will be affected by laws
6571 and regulations here in Norway. Here are some random notes.</p>
6572
6573 <p>One interesting thing to note is that since the transactions are
6574 verified using a peer to peer network, all details about a transaction
6575 is known to everyone. This means that if a BitCoin address has been
6576 published like I did with mine in my initial post about BitCoin, it is
6577 possible for everyone to see how many BitCoins have been transfered to
6578 that address. There is even a web service to look at the details for
6579 all transactions. There I can see that my address
6580 <a href="http://blockexplorer.com/address/15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a>
6581 have received 16.06 Bitcoin, the
6582 <a href="http://blockexplorer.com/address/1LfdGnGuWkpSJgbQySxxCWhv8MHqvwst3">1LfdGnGuWkpSJgbQySxxCWhv8MHqvwst3</a>
6583 address of Simon Phipps have received 181.97 BitCoin and the address
6584 <a href="http://blockexplorer.com/address/1MCwBbhNGp5hRm5rC1Aims2YFRe2SXPYKt">1MCwBbhNGp5hRm5rC1Aims2YFRe2SXPYKt</A>
6585 of EFF have received 2447.38 BitCoins so far. Thank you to each and
6586 every one of you that donated bitcoins to support my activity. The
6587 fact that anyone can see how much money was transfered to a given
6588 address make it more obvious why the BitCoin community recommend to
6589 generate and hand out a new address for each transaction. I'm told
6590 there is no way to track which addresses belong to a given person or
6591 organisation without the person or organisation revealing it
6592 themselves, as Simon, EFF and I have done.</p>
6593
6594 <p>In Norway, and in most other countries, there are laws and
6595 regulations limiting how much money one can transfer across the border
6596 without declaring it. There are money laundering, tax and accounting
6597 laws and regulations I would expect to apply to the use of BitCoin.
6598 If the Skolelinux foundation
6599 (<a href="http://linuxiskolen.no/slxdebianlabs/donations.html">SLX
6600 Debian Labs</a>) were to accept donations in BitCoin in addition to
6601 normal bank transfers like EFF is doing, how should this be accounted?
6602 Given that it is impossible to know if money can across the border or
6603 not, should everything or nothing be declared? What exchange rate
6604 should be used when calculating taxes? Would receivers have to pay
6605 income tax if the foundation were to pay Skolelinux contributors in
6606 BitCoin? I have no idea, but it would be interesting to know.</p>
6607
6608 <p>For a currency to be useful and successful, it must be trusted and
6609 accepted by a lot of users. It must be possible to get easy access to
6610 the currency (as a wage or using currency exchanges), and it must be
6611 easy to spend it. At the moment BitCoin seem fairly easy to get
6612 access to, but there are very few places to spend it. I am not really
6613 a regular user of any of the vendor types currently accepting BitCoin,
6614 so I wonder when my kind of shop would start accepting BitCoins. I
6615 would like to buy electronics, travels and subway tickets, not herbs
6616 and books. :) The currency is young, and this will improve over time
6617 if it become popular, but I suspect regular banks will start to lobby
6618 to get BitCoin declared illegal if it become popular. I'm sure they
6619 will claim it is helping fund terrorism and money laundering (which
6620 probably would be true, as is any currency in existence), but I
6621 believe the problems should be solved elsewhere and not by blaming
6622 currencies.</p>
6623
6624 <p>The process of creating new BitCoins is called mining, and it is
6625 CPU intensive process that depend on a bit of luck as well (as one is
6626 competing against all the other miners currently spending CPU cycles
6627 to see which one get the next lump of cash). The "winner" get 50
6628 BitCoin when this happen. Yesterday I came across the obvious way to
6629 join forces to increase ones changes of getting at least some coins,
6630 by coordinating the work on mining BitCoins across several machines
6631 and people, and sharing the result if one is lucky and get the 50
6632 BitCoins. Check out
6633 <a href="http://www.bluishcoder.co.nz/bitcoin-pool/">BitCoin Pool</a>
6634 if this sounds interesting. I have not had time to try to set up a
6635 machine to participate there yet, but have seen that running on ones
6636 own for a few days have not yield any BitCoins througth mining
6637 yet.</p>
6638
6639 <p>Update 2010-12-15: Found an <a
6640 href="http://inertia.posterous.com/reply-to-the-underground-economist-why-bitcoi">interesting
6641 criticism</a> of bitcoin. Not quite sure how valid it is, but thought
6642 it was interesting to read. The arguments presented seem to be
6643 equally valid for gold, which was used as a currency for many years.</p>
6644
6645 </div>
6646 <div class="tags">
6647
6648
6649 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet</a>.
6650
6651
6652 </div>
6653 </div>
6654 <div class="padding"></div>
6655
6656 <div class="entry">
6657 <div class="title">
6658 <a href="http://people.skolelinux.org/pere/blog/Now_accepting_bitcoins___anonymous_and_distributed_p2p_crypto_money.html">Now accepting bitcoins - anonymous and distributed p2p crypto-money</a>
6659 </div>
6660 <div class="date">
6661 10th December 2010
6662 </div>
6663 <div class="body">
6664 <p>With this weeks lawless
6665 <a href="http://www.salon.com/news/opinion/glenn_greenwald/2010/12/06/wikileaks/index.html">governmental
6666 attacks</a> on Wikileak and
6667 <a href="http://www.salon.com/technology/dan_gillmor/2010/12/06/war_on_speech">free
6668 speech</a>, it has become obvious that PayPal, visa and mastercard can
6669 not be trusted to handle money transactions.
6670 A blog post from
6671 <a href="http://webmink.com/2010/12/06/now-accepting-bitcoin/">Simon
6672 Phipps on bitcoin</a> reminded me about a project that a friend of
6673 mine mentioned earlier. I decided to follow Simon's example, and get
6674 involved with <a href="http://www.bitcoin.org/">BitCoin</a>. I got
6675 some help from my friend to get it all running, and he even handed me
6676 some bitcoins to get started. I even donated a few bitcoins to Simon
6677 for helping me remember BitCoin.</p>
6678
6679 <p>So, what is bitcoins, you probably wonder? It is a digital
6680 crypto-currency, decentralised and handled using peer-to-peer
6681 networks. It allows anonymous transactions and prohibits central
6682 control over the transactions, making it impossible for governments
6683 and companies alike to block donations and other transactions. The
6684 source is free software, and while the key dependency wxWidgets 2.9
6685 for the graphical user interface is missing in Debian, the command
6686 line client builds just fine. Hopefully Jonas
6687 <a href="http://bugs.debian.org/578157">will get the package into
6688 Debian</a> soon.</p>
6689
6690 <p>Bitcoins can be converted to other currencies, like USD and EUR.
6691 There are <a href="http://www.bitcoin.org/trade">companies accepting
6692 bitcoins</a> when selling services and goods, and there are even
6693 currency "stock" markets where the exchange rate is decided. There
6694 are not many users so far, but the concept seems promising. If you
6695 want to get started and lack a friend with any bitcoins to spare,
6696 you can even get
6697 <a href="https://freebitcoins.appspot.com/">some for free</a> (0.05
6698 bitcoin at the time of writing). Use
6699 <a href="http://www.bitcoinwatch.com/">BitcoinWatch</a> to keep an eye
6700 on the current exchange rates.</p>
6701
6702 <p>As an experiment, I have decided to set up bitcoind on one of my
6703 machines. If you want to support my activity, please send Bitcoin
6704 donations to the address
6705 <b>15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</b>. Thank you!</p>
6706
6707 </div>
6708 <div class="tags">
6709
6710
6711 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet</a>.
6712
6713
6714 </div>
6715 </div>
6716 <div class="padding"></div>
6717
6718 <div class="entry">
6719 <div class="title">
6720 <a href="http://people.skolelinux.org/pere/blog/Student_group_continue_the_work_on_my_Reprap_3D_printer.html">Student group continue the work on my Reprap 3D printer</a>
6721 </div>
6722 <div class="date">
6723 9th December 2010
6724 </div>
6725 <div class="body">
6726 <p>A few days ago, I was introduces to some students in the robot
6727 student assosiation <a href="http://www.robotica.no/">Robotica
6728 Osloensis</a> at the University of Oslo where I work, who planned to
6729 get their own 3D printer. They wanted to learn from me based on my
6730 work in the area. After having a short lunch meeting with them, I
6731 offered them to borrow my reprap kit, as I never had time to complete
6732 the build and this seem unlike to change any time soon. I look
6733 forward to see how this goes. This monday their volunteer driver
6734 picked up my kit and drove it to their lab, and tomorrow I am told the
6735 last exam is over so they can start work on getting the 3D printer
6736 operational.</p>
6737
6738 <p>The robotic group have already build several robots on their own,
6739 and seem capable of getting the reprap operational. I really look
6740 forward to being able to print all the cool 3D designs published on
6741 <a href="http://www.thingiverse.com/">Thingiverse</a>. I even got
6742 some 3D scans I got made during Dagen@IFI when one of the groups at
6743 the computer science department at the university demonstrated their
6744 very cool 3D scanner.</p>
6745
6746 </div>
6747 <div class="tags">
6748
6749
6750 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap</a>.
6751
6752
6753 </div>
6754 </div>
6755 <div class="padding"></div>
6756
6757 <div class="entry">
6758 <div class="title">
6759 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_development_gathering_and_General_Assembly_for_FRiSK.html">Debian Edu development gathering and General Assembly for FRiSK</a>
6760 </div>
6761 <div class="date">
6762 29th November 2010
6763 </div>
6764 <div class="body">
6765 <p>On friday, the first Debian Edu / Skolelinux
6766 <a href="http://www.friprogramvareiskolen.no/Gathering/2010-12-03-05-Oslo">development
6767 gathering</a> in a long time take place here in Oslo, Norway. I
6768 really look forward to seeing all the good people working on the
6769 Squeeze release. The gathering is open for everyone interested in
6770 learning more about Debian Edu / Skolelinux.</p>
6771
6772 <p>On Saturday, the Norwegian member organization taking care of
6773 organizing these development gatherings, Fri Programvare i Skolen,
6774 will hold its
6775 <a href="http://friprogramvareiskolen.no/Genfors/2010">General Assembly
6776 for 2010</a>. Membership is open for all, and currently there are 388
6777 people registered as members. Last year 32 members cast their vote in
6778 the memberdb based election system. I hope more people find time to
6779 vote this year.</p>
6780
6781 </div>
6782 <div class="tags">
6783
6784
6785 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
6786
6787
6788 </div>
6789 </div>
6790 <div class="padding"></div>
6791
6792 <div class="entry">
6793 <div class="title">
6794 <a href="http://people.skolelinux.org/pere/blog/Why_isn_t_Debian_Edu_using_VLC_.html">Why isn't Debian Edu using VLC?</a>
6795 </div>
6796 <div class="date">
6797 27th November 2010
6798 </div>
6799 <div class="body">
6800 <p>In the latest issue of Linux Journal, the readers choices were
6801 presented, and the winner among the multimedia player were VLC.
6802 Personally, I like VLC, and it is my player of choice when I first try
6803 to play a video file or stream. Only if VLC fail will I drag out
6804 gmplayer to see if it can do better. The reason is mostly the failure
6805 model and trust. When VLC fail, it normally pop up a error message
6806 reporting the problem. When mplayer fail, it normally segfault or
6807 just hangs. The latter failure mode drain my trust in the program.<p>
6808
6809 <p>But even if VLC is my player of choice, we have choosen to use
6810 mplayer in <a href="http://www.skolelinux.org/">Debian
6811 Edu/Skolelinux</a>. The reason is simple. We need a good browser
6812 plugin to play web videos seamlessly, and the VLC browser plugin is
6813 not very good. For example, it lack in-line control buttons, so there
6814 is no way for the user to pause the video. Also, when I
6815 <a href="http://wiki.debian.org/DebianEdu/BrowserMultimedia">last
6816 tested the browser plugins</a> available in Debian, the VLC plugin
6817 failed on several video pages where mplayer based plugins worked. If
6818 the browser plugin for VLC was as good as the gecko-mediaplayer
6819 package (which uses mplayer), we would switch.</P>
6820
6821 <p>While VLC is a good player, its user interface is slightly
6822 annoying. The most annoying feature is its inconsistent use of
6823 keyboard shortcuts. When the player is in full screen mode, its
6824 shortcuts are different from when it is playing the video in a window.
6825 For example, space only work as pause when in full screen mode. I
6826 wish it had consisten shortcuts and that space also would work when in
6827 window mode. Another nice shortcut in gmplayer is [enter] to restart
6828 the current video. It is very nice when playing short videos from the
6829 web and want to restart it when new people arrive to have a look at
6830 what is going on.</p>
6831
6832 </div>
6833 <div class="tags">
6834
6835
6836 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>, <a href="http://people.skolelinux.org/pere/blog/tags/web">web</a>.
6837
6838
6839 </div>
6840 </div>
6841 <div class="padding"></div>
6842
6843 <div class="entry">
6844 <div class="title">
6845 <a href="http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades_of_the_Gnome_and_KDE_desktop__now_with_apt_get_autoremove.html">Lenny->Squeeze upgrades of the Gnome and KDE desktop, now with apt-get autoremove</a>
6846 </div>
6847 <div class="date">
6848 22nd November 2010
6849 </div>
6850 <div class="body">
6851 <p>Michael Biebl suggested to me on IRC, that I changed my automated
6852 upgrade testing of the
6853 <a href="http://people.skolelinux.org/~pere/debian-upgrade-testing/">Lenny
6854 Gnome and KDE Desktop</a> to do <tt>apt-get autoremove</tt> when using apt-get.
6855 This seem like a very good idea, so I adjusted by test scripts and
6856 can now present the updated result from today:</p>
6857
6858 <p>This is for Gnome:</p>
6859
6860 <p>Installed using apt-get, missing with aptitude</p>
6861
6862 <blockquote><p>
6863 apache2.2-bin
6864 aptdaemon
6865 baobab
6866 binfmt-support
6867 browser-plugin-gnash
6868 cheese-common
6869 cli-common
6870 cups-pk-helper
6871 dmz-cursor-theme
6872 empathy
6873 empathy-common
6874 freedesktop-sound-theme
6875 freeglut3
6876 gconf-defaults-service
6877 gdm-themes
6878 gedit-plugins
6879 geoclue
6880 geoclue-hostip
6881 geoclue-localnet
6882 geoclue-manual
6883 geoclue-yahoo
6884 gnash
6885 gnash-common
6886 gnome
6887 gnome-backgrounds
6888 gnome-cards-data
6889 gnome-codec-install
6890 gnome-core
6891 gnome-desktop-environment
6892 gnome-disk-utility
6893 gnome-screenshot
6894 gnome-search-tool
6895 gnome-session-canberra
6896 gnome-system-log
6897 gnome-themes-extras
6898 gnome-themes-more
6899 gnome-user-share
6900 gstreamer0.10-fluendo-mp3
6901 gstreamer0.10-tools
6902 gtk2-engines
6903 gtk2-engines-pixbuf
6904 gtk2-engines-smooth
6905 hamster-applet
6906 libapache2-mod-dnssd
6907 libapr1
6908 libaprutil1
6909 libaprutil1-dbd-sqlite3
6910 libaprutil1-ldap
6911 libart2.0-cil
6912 libboost-date-time1.42.0
6913 libboost-python1.42.0
6914 libboost-thread1.42.0
6915 libchamplain-0.4-0
6916 libchamplain-gtk-0.4-0
6917 libcheese-gtk18
6918 libclutter-gtk-0.10-0
6919 libcryptui0
6920 libdiscid0
6921 libelf1
6922 libepc-1.0-2
6923 libepc-common
6924 libepc-ui-1.0-2
6925 libfreerdp-plugins-standard
6926 libfreerdp0
6927 libgconf2.0-cil
6928 libgdata-common
6929 libgdata7
6930 libgdu-gtk0
6931 libgee2
6932 libgeoclue0
6933 libgexiv2-0
6934 libgif4
6935 libglade2.0-cil
6936 libglib2.0-cil
6937 libgmime2.4-cil
6938 libgnome-vfs2.0-cil
6939 libgnome2.24-cil
6940 libgnomepanel2.24-cil
6941 libgpod-common
6942 libgpod4
6943 libgtk2.0-cil
6944 libgtkglext1
6945 libgtksourceview2.0-common
6946 libmono-addins-gui0.2-cil
6947 libmono-addins0.2-cil
6948 libmono-cairo2.0-cil
6949 libmono-corlib2.0-cil
6950 libmono-i18n-west2.0-cil
6951 libmono-posix2.0-cil
6952 libmono-security2.0-cil
6953 libmono-sharpzip2.84-cil
6954 libmono-system2.0-cil
6955 libmtp8
6956 libmusicbrainz3-6
6957 libndesk-dbus-glib1.0-cil
6958 libndesk-dbus1.0-cil
6959 libopal3.6.8
6960 libpolkit-gtk-1-0
6961 libpt2.6.7
6962 libpython2.6
6963 librpm1
6964 librpmio1
6965 libsdl1.2debian
6966 libsrtp0
6967 libssh-4
6968 libtelepathy-farsight0
6969 libtelepathy-glib0
6970 libtidy-0.99-0
6971 media-player-info
6972 mesa-utils
6973 mono-2.0-gac
6974 mono-gac
6975 mono-runtime
6976 nautilus-sendto
6977 nautilus-sendto-empathy
6978 p7zip-full
6979 pkg-config
6980 python-aptdaemon
6981 python-aptdaemon-gtk
6982 python-axiom
6983 python-beautifulsoup
6984 python-bugbuddy
6985 python-clientform
6986 python-coherence
6987 python-configobj
6988 python-crypto
6989 python-cupshelpers
6990 python-elementtree
6991 python-epsilon
6992 python-evolution
6993 python-feedparser
6994 python-gdata
6995 python-gdbm
6996 python-gst0.10
6997 python-gtkglext1
6998 python-gtksourceview2
6999 python-httplib2
7000 python-louie
7001 python-mako
7002 python-markupsafe
7003 python-mechanize
7004 python-nevow
7005 python-notify
7006 python-opengl
7007 python-openssl
7008 python-pam
7009 python-pkg-resources
7010 python-pyasn1
7011 python-pysqlite2
7012 python-rdflib
7013 python-serial
7014 python-tagpy
7015 python-twisted-bin
7016 python-twisted-conch
7017 python-twisted-core
7018 python-twisted-web
7019 python-utidylib
7020 python-webkit
7021 python-xdg
7022 python-zope.interface
7023 remmina
7024 remmina-plugin-data
7025 remmina-plugin-rdp
7026 remmina-plugin-vnc
7027 rhythmbox-plugin-cdrecorder
7028 rhythmbox-plugins
7029 rpm-common
7030 rpm2cpio
7031 seahorse-plugins
7032 shotwell
7033 software-center
7034 system-config-printer-udev
7035 telepathy-gabble
7036 telepathy-mission-control-5
7037 telepathy-salut
7038 tomboy
7039 totem
7040 totem-coherence
7041 totem-mozilla
7042 totem-plugins
7043 transmission-common
7044 xdg-user-dirs
7045 xdg-user-dirs-gtk
7046 xserver-xephyr
7047 </p></blockquote>
7048
7049 <p>Installed using apt-get, removed with aptitude</p>
7050
7051 <blockquote><p>
7052 cheese
7053 ekiga
7054 eog
7055 epiphany-extensions
7056 evolution-exchange
7057 fast-user-switch-applet
7058 file-roller
7059 gcalctool
7060 gconf-editor
7061 gdm
7062 gedit
7063 gedit-common
7064 gnome-games
7065 gnome-games-data
7066 gnome-nettool
7067 gnome-system-tools
7068 gnome-themes
7069 gnuchess
7070 gucharmap
7071 guile-1.8-libs
7072 libavahi-ui0
7073 libdmx1
7074 libgalago3
7075 libgtk-vnc-1.0-0
7076 libgtksourceview2.0-0
7077 liblircclient0
7078 libsdl1.2debian-alsa
7079 libspeexdsp1
7080 libsvga1
7081 rhythmbox
7082 seahorse
7083 sound-juicer
7084 system-config-printer
7085 totem-common
7086 transmission-gtk
7087 vinagre
7088 vino
7089 </p></blockquote>
7090
7091 <p>Installed using aptitude, missing with apt-get</p>
7092
7093 <blockquote><p>
7094 gstreamer0.10-gnomevfs
7095 </p></blockquote>
7096
7097 <p>Installed using aptitude, removed with apt-get</p>
7098
7099 <blockquote><p>
7100 [nothing]
7101 </p></blockquote>
7102
7103 <p>This is for KDE:</p>
7104
7105 <p>Installed using apt-get, missing with aptitude</p>
7106
7107 <blockquote><p>
7108 ksmserver
7109 </p></blockquote>
7110
7111 <p>Installed using apt-get, removed with aptitude</p>
7112
7113 <blockquote><p>
7114 kwin
7115 network-manager-kde
7116 </p></blockquote>
7117
7118 <p>Installed using aptitude, missing with apt-get</p>
7119
7120 <blockquote><p>
7121 arts
7122 dolphin
7123 freespacenotifier
7124 google-gadgets-gst
7125 google-gadgets-xul
7126 kappfinder
7127 kcalc
7128 kcharselect
7129 kde-core
7130 kde-plasma-desktop
7131 kde-standard
7132 kde-window-manager
7133 kdeartwork
7134 kdeartwork-emoticons
7135 kdeartwork-style
7136 kdeartwork-theme-icon
7137 kdebase
7138 kdebase-apps
7139 kdebase-workspace
7140 kdebase-workspace-bin
7141 kdebase-workspace-data
7142 kdeeject
7143 kdelibs
7144 kdeplasma-addons
7145 kdeutils
7146 kdewallpapers
7147 kdf
7148 kfloppy
7149 kgpg
7150 khelpcenter4
7151 kinfocenter
7152 konq-plugins-l10n
7153 konqueror-nsplugins
7154 kscreensaver
7155 kscreensaver-xsavers
7156 ktimer
7157 kwrite
7158 libgle3
7159 libkde4-ruby1.8
7160 libkonq5
7161 libkonq5-templates
7162 libnetpbm10
7163 libplasma-ruby
7164 libplasma-ruby1.8
7165 libqt4-ruby1.8
7166 marble-data
7167 marble-plugins
7168 netpbm
7169 nuvola-icon-theme
7170 plasma-dataengines-workspace
7171 plasma-desktop
7172 plasma-desktopthemes-artwork
7173 plasma-runners-addons
7174 plasma-scriptengine-googlegadgets
7175 plasma-scriptengine-python
7176 plasma-scriptengine-qedje
7177 plasma-scriptengine-ruby
7178 plasma-scriptengine-webkit
7179 plasma-scriptengines
7180 plasma-wallpapers-addons
7181 plasma-widget-folderview
7182 plasma-widget-networkmanagement
7183 ruby
7184 sweeper
7185 update-notifier-kde
7186 xscreensaver-data-extra
7187 xscreensaver-gl
7188 xscreensaver-gl-extra
7189 xscreensaver-screensaver-bsod
7190 </p></blockquote>
7191
7192 <p>Installed using aptitude, removed with apt-get</p>
7193
7194 <blockquote><p>
7195 ark
7196 google-gadgets-common
7197 google-gadgets-qt
7198 htdig
7199 kate
7200 kdebase-bin
7201 kdebase-data
7202 kdepasswd
7203 kfind
7204 klipper
7205 konq-plugins
7206 konqueror
7207 ksysguard
7208 ksysguardd
7209 libarchive1
7210 libcln6
7211 libeet1
7212 libeina-svn-06
7213 libggadget-1.0-0b
7214 libggadget-qt-1.0-0b
7215 libgps19
7216 libkdecorations4
7217 libkephal4
7218 libkonq4
7219 libkonqsidebarplugin4a
7220 libkscreensaver5
7221 libksgrd4
7222 libksignalplotter4
7223 libkunitconversion4
7224 libkwineffects1a
7225 libmarblewidget4
7226 libntrack-qt4-1
7227 libntrack0
7228 libplasma-geolocation-interface4
7229 libplasmaclock4a
7230 libplasmagenericshell4
7231 libprocesscore4a
7232 libprocessui4a
7233 libqalculate5
7234 libqedje0a
7235 libqtruby4shared2
7236 libqzion0a
7237 libruby1.8
7238 libscim8c2a
7239 libsmokekdecore4-3
7240 libsmokekdeui4-3
7241 libsmokekfile3
7242 libsmokekhtml3
7243 libsmokekio3
7244 libsmokeknewstuff2-3
7245 libsmokeknewstuff3-3
7246 libsmokekparts3
7247 libsmokektexteditor3
7248 libsmokekutils3
7249 libsmokenepomuk3
7250 libsmokephonon3
7251 libsmokeplasma3
7252 libsmokeqtcore4-3
7253 libsmokeqtdbus4-3
7254 libsmokeqtgui4-3
7255 libsmokeqtnetwork4-3
7256 libsmokeqtopengl4-3
7257 libsmokeqtscript4-3
7258 libsmokeqtsql4-3
7259 libsmokeqtsvg4-3
7260 libsmokeqttest4-3
7261 libsmokeqtuitools4-3
7262 libsmokeqtwebkit4-3
7263 libsmokeqtxml4-3
7264 libsmokesolid3
7265 libsmokesoprano3
7266 libtaskmanager4a
7267 libtidy-0.99-0
7268 libweather-ion4a
7269 libxklavier16
7270 libxxf86misc1
7271 okteta
7272 oxygencursors
7273 plasma-dataengines-addons
7274 plasma-scriptengine-superkaramba
7275 plasma-widget-lancelot
7276 plasma-widgets-addons
7277 plasma-widgets-workspace
7278 polkit-kde-1
7279 ruby1.8
7280 systemsettings
7281 update-notifier-common
7282 </p></blockquote>
7283
7284 <p>Running apt-get autoremove made the results using apt-get and
7285 aptitude a bit more similar, but there are still quite a lott of
7286 differences. I have no idea what packages should be installed after
7287 the upgrade, but hope those that do can have a look.</p>
7288
7289 </div>
7290 <div class="tags">
7291
7292
7293 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
7294
7295
7296 </div>
7297 </div>
7298 <div class="padding"></div>
7299
7300 <div class="entry">
7301 <div class="title">
7302 <a href="http://people.skolelinux.org/pere/blog/Migrating_Xen_virtual_machines_using_LVM_to_KVM_using_disk_images.html">Migrating Xen virtual machines using LVM to KVM using disk images</a>
7303 </div>
7304 <div class="date">
7305 22nd November 2010
7306 </div>
7307 <div class="body">
7308 <p>Most of the computers in use by the
7309 <a href="http://www.skolelinux.org/">Debian Edu/Skolelinux project</a>
7310 are virtual machines. And they have been Xen machines running on a
7311 fairly old IBM eserver xseries 345 machine, and we wanted to migrate
7312 them to KVM on a newer Dell PowerEdge 2950 host machine. This was a
7313 bit harder that it could have been, because we set up the Xen virtual
7314 machines to get the virtual partitions from LVM, which as far as I
7315 know is not supported by KVM. So to migrate, we had to convert
7316 several LVM logical volumes to partitions on a virtual disk file.</p>
7317
7318 <p>I found
7319 <a href="http://searchnetworking.techtarget.com.au/articles/35011-Six-steps-for-migrating-Xen-virtual-machines-to-KVM">a
7320 nice recipe</a> to do this, and wrote the following script to do the
7321 migration. It uses qemu-img from the qemu package to make the disk
7322 image, parted to partition it, losetup and kpartx to present the disk
7323 image partions as devices, and dd to copy the data. I NFS mounted the
7324 new servers storage area on the old server to do the migration.</p>
7325
7326 <pre>
7327 #!/bin/sh
7328
7329 # Based on
7330 # http://searchnetworking.techtarget.com.au/articles/35011-Six-steps-for-migrating-Xen-virtual-machines-to-KVM
7331
7332 set -e
7333 set -x
7334
7335 if [ -z "$1" ] ; then
7336 echo "Usage: $0 &lt;hostname&gt;"
7337 exit 1
7338 else
7339 host="$1"
7340 fi
7341
7342 if [ ! -e /dev/vg_data/$host-disk ] ; then
7343 echo "error: unable to find LVM volume for $host"
7344 exit 1
7345 fi
7346
7347 # Partitions need to be a bit bigger than the LVM LVs. not sure why.
7348 disksize=$( lvs --units m | grep $host-disk | awk '{sum = sum + $4} END { print int(sum * 1.05) }')
7349 swapsize=$( lvs --units m | grep $host-swap | awk '{sum = sum + $4} END { print int(sum * 1.05) }')
7350 totalsize=$(( ( $disksize + $swapsize ) ))
7351
7352 img=$host.img
7353 #dd if=/dev/zero of=$img bs=1M count=$(( $disksize + $swapsize ))
7354 qemu-img create $img ${totalsize}MMaking room on the Debian Edu/Sqeeze DVD
7355
7356 parted $img mklabel msdos
7357 parted $img mkpart primary linux-swap 0 $disksize
7358 parted $img mkpart primary ext2 $disksize $totalsize
7359 parted $img set 1 boot on
7360
7361 modprobe dm-mod
7362 losetup /dev/loop0 $img
7363 kpartx -a /dev/loop0
7364
7365 dd if=/dev/vg_data/$host-disk of=/dev/mapper/loop0p1 bs=1M
7366 fsck.ext3 -f /dev/mapper/loop0p1 || true
7367 mkswap /dev/mapper/loop0p2
7368
7369 kpartx -d /dev/loop0
7370 losetup -d /dev/loop0
7371 </pre>
7372
7373 <p>The script is perhaps so simple that it is not copyrightable, but
7374 if it is, it is licenced using GPL v2 or later at your discretion.</p>
7375
7376 <p>After doing this, I booted a Debian CD in rescue mode in KVM with
7377 the new disk image attached, installed grub-pc and linux-image-686 and
7378 set up grub to boot from the disk image. After this, the KVM machines
7379 seem to work just fine.</p>
7380
7381 </div>
7382 <div class="tags">
7383
7384
7385 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
7386
7387
7388 </div>
7389 </div>
7390 <div class="padding"></div>
7391
7392 <div class="entry">
7393 <div class="title">
7394 <a href="http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_and_KDE_desktop.html">Lenny->Squeeze upgrades, apt vs aptitude with the Gnome and KDE desktop</a>
7395 </div>
7396 <div class="date">
7397 20th November 2010
7398 </div>
7399 <div class="body">
7400 <p>I'm still running upgrade testing of the
7401 <a href="http://people.skolelinux.org/~pere/debian-upgrade-testing/">Lenny
7402 Gnome and KDE Desktop</a>, but have not had time to spend on reporting the
7403 status. Here is a short update based on a test I ran 20101118.</p>
7404
7405 <p>I still do not know what a correct migration should look like, so I
7406 report any differences between apt and aptitude and hope someone else
7407 can see if anything should be changed.</p>
7408
7409 <p>This is for Gnome:</p>
7410
7411 <p>Installed using apt-get, missing with aptitude</p>
7412
7413 <blockquote><p>
7414 apache2.2-bin aptdaemon at-spi baobab binfmt-support
7415 browser-plugin-gnash cheese-common cli-common cpp-4.3 cups-pk-helper
7416 dmz-cursor-theme empathy empathy-common finger
7417 freedesktop-sound-theme freeglut3 gconf-defaults-service gdm-themes
7418 gedit-plugins geoclue geoclue-hostip geoclue-localnet geoclue-manual
7419 geoclue-yahoo gnash gnash-common gnome gnome-backgrounds
7420 gnome-cards-data gnome-codec-install gnome-core
7421 gnome-desktop-environment gnome-disk-utility gnome-screenshot
7422 gnome-search-tool gnome-session-canberra gnome-spell
7423 gnome-system-log gnome-themes-extras gnome-themes-more
7424 gnome-user-share gs-common gstreamer0.10-fluendo-mp3
7425 gstreamer0.10-tools gtk2-engines gtk2-engines-pixbuf
7426 gtk2-engines-smooth hal-info hamster-applet libapache2-mod-dnssd
7427 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap
7428 libart2.0-cil libatspi1.0-0 libboost-date-time1.42.0
7429 libboost-python1.42.0 libboost-thread1.42.0 libchamplain-0.4-0
7430 libchamplain-gtk-0.4-0 libcheese-gtk18 libclutter-gtk-0.10-0
7431 libcryptui0 libcupsys2 libdiscid0 libeel2-data libelf1 libepc-1.0-2
7432 libepc-common libepc-ui-1.0-2 libfreerdp-plugins-standard
7433 libfreerdp0 libgail-common libgconf2.0-cil libgdata-common libgdata7
7434 libgdl-1-common libgdu-gtk0 libgee2 libgeoclue0 libgexiv2-0 libgif4
7435 libglade2.0-cil libglib2.0-cil libgmime2.4-cil libgnome-vfs2.0-cil
7436 libgnome2.24-cil libgnomepanel2.24-cil libgnomeprint2.2-data
7437 libgnomeprintui2.2-common libgnomevfs2-bin libgpod-common libgpod4
7438 libgtk2.0-cil libgtkglext1 libgtksourceview-common
7439 libgtksourceview2.0-common libmono-addins-gui0.2-cil
7440 libmono-addins0.2-cil libmono-cairo2.0-cil libmono-corlib2.0-cil
7441 libmono-i18n-west2.0-cil libmono-posix2.0-cil
7442 libmono-security2.0-cil libmono-sharpzip2.84-cil
7443 libmono-system2.0-cil libmtp8 libmusicbrainz3-6
7444 libndesk-dbus-glib1.0-cil libndesk-dbus1.0-cil libopal3.6.8
7445 libpolkit-gtk-1-0 libpt-1.10.10-plugins-alsa
7446 libpt-1.10.10-plugins-v4l libpt2.6.7 libpython2.6 librpm1 librpmio1
7447 libsdl1.2debian libservlet2.4-java libsrtp0 libssh-4
7448 libtelepathy-farsight0 libtelepathy-glib0 libtidy-0.99-0
7449 libxalan2-java libxerces2-java media-player-info mesa-utils
7450 mono-2.0-gac mono-gac mono-runtime nautilus-sendto
7451 nautilus-sendto-empathy openoffice.org-writer2latex
7452 openssl-blacklist p7zip p7zip-full pkg-config python-4suite-xml
7453 python-aptdaemon python-aptdaemon-gtk python-axiom
7454 python-beautifulsoup python-bugbuddy python-clientform
7455 python-coherence python-configobj python-crypto python-cupshelpers
7456 python-cupsutils python-eggtrayicon python-elementtree
7457 python-epsilon python-evolution python-feedparser python-gdata
7458 python-gdbm python-gst0.10 python-gtkglext1 python-gtkmozembed
7459 python-gtksourceview2 python-httplib2 python-louie python-mako
7460 python-markupsafe python-mechanize python-nevow python-notify
7461 python-opengl python-openssl python-pam python-pkg-resources
7462 python-pyasn1 python-pysqlite2 python-rdflib python-serial
7463 python-tagpy python-twisted-bin python-twisted-conch
7464 python-twisted-core python-twisted-web python-utidylib python-webkit
7465 python-xdg python-zope.interface remmina remmina-plugin-data
7466 remmina-plugin-rdp remmina-plugin-vnc rhythmbox-plugin-cdrecorder
7467 rhythmbox-plugins rpm-common rpm2cpio seahorse-plugins shotwell
7468 software-center svgalibg1 system-config-printer-udev
7469 telepathy-gabble telepathy-mission-control-5 telepathy-salut tomboy
7470 totem totem-coherence totem-mozilla totem-plugins
7471 transmission-common xdg-user-dirs xdg-user-dirs-gtk xserver-xephyr
7472 zip
7473 </p></blockquote>
7474
7475 Installed using apt-get, removed with aptitude
7476
7477 <blockquote><p>
7478 arj bluez-utils cheese dhcdbd djvulibre-desktop ekiga eog
7479 epiphany-extensions epiphany-gecko evolution-exchange
7480 fast-user-switch-applet file-roller gcalctool gconf-editor gdm gedit
7481 gedit-common gnome-app-install gnome-games gnome-games-data
7482 gnome-nettool gnome-system-tools gnome-themes gnome-utils
7483 gnome-vfs-obexftp gnome-volume-manager gnuchess gucharmap
7484 guile-1.8-libs hal libavahi-compat-libdnssd1 libavahi-core5
7485 libavahi-ui0 libbind9-50 libbluetooth2 libcamel1.2-11 libcdio7
7486 libcucul0 libcurl3 libdirectfb-1.0-0 libdmx1 libdvdread3
7487 libedata-cal1.2-6 libedataserver1.2-9 libeel2-2.20 libepc-1.0-1
7488 libepc-ui-1.0-1 libexchange-storage1.2-3 libfaad0 libgadu3
7489 libgalago3 libgd2-noxpm libgda3-3 libgda3-common libggz2 libggzcore9
7490 libggzmod4 libgksu1.2-0 libgksuui1.0-1 libgmyth0 libgnome-desktop-2
7491 libgnome-pilot2 libgnomecups1.0-1 libgnomeprint2.2-0
7492 libgnomeprintui2.2-0 libgpod3 libgraphviz4 libgtk-vnc-1.0-0
7493 libgtkhtml2-0 libgtksourceview1.0-0 libgtksourceview2.0-0
7494 libgucharmap6 libhesiod0 libicu38 libisccc50 libisccfg50 libiw29
7495 libjaxp1.3-java-gcj libkpathsea4 liblircclient0 libltdl3 liblwres50
7496 libmagick++10 libmagick10 libmalaga7 libmozjs1d libmpfr1ldbl libmtp7
7497 libmysqlclient15off libnautilus-burn4 libneon27 libnm-glib0
7498 libnm-util0 libopal-2.2 libosp5 libparted1.8-10 libpisock9
7499 libpisync1 libpoppler-glib3 libpoppler3 libpt-1.10.10 libraw1394-8
7500 libsdl1.2debian-alsa libsensors3 libsexy2 libsmbios2 libsoup2.2-8
7501 libspeexdsp1 libssh2-1 libsuitesparse-3.1.0 libsvga1
7502 libswfdec-0.6-90 libtalloc1 libtotem-plparser10 libtrackerclient0
7503 libvoikko1 libxalan2-java-gcj libxerces2-java-gcj libxklavier12
7504 libxtrap6 libxxf86misc1 libzephyr3 mysql-common rhythmbox seahorse
7505 sound-juicer swfdec-gnome system-config-printer totem-common
7506 totem-gstreamer transmission-gtk vinagre vino w3c-dtd-xhtml wodim
7507 </p></blockquote>
7508
7509 <p>Installed using aptitude, missing with apt-get</p>
7510
7511 <blockquote><p>
7512 gstreamer0.10-gnomevfs
7513 </p></blockquote>
7514
7515 <p>Installed using aptitude, removed with apt-get</p>
7516
7517 <blockquote><p>
7518 [nothing]
7519 </p></blockquote>
7520
7521 <p>This is for KDE:</p>
7522
7523 <p>Installed using apt-get, missing with aptitude</p>
7524
7525 <blockquote><p>
7526 autopoint bomber bovo cantor cantor-backend-kalgebra cpp-4.3 dcoprss
7527 edict espeak espeak-data eyesapplet fifteenapplet finger gettext
7528 ghostscript-x git gnome-audio gnugo granatier gs-common
7529 gstreamer0.10-pulseaudio indi kaddressbook-plugins kalgebra
7530 kalzium-data kanjidic kapman kate-plugins kblocks kbreakout kbstate
7531 kde-icons-mono kdeaccessibility kdeaddons-kfile-plugins
7532 kdeadmin-kfile-plugins kdeartwork-misc kdeartwork-theme-window
7533 kdeedu kdeedu-data kdeedu-kvtml-data kdegames kdegames-card-data
7534 kdegames-mahjongg-data kdegraphics-kfile-plugins kdelirc
7535 kdemultimedia-kfile-plugins kdenetwork-kfile-plugins
7536 kdepim-kfile-plugins kdepim-kio-plugins kdessh kdetoys kdewebdev
7537 kdiamond kdnssd kfilereplace kfourinline kgeography-data kigo
7538 killbots kiriki klettres-data kmoon kmrml knewsticker-scripts
7539 kollision kpf krosspython ksirk ksmserver ksquares kstars-data
7540 ksudoku kubrick kweather libasound2-plugins libboost-python1.42.0
7541 libcfitsio3 libconvert-binhex-perl libcrypt-ssleay-perl libdb4.6++
7542 libdjvulibre-text libdotconf1.0 liberror-perl libespeak1
7543 libfinance-quote-perl libgail-common libgsl0ldbl libhtml-parser-perl
7544 libhtml-tableextract-perl libhtml-tagset-perl libhtml-tree-perl
7545 libio-stringy-perl libkdeedu4 libkdegames5 libkiten4 libkpathsea5
7546 libkrossui4 libmailtools-perl libmime-tools-perl
7547 libnews-nntpclient-perl libopenbabel3 libportaudio2 libpulse-browse0
7548 libservlet2.4-java libspeechd2 libtiff-tools libtimedate-perl
7549 libunistring0 liburi-perl libwww-perl libxalan2-java libxerces2-java
7550 lirc luatex marble networkstatus noatun-plugins
7551 openoffice.org-writer2latex palapeli palapeli-data parley
7552 parley-data poster psutils pulseaudio pulseaudio-esound-compat
7553 pulseaudio-module-x11 pulseaudio-utils quanta-data rocs rsync
7554 speech-dispatcher step svgalibg1 texlive-binaries texlive-luatex
7555 ttf-sazanami-gothic
7556 </p></blockquote>
7557
7558 <p>Installed using apt-get, removed with aptitude</p>
7559
7560 <blockquote><p>
7561 amor artsbuilder atlantik atlantikdesigner blinken bluez-utils cvs
7562 dhcdbd djvulibre-desktop imlib-base imlib11 kalzium kanagram kandy
7563 kasteroids katomic kbackgammon kbattleship kblackbox kbounce kbruch
7564 kcron kdat kdemultimedia-kappfinder-data kdeprint kdict kdvi kedit
7565 keduca kenolaba kfax kfaxview kfouleggs kgeography kghostview
7566 kgoldrunner khangman khexedit kiconedit kig kimagemapeditor
7567 kitchensync kiten kjumpingcube klatin klettres klickety klines
7568 klinkstatus kmag kmahjongg kmailcvt kmenuedit kmid kmilo kmines
7569 kmousetool kmouth kmplot knetwalk kodo kolf kommander konquest kooka
7570 kpager kpat kpdf kpercentage kpilot kpoker kpovmodeler krec
7571 kregexpeditor kreversi ksame ksayit kshisen ksig ksim ksirc ksirtet
7572 ksmiletris ksnake ksokoban kspaceduel kstars ksvg ksysv kteatime
7573 ktip ktnef ktouch ktron kttsd ktuberling kturtle ktux kuickshow
7574 kverbos kview kviewshell kvoctrain kwifimanager kwin kwin4 kwordquiz
7575 kworldclock kxsldbg libakode2 libarts1-akode libarts1-audiofile
7576 libarts1-mpeglib libarts1-xine libavahi-compat-libdnssd1
7577 libavahi-core5 libavc1394-0 libbind9-50 libbluetooth2
7578 libboost-python1.34.1 libcucul0 libcurl3 libcvsservice0
7579 libdirectfb-1.0-0 libdjvulibre21 libdvdread3 libfaad0 libfreebob0
7580 libgd2-noxpm libgraphviz4 libgsmme1c2a libgtkhtml2-0 libicu38
7581 libiec61883-0 libindex0 libisccc50 libisccfg50 libiw29
7582 libjaxp1.3-java-gcj libk3b3 libkcal2b libkcddb1 libkdeedu3
7583 libkdegames1 libkdepim1a libkgantt0 libkleopatra1 libkmime2
7584 libkpathsea4 libkpimexchange1 libkpimidentities1 libkscan1
7585 libksieve0 libktnef1 liblockdev1 libltdl3 liblwres50 libmagick10
7586 libmimelib1c2a libmodplug0c2 libmozjs1d libmpcdec3 libmpfr1ldbl
7587 libneon27 libnm-util0 libopensync0 libpisock9 libpoppler-glib3
7588 libpoppler-qt2 libpoppler3 libraw1394-8 librss1 libsensors3
7589 libsmbios2 libssh2-1 libsuitesparse-3.1.0 libswfdec-0.6-90
7590 libtalloc1 libxalan2-java-gcj libxerces2-java-gcj libxtrap6 lskat
7591 mpeglib network-manager-kde noatun pmount tex-common texlive-base
7592 texlive-common texlive-doc-base texlive-fonts-recommended tidy
7593 ttf-dustin ttf-kochi-gothic ttf-sjfonts
7594 </p></blockquote>
7595
7596 <p>Installed using aptitude, missing with apt-get</p>
7597
7598 <blockquote><p>
7599 dolphin kde-core kde-plasma-desktop kde-standard kde-window-manager
7600 kdeartwork kdebase kdebase-apps kdebase-workspace
7601 kdebase-workspace-bin kdebase-workspace-data kdeutils kscreensaver
7602 kscreensaver-xsavers libgle3 libkonq5 libkonq5-templates libnetpbm10
7603 netpbm plasma-widget-folderview plasma-widget-networkmanagement
7604 xscreensaver-data-extra xscreensaver-gl xscreensaver-gl-extra
7605 xscreensaver-screensaver-bsod
7606 </p></blockquote>
7607
7608 <p>Installed using aptitude, removed with apt-get</p>
7609
7610 <blockquote><p>
7611 kdebase-bin konq-plugins konqueror
7612 </p></blockquote>
7613
7614 </div>
7615 <div class="tags">
7616
7617
7618 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
7619
7620
7621 </div>
7622 </div>
7623 <div class="padding"></div>
7624
7625 <div class="entry">
7626 <div class="title">
7627 <a href="http://people.skolelinux.org/pere/blog/Gnash_buildbot_slave_and_Debian_kfreebsd.html">Gnash buildbot slave and Debian kfreebsd</a>
7628 </div>
7629 <div class="date">
7630 20th November 2010
7631 </div>
7632 <div class="body">
7633 <p>Answering
7634 <a href="http://www.listware.net/201011/gnash-dev/67431-gnash-dev-buildbot-looking-for-slaves.html">the
7635 call from the Gnash project</a> for
7636 <a href="http://www.gnashdev.org:8010">buildbot</a> slaves to test the
7637 current source, I have set up a virtual KVM machine on the Debian
7638 Edu/Skolelinux virtualization host to test the git source on
7639 Debian/Squeeze. I hope this can help the developers in getting new
7640 releases out more often.</p>
7641
7642 <p>As the developers want less main-stream build platforms tested to,
7643 I have considered setting up a <a
7644 href="http://www.debian.org/ports/kfreebsd-gnu/">Debian/kfreebsd</a>
7645 machine as well. I have also considered using the kfreebsd
7646 architecture in Debian as a file server in NUUG to get access to the 5
7647 TB zfs volume we currently use to store DV video. Because of this, I
7648 finally got around to do a test installation of Debian/Squeeze with
7649 kfreebsd. Installation went fairly smooth, thought I noticed some
7650 visual glitches in the cdebconf dialogs (black cursor left on the
7651 screen at random locations). Have not gotten very far with the
7652 testing. Noticed cfdisk did not work, but fdisk did so it was not a
7653 fatal problem. Have to spend some more time on it to see if it is
7654 useful as a file server for NUUG. Will try to find time to set up a
7655 gnash buildbot slave on the Debian Edu/Skolelinux this weekend.</p>
7656
7657 </div>
7658 <div class="tags">
7659
7660
7661 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
7662
7663
7664 </div>
7665 </div>
7666 <div class="padding"></div>
7667
7668 <div class="entry">
7669 <div class="title">
7670 <a href="http://people.skolelinux.org/pere/blog/Debian_in_3D.html">Debian in 3D</a>
7671 </div>
7672 <div class="date">
7673 9th November 2010
7674 </div>
7675 <div class="body">
7676 <p><img src="http://thingiverse-production.s3.amazonaws.com/renders/23/e0/c4/f9/2b/debswagtdose_preview_medium.jpg"></p>
7677
7678 <p>3D printing is just great. I just came across this Debian logo in
7679 3D linked in from
7680 <a href="http://blog.thingiverse.com/2010/11/09/participatory-branding/">the
7681 thingiverse blog</a>.</p>
7682
7683 </div>
7684 <div class="tags">
7685
7686
7687 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
7688
7689
7690 </div>
7691 </div>
7692 <div class="padding"></div>
7693
7694 <div class="entry">
7695 <div class="title">
7696 <a href="http://people.skolelinux.org/pere/blog/Making_room_on_the_Debian_Edu_Sqeeze_DVD.html">Making room on the Debian Edu/Sqeeze DVD</a>
7697 </div>
7698 <div class="date">
7699 7th November 2010
7700 </div>
7701 <div class="body">
7702 <p>Prioritising packages for the Debian Edu /
7703 <a href="http://www.skolelinux.org/">Skolelinux</a> DVD, which is
7704 supposed provide a school with all the services and user applications
7705 needed on the pupils computer network has always been hard. Even
7706 schools without Internet connections should be able to get Debian Edu
7707 working using this DVD.</p>
7708
7709 <p>The job became a lot harder when apt and aptitude started
7710 installing recommended packages by default. We want the same set of
7711 packages to be installed when using the DVD and the netinst CD, and
7712 that means all recommended packages need to be on the DVD. I created
7713 a patch for debian-cd in <a href="http://bugs.debian.org/601203">BTS
7714 report #601203</a> to do this, and since this change was applied to
7715 the Debian Edu DVD build, we have been seriously short on space.</p>
7716
7717 <p>A few days ago we decided to drop blender, wxmaxima and kicad from
7718 the default installation to save space on the DVD, believing that
7719 those needing these applications are few and can get them from the
7720 Debian archive.</p>
7721
7722 <p>Yesterday, I had a look what source packages to see which packages
7723 were using most space. A few large packages are well know;
7724 openoffice.org, openclipart and fluid-soundfont. But I also
7725 discovered that lilypond used 106 MiB and fglrx-driver used 53 MiB.
7726 The lilypond package is pulled in as a dependency for rosegarden, and
7727 when looking a bit closer I discovered that 99 MiB of the 106 MiB were
7728 the documentation package, which is recommended by the binary package.
7729 I decided to drop this documentation package from our DVD, as most of
7730 our users will use the GUI front-ends and do not need the lilypond
7731 documentation. Similarly, I dropped the non-free fglrx-driver package
7732 which might be installed by d-i when its hardware is detected, as the
7733 free X driver should work.</p>
7734
7735 <p>With this change, we finally got space for the LXDE and Gnome
7736 desktop packages as well as the language specific packages making the
7737 DVD more useful again.</p>
7738
7739 </div>
7740 <div class="tags">
7741
7742
7743 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
7744
7745
7746 </div>
7747 </div>
7748 <div class="padding"></div>
7749
7750 <div class="entry">
7751 <div class="title">
7752 <a href="http://people.skolelinux.org/pere/blog/Software_updates_2010_10_24.html">Software updates 2010-10-24</a>
7753 </div>
7754 <div class="date">
7755 24th October 2010
7756 </div>
7757 <div class="body">
7758 <p>Some updates.</p>
7759
7760 <p>My <a href="http://pledgebank.com/gnash-avm2">gnash pledge</a> to
7761 raise money for the project is going well. The lower limit of 10
7762 signers was reached in 24 hours, and so far 13 people have signed it.
7763 More signers and more funding is most welcome, and I am really curious
7764 how far we can get before the time limit of December 24 is reached.
7765 :)</p>
7766
7767 <p>On the #gnash IRC channel on irc.freenode.net, I was just tipped
7768 about what appear to be a great code coverage tool capable of
7769 generating code coverage stats without any changes to the source code.
7770 It is called
7771 <a href="http://simonkagstrom.github.com/kcov/index.html">kcov</a>,
7772 and can be used using <tt>kcov &lt;directory&gt; &lt;binary&gt;</tt>.
7773 It is missing in Debian, but the git source built just fine in Squeeze
7774 after I installed libelf-dev, libdwarf-dev, pkg-config and
7775 libglib2.0-dev. Failed to build in Lenny, but suspect that is
7776 solvable. I hope kcov make it into Debian soon.</p>
7777
7778 <p>Finally found time to wrap up the release notes for <a
7779 href="http://lists.debian.org/debian-edu-announce/2010/10/msg00002.html">a
7780 new alpha release of Debian Edu</a>, and just published the second
7781 alpha test release of the Squeeze based Debian Edu /
7782 <a href="http://www.skolelinux.org/">Skolelinux</a>
7783 release. Give it a try if you need a complete linux solution for your
7784 school, including central infrastructure server, workstations, thin
7785 client servers and diskless workstations. A nice touch added
7786 yesterday is RDP support on the thin client servers, for windows
7787 clients to get a Linux desktop on request.</p>
7788
7789 </div>
7790 <div class="tags">
7791
7792
7793 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>.
7794
7795
7796 </div>
7797 </div>
7798 <div class="padding"></div>
7799
7800 <div class="entry">
7801 <div class="title">
7802 <a href="http://people.skolelinux.org/pere/blog/Pledge_for_funding_to_the_Gnash_project_to_get_AVM2_support.html">Pledge for funding to the Gnash project to get AVM2 support</a>
7803 </div>
7804 <div class="date">
7805 19th October 2010
7806 </div>
7807 <div class="body">
7808 <p><a href="http://www.getgnash.org/">The Gnash project</a> is the
7809 most promising solution for a Free Software Flash implementation. It
7810 has done great so far, but there is still far to go, and recently its
7811 funding has dried up. I believe AVM2 support in Gnash is vital to the
7812 continued progress of the project, as more and more sites show up with
7813 AVM2 flash files.</p>
7814
7815 <p>To try to get funding for developing such support, I have started
7816 <a href="http://www.pledgebank.com/gnash-avm2">a pledge</a> with the
7817 following text:</P>
7818
7819 <p><blockquote>
7820
7821 <p>"I will pay 100$ to the Gnash project to develop AVM2 support but
7822 only if 10 other people will do the same."</p>
7823
7824 <p>- Petter Reinholdtsen, free software developer</p>
7825
7826 <p>Deadline to sign up by: 24th December 2010</p>
7827
7828 <p>The Gnash project need to get support for the new Flash file
7829 format AVM2 to work with a lot of sites using Flash on the
7830 web. Gnash already work with a lot of Flash sites using the old AVM1
7831 format, but more and more sites are using the AVM2 format these
7832 days. The project web page is available from
7833 http://www.getgnash.org/ . Gnash is a free software implementation
7834 of Adobe Flash, allowing those of us that do not accept the terms of
7835 the Adobe Flash license to get access to Flash sites.</p>
7836
7837 <p>The project need funding to get developers to put aside enough
7838 time to develop the AVM2 support, and this pledge is my way to try
7839 to get this to happen.</p>
7840
7841 <p>The project accept donations via the OpenMediaNow foundation,
7842 <a href="http://www.openmedianow.org/?q=node/32">http://www.openmedianow.org/?q=node/32</a> .</p>
7843
7844 </blockquote></p>
7845
7846 <p>I hope you will support this effort too. I hope more than 10
7847 people will participate to make this happen. The more money the
7848 project gets, the more features it can develop using these funds.
7849 :)</p>
7850
7851 </div>
7852 <div class="tags">
7853
7854
7855 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>, <a href="http://people.skolelinux.org/pere/blog/tags/web">web</a>.
7856
7857
7858 </div>
7859 </div>
7860 <div class="padding"></div>
7861
7862 <div class="entry">
7863 <div class="title">
7864 <a href="http://people.skolelinux.org/pere/blog/First_version_of_a_Perl_library_to_control_the_Spykee_robot.html">First version of a Perl library to control the Spykee robot</a>
7865 </div>
7866 <div class="date">
7867 9th October 2010
7868 </div>
7869 <div class="body">
7870 <p>This summer I got the chance to buy cheap Spykee robots, and since
7871 then I have worked on getting Linux software in place to control them.
7872 The firmware for the robot is available from the producer, and using
7873 that source it was trivial to figure out the protocol specification.
7874 I've started on a perl library to control it, and made some demo
7875 programs using this perl library to allow one to control the
7876 robots.</p>
7877
7878 <p>The library is quite functional already, and capable of controlling
7879 the driving, fetching video, uploading MP3s and play them. There are
7880 a few less important features too.</p>
7881
7882 <p>Since a few weeks ago, I ran out of time to spend on this project,
7883 but I never got around to releasing the current source. I decided
7884 today that it was time to do something about it, and uploaded the
7885 source to my Debian package store at people.skolelinux.org.</p>
7886
7887 <p>Because it was simpler for me, I made a Debian package and
7888 published the source and deb. If you got a spykee robot, grab the
7889 source or binary package:</p>
7890
7891 <p><ul>
7892 <li><a href="http://people.skolelinux.org/~pere/debian/packages/lenny/libspykee-perl_0.0.20101009-1.tar.gz">libspykee-perl_0.0.20101009-1.tar.gz</a></li>
7893 <li><a href="http://people.skolelinux.org/~pere/debian/packages/lenny/libspykee-perl_0.0.20101009-1.dsc">libspykee-perl_0.0.20101009-1.dsc</a></li>
7894 <li><a href="http://people.skolelinux.org/~pere/debian/packages/lenny/libspykee-perl_0.0.20101009-1_all.deb">libspykee-perl_0.0.20101009-1_all.deb</a></li>
7895 </ul></p>
7896
7897 <p>If you are interested in helping out with developing this library,
7898 please let me know.</p>
7899
7900 </div>
7901 <div class="tags">
7902
7903
7904 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/robot">robot</a>.
7905
7906
7907 </div>
7908 </div>
7909 <div class="padding"></div>
7910
7911 <div class="entry">
7912 <div class="title">
7913 <a href="http://people.skolelinux.org/pere/blog/Links_for_2010_10_03.html">Links for 2010-10-03</a>
7914 </div>
7915 <div class="date">
7916 3rd October 2010
7917 </div>
7918 <div class="body">
7919 <p><ul>
7920
7921 <li><a href="http://arstechnica.com/business/news/2010/09/there-is-no-plan-b-why-the-ipv4-to-ipv6-transition-will-be-ugly.ars">There
7922 is no Plan B: why the IPv4-to-IPv6 transition will be ugly</a></li>
7923
7924 <li>Scanner looking under clothes
7925 <a href="http://www.dagbladet.no/2010/10/03/nyheter/utenriks/reise/overvakingskamera/flyplasser/13667192/">has
7926 already been misused at Heathrow</a>.</li>
7927
7928 <li><a href="http://wiki.softwarelivre.org/Landell">Landell
7929 Webcasting</a> - interesting alternative for
7930 <ahref="http://dvswitch.alioth.debian.org/wiki/">DVSwitch</a> with
7931 simple setup.
7932
7933 </ul></p>
7934
7935 </div>
7936 <div class="tags">
7937
7938
7939 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
7940
7941
7942 </div>
7943 </div>
7944 <div class="padding"></div>
7945
7946 <div class="entry">
7947 <div class="title">
7948 <a href="http://people.skolelinux.org/pere/blog/Terms_of_use_for_video_produced_by_a_Canon_IXUS_130_digital_camera.html">Terms of use for video produced by a Canon IXUS 130 digital camera</a>
7949 </div>
7950 <div class="date">
7951 9th September 2010
7952 </div>
7953 <div class="body">
7954 <p>A few days ago I had the mixed pleasure of bying a new digital
7955 camera, a Canon IXUS 130. It was instructive and very disturbing to
7956 be able to verify that also this camera producer have the nerve to
7957 specify how I can or can not use the videos produced with the camera.
7958 Even thought I was aware of the issue, the options with new cameras
7959 are limited and I ended up bying the camera anyway. What is the
7960 problem, you might ask? It is software patents, MPEG-4, H.264 and the
7961 MPEG-LA that is the problem, and our right to record our experiences
7962 without asking for permissions that is at risk.
7963
7964 <p>On page 27 of the Danish instruction manual, this section is
7965 written:</p>
7966
7967 <blockquote>
7968 <p>This product is licensed under AT&T patents for the MPEG-4 standard
7969 and may be used for encoding MPEG-4 compliant video and/or decoding
7970 MPEG-4 compliant video that was encoded only (1) for a personal and
7971 non-commercial purpose or (2) by a video provider licensed under the
7972 AT&T patents to provide MPEG-4 compliant video.</p>
7973
7974 <p>No license is granted or implied for any other use for MPEG-4
7975 standard.</p>
7976 </blockquote>
7977
7978 <p>In short, the camera producer have chosen to use technology
7979 (MPEG-4/H.264) that is only provided if I used it for personal and
7980 non-commercial purposes, or ask for permission from the organisations
7981 holding the knowledge monopoly (patent) for technology used.</p>
7982
7983 <p>This issue has been brewing for a while, and I recommend you to
7984 read
7985 "<a href="http://www.osnews.com/story/23236/Why_Our_Civilization_s_Video_Art_and_Culture_is_Threatened_by_the_MPEG-LA">Why
7986 Our Civilization's Video Art and Culture is Threatened by the
7987 MPEG-LA</a>" by Eugenia Loli-Queru and
7988 "<a href="http://webmink.com/2010/09/03/h-264-and-foss/">H.264 Is Not
7989 The Sort Of Free That Matters</a>" by Simon Phipps to learn more about
7990 the issue. The solution is to support the
7991 <a href="http://www.digistan.org/open-standard:definition">free and
7992 open standards</a> for video, like <a href="http://www.theora.org/">Ogg
7993 Theora</a>, and avoid MPEG-4 and H.264 if you can.</p>
7994
7995 </div>
7996 <div class="tags">
7997
7998
7999 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling</a>, <a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett</a>, <a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>, <a href="http://people.skolelinux.org/pere/blog/tags/web">web</a>.
8000
8001
8002 </div>
8003 </div>
8004 <div class="padding"></div>
8005
8006 <div class="entry">
8007 <div class="title">
8008 <a href="http://people.skolelinux.org/pere/blog/Some_notes_on_Flash_in_Debian_and_Debian_Edu.html">Some notes on Flash in Debian and Debian Edu</a>
8009 </div>
8010 <div class="date">
8011 4th September 2010
8012 </div>
8013 <div class="body">
8014 <p>In the <a href="http://popcon.debian.org/unknown/by_vote">Debian
8015 popularity-contest numbers</a>, the adobe-flashplugin package the
8016 second most popular used package that is missing in Debian. The sixth
8017 most popular is flashplayer-mozilla. This is a clear indication that
8018 working flash is important for Debian users. Around 10 percent of the
8019 users submitting data to popcon.debian.org have this package
8020 installed.</p>
8021
8022 <p>In the report written by Lars Risan in August 2008
8023 («<a href="http://wiki.skolelinux.no/Dokumentasjon/Rapporter?action=AttachFile&do=view&target=Skolelinux_i_bruk_rapport_1.0.pdf">Skolelinux
8024 i bruk – Rapport for Hurum kommune, Universitetet i Agder og
8025 stiftelsen SLX Debian Labs</a>»), one of the most important problems
8026 schools experienced with <a href="http://www.skolelinux.org/">Debian
8027 Edu/Skolelinux</a> was the lack of working Flash. A lot of educational
8028 web sites require Flash to work, and lacking working Flash support in
8029 the web browser and the problems with installing it was perceived as a
8030 good reason to stay with Windows.</p>
8031
8032 <p>I once saw a funny and sad comment in a web forum, where Linux was
8033 said to be the retarded cousin that did not really understand
8034 everything you told him but could work fairly well. This was a
8035 comment regarding the problems Linux have with proprietary formats and
8036 non-standard web pages, and is sad because it exposes a fairly common
8037 understanding of whose fault it is if web pages that only work in for
8038 example Internet Explorer 6 fail to work on Firefox, and funny because
8039 it explain very well how annoying it is for users when Linux
8040 distributions do not work with the documents they receive or the web
8041 pages they want to visit.</p>
8042
8043 <p>This is part of the reason why I believe it is important for Debian
8044 and Debian Edu to have a well working Flash implementation in the
8045 distribution, to get at least popular sites as Youtube and Google
8046 Video to working out of the box. For Squeeze, Debian have the chance
8047 to include the latest version of Gnash that will make this happen, as
8048 the new release 0.8.8 was published a few weeks ago and is resting in
8049 unstable. The new version work with more sites that version 0.8.7.
8050 The Gnash maintainers have asked for a freeze exception, but the
8051 release team have not had time to reply to it yet. I hope they agree
8052 with me that Flash is important for the Debian desktop users, and thus
8053 accept the new package into Squeeze.</p>
8054
8055 </div>
8056 <div class="tags">
8057
8058
8059 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>, <a href="http://people.skolelinux.org/pere/blog/tags/web">web</a>.
8060
8061
8062 </div>
8063 </div>
8064 <div class="padding"></div>
8065
8066 <div class="entry">
8067 <div class="title">
8068 <a href="http://people.skolelinux.org/pere/blog/My_first_perl_GUI_application___controlling_a_Spykee_robot.html">My first perl GUI application - controlling a Spykee robot</a>
8069 </div>
8070 <div class="date">
8071 1st September 2010
8072 </div>
8073 <div class="body">
8074 <p>This evening I made my first Perl GUI application. The last few
8075 days I have worked on a Perl module for controlling my recently
8076 aquired Spykee robots, and the module is now getting complete enought
8077 that it is possible to use it to control the robot driving at least.
8078 It was now time to figure out how to use it to create some GUI to
8079 allow me to drive the robot around. I picked PerlQt as I have had
8080 positive experiences with the Qt API before, and spent a few minutes
8081 browsing the web for examples. Using Qt Designer seemed like a short
8082 cut, so I ended up writing the perl GUI using Qt Designer and
8083 compiling it into a perl program using the puic program from
8084 libqt-perl. Nothing fancy yet, but it got buttons to connect and
8085 drive around.</p>
8086
8087 <p>The perl module I have written provide a object oriented API for
8088 controlling the robot. Here is an small example on how to use it:</p>
8089
8090 <p><pre>
8091 use Spykee;
8092 Spykee::discover(sub {$robot{$_[0]} = $_[1]});
8093 my $host = (keys %robot)[0];
8094 my $spykee = Spykee->new();
8095 $spykee->contact($host, "admin", "admin");
8096 $spykee->left();
8097 sleep 2;
8098 $spykee->right();
8099 sleep 2;
8100 $spykee->forward();
8101 sleep 2;
8102 $spykee->back();
8103 sleep 2;
8104 $spykee->stop();
8105 </pre></p>
8106
8107 <p>Thanks to the release of the source of the robot firmware, I could
8108 peek into the implementation at the other end to figure out how to
8109 implement the protocol used by the robot. I've implemented several of
8110 the commands the robot understand, but is still missing the camera
8111 support to make it possible to control the robot from remote. First I
8112 want to implement support for uploading new firmware and configuring
8113 the wireless network, to make it possible to bootstrap a Spykee robot
8114 without the producers Windows and MacOSX software (I only have Linux,
8115 so I had to ask a friend to come over to get the robot testing
8116 going. :).</p>
8117
8118 <p>Will release the source to the public soon, but need to figure out
8119 where to make it available first. I will add a link to
8120 <a href="http://wiki.nuug.no/grupper/robot/">the NUUG wiki</a> for
8121 those that want to check back later to find it.</p>
8122
8123 </div>
8124 <div class="tags">
8125
8126
8127 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/robot">robot</a>.
8128
8129
8130 </div>
8131 </div>
8132 <div class="padding"></div>
8133
8134 <div class="entry">
8135 <div class="title">
8136 <a href="http://people.skolelinux.org/pere/blog/Broken_hard_link_handling_with_sshfs.html">Broken hard link handling with sshfs</a>
8137 </div>
8138 <div class="date">
8139 30th August 2010
8140 </div>
8141 <div class="body">
8142 <p>Just got an email from Tobias Gruetzmacher as a followup on my
8143 <a href="http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html">previous
8144 post about sshfs</a>. He reported another problem with sshfs. It
8145 fail to handle hard links properly. A simple way to spot this is to
8146 look at the . and .. entries in the directory tree. These should have
8147 a link count >1, but on sshfs the count is 1. I just tested to see
8148 what happen when trying to hardlink, and this fail as well:</p>
8149
8150 <pre>
8151 % ln foo bar
8152 ln: creating hard link `bar' => `foo': Function not implemented
8153 %
8154 </pre>
8155
8156 <p>I have not yet found time to implement a test for this in my file
8157 system test code, but believe having working hard links is useful to
8158 avoid surprised unix programs. Not as useful as working file locking
8159 and symlinks, which are required to get a working desktop, but useful
8160 nevertheless. :)</p>
8161
8162 <p>The latest version of the file system test code is available via
8163 git from
8164 <a href="http://github.com/gebi/fs-test">http://github.com/gebi/fs-test</a></p>
8165
8166 </div>
8167 <div class="tags">
8168
8169
8170 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
8171
8172
8173 </div>
8174 </div>
8175 <div class="padding"></div>
8176
8177 <div class="entry">
8178 <div class="title">
8179 <a href="http://people.skolelinux.org/pere/blog/Broken_umask_handling_with_sshfs.html">Broken umask handling with sshfs</a>
8180 </div>
8181 <div class="date">
8182 26th August 2010
8183 </div>
8184 <div class="body">
8185 <p>My file system sematics program
8186 <a href="http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html">presented
8187 a few days ago</a> is very useful to verify that a file system can
8188 work as a unix home directory,and today I had to extend it a bit. I'm
8189 looking into alternatives for home directory access here at the
8190 University of Oslo, and one of the options is sshfs. My friend
8191 Finn-Arne mentioned a while back that they had used sshfs with Debian
8192 Edu, but stopped because of problems. I asked today what the problems
8193 where, and he mentioned that sshfs failed to handle umask properly.
8194 Trying to detect the problem I wrote this addition to my fs testing
8195 script:</p>
8196
8197 <pre>
8198 mode_t touch_get_mode(const char *name, mode_t mode) {
8199 mode_t retval = 0;
8200 int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, mode);
8201 if (-1 != fd) {
8202 unlink(name);
8203 struct stat statbuf;
8204 if (-1 != fstat(fd, &statbuf)) {
8205 retval = statbuf.st_mode & 0x1ff;
8206 }
8207 close(fd);
8208 }
8209 return retval;
8210 }
8211
8212 /* Try to detect problem discovered using sshfs */
8213 int test_umask(void) {
8214 printf("info: testing umask effect on file creation\n");
8215
8216 mode_t orig_umask = umask(000);
8217 mode_t newmode;
8218 if (0666 != (newmode = touch_get_mode("foobar", 0666))) {
8219 printf(" error: Wrong file mode %o when creating using mode 666 and umask 000\n",
8220 newmode);
8221 }
8222 umask(007);
8223 if (0660 != (newmode = touch_get_mode("foobar", 0666))) {
8224 printf(" error: Wrong file mode %o when creating using mode 666 and umask 007\n",
8225 newmode);
8226 }
8227
8228 umask (orig_umask);
8229 return 0;
8230 }
8231
8232 int main(int argc, char **argv) {
8233 [...]
8234 test_umask();
8235 return 0;
8236 }
8237 </pre>
8238
8239 <p>Sure enough. On NFS to a netapp, I get this result:</p>
8240
8241 <pre>
8242 Testing POSIX/Unix sematics on file system
8243 info: testing symlink creation
8244 info: testing subdirectory creation
8245 info: testing fcntl locking
8246 Read-locking 1 byte from 1073741824
8247 Read-locking 510 byte from 1073741826
8248 Unlocking 1 byte from 1073741824
8249 Write-locking 1 byte from 1073741824
8250 Write-locking 510 byte from 1073741826
8251 Unlocking 2 byte from 1073741824
8252 info: testing umask effect on file creation
8253 </pre>
8254
8255 <p>When mounting the same directory using sshfs, I get this
8256 result:</p>
8257
8258 <pre>
8259 Testing POSIX/Unix sematics on file system
8260 info: testing symlink creation
8261 info: testing subdirectory creation
8262 info: testing fcntl locking
8263 Read-locking 1 byte from 1073741824
8264 Read-locking 510 byte from 1073741826
8265 Unlocking 1 byte from 1073741824
8266 Write-locking 1 byte from 1073741824
8267 Write-locking 510 byte from 1073741826
8268 Unlocking 2 byte from 1073741824
8269 info: testing umask effect on file creation
8270 error: Wrong file mode 644 when creating using mode 666 and umask 000
8271 error: Wrong file mode 640 when creating using mode 666 and umask 007
8272 </pre>
8273
8274 <p>So, I can conclude that sshfs is better than smb to a Netapp or a
8275 Windows server, but not good enough to be used as a home
8276 directory.</p>
8277
8278 <p>Update 2010-08-26: Reported the issue in
8279 <a href="http://bugs.debian.org/594498">BTS report #594498</a></p>
8280
8281 <p>Update 2010-08-27: Michael Gebetsroither report that he found the
8282 script so useful that he created a GIT repository and stored it in
8283 <a href="http://github.com/gebi/fs-test">http://github.com/gebi/fs-test</a>.</p>
8284
8285 </div>
8286 <div class="tags">
8287
8288
8289 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
8290
8291
8292 </div>
8293 </div>
8294 <div class="padding"></div>
8295
8296 <div class="entry">
8297 <div class="title">
8298 <a href="http://people.skolelinux.org/pere/blog/Rob_Weir__How_to_Crush_Dissent.html">Rob Weir: How to Crush Dissent</a>
8299 </div>
8300 <div class="date">
8301 15th August 2010
8302 </div>
8303 <div class="body">
8304 <p>I found the notes from Rob Weir on
8305 <a href="http://feedproxy.google.com/~r/robweir/antic-atom/~3/VGb23-kta8c/how-to-crush-dissent.html">how
8306 to crush dissent</a> matching my own thoughts on the matter quite
8307 well. Highly recommended for those wondering which road our society
8308 should go down. In my view we have been heading the wrong way for a
8309 long time.</p>
8310
8311 </div>
8312 <div class="tags">
8313
8314
8315 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet</a>.
8316
8317
8318 </div>
8319 </div>
8320 <div class="padding"></div>
8321
8322 <div class="entry">
8323 <div class="title">
8324 <a href="http://people.skolelinux.org/pere/blog/No_hardcoded_config_on_Debian_Edu_clients.html">No hardcoded config on Debian Edu clients</a>
8325 </div>
8326 <div class="date">
8327 9th August 2010
8328 </div>
8329 <div class="body">
8330 <p>As reported earlier, the last few days I have looked at how Debian
8331 Edu clients are configured, and tried to get rid of all hardcoded
8332 configuration settings on the clients. I believe the work to be
8333 mostly done, and the clients seem to work just fine with dynamically
8334 generated configuration.</p>
8335
8336 <p>What is the point, you might ask? The point is to allow a Debian
8337 Edu desktop to integrate into an existing network infrastructure
8338 without any manual configuration.</p>
8339
8340 <p>This is what happens when installing a Debian Edu client here at
8341 the University of Oslo using PXE. With the PXE installation, I am
8342 asked for language (Norwegian Bokmål), locality (Norway) and keyboard
8343 layout (no-latin1), Debian Edu profile (Roaming Workstation), if I
8344 accept to reformat the hard drive (yes), if I want to submit info to
8345 popcon.debian.org (no) and root password (secret). After answering
8346 these questions, the installer goes ahead and does its thing, and
8347 after around 50 minutes it is done. I press enter to finish the
8348 installation, and the machine reboots into KDE. When the machine is
8349 ready and kdm asks for login information, I enter my university
8350 username and password, am told by kdm that a local home directory has
8351 been created and that I must log in again, and finally log in with the
8352 same username and password to the KDE 4.4 desktop. At no point during
8353 this process did it ask for university specific settings, and all the
8354 required configuration was dynamically detected using information
8355 fetched via DHCP and DNS. The roaming workstation is now ready for
8356 use.</p>
8357
8358 <p>How was this done, you might wonder? First of all, here is the
8359 list of things that need to be configured on the client to get it
8360 working properly out of the box:</p>
8361
8362 <ul>
8363 <li>IP address/netmask and DNS server.</li>
8364 <li>Web proxy URL.</li>
8365 <li>LDAP server for NSS directory information (user, group, etc).</li>
8366 <li>Kerberos server for PAM password checking.</li>
8367 <li>SMB mount point to access the network home directory. (*)</li>
8368 <li>Central syslog server to send syslog messages to. (*)</li>
8369 <li>Sitesummary collector URL to submit info to central server. (*)</li>
8370 </ul>
8371
8372 <p>(Hm, did I forget anything? Let me knew if I did.)</p>
8373
8374 <p>The points marked (*) are not required to be able to use the
8375 machine, but needed to provide central storage and allowing system
8376 administrators to track their machines. Since yesterday, everything
8377 but the sitesummary collector URL is dynamically discovered at boot
8378 and installation time in the svn version of Debian Edu.</p>
8379
8380 <p>The IP and DNS setup is fetched during boot using DHCP as usual.
8381 When a DHCP update arrives, the proxy setup is updated by looking for
8382 http://wpat/wpad.dat and using the content of this WPAD file to
8383 configure the http and ftp proxy in /etc/environment and
8384 /etc/apt/apt.conf. I decided to update the proxy setup using a DHCP
8385 hook to ensure that the client stops using the Debian Edu proxy when
8386 it is moved outside the Debian Edu network, and instead uses any local
8387 proxy present on the new network when it moves around.</p>
8388
8389 <p>The DNS names of the LDAP, Kerberos and syslog server and related
8390 configuration are generated using DNS information at boot. First the
8391 installer looks for a host named ldap in the current DNS domain. If
8392 not found, it looks for _ldap._tcp SRV records in DNS instead. If an
8393 LDAP server is found, its root DSE entry is requested and the
8394 attributes namingContexts and defaultNamingContext are used to
8395 determine which LDAP base to use for NSS. If there are several
8396 namingContexts attibutes and the defaultNamingContext is present, that
8397 LDAP subtree is used as the base. If defaultNamingContext is missing,
8398 the subtrees listed as namingContexts are searched in sequence for any
8399 object with class posixAccount or posixGroup, and the first one with
8400 such an object is used as the LDAP base. For Kerberos, a similar
8401 search is done by first looking for a host named kerberos, and then
8402 for the _kerberos._tcp SRV record. I've been unable to find a way to
8403 look up the Kerberos realm, so for this the upper case string of the
8404 current DNS domain is used.</p>
8405
8406 <p>For the syslog server, the hosts syslog and loghost are searched
8407 for, and the _syslog._udp SRV record is consulted if no such host is
8408 found. This algorithm works for both Debian Edu and the University of
8409 Oslo. A similar strategy would work for locating the sitesummary
8410 server, but have not been implemented yet. I decided to fetch and
8411 save these settings during installation, to make sure moving to a
8412 different network does not change the set of users being allowed to
8413 log in nor the passwords required to log in. Usernames and passwords
8414 will be cached by sssd when the user logs in on the Debian Edu
8415 network, and will not change as the laptop move around. For a
8416 non-roaming machine, there is no caching, but given that it is
8417 supposed to stay in place it should not matter much. Perhaps we
8418 should switch those to use sssd too?</p>
8419
8420 <p>The user's SMB mount point for the network home directory is
8421 located when the user logs in for the first time. The LDAP server is
8422 consulted to look for the user's LDAP object and the sambaHomePath
8423 attribute is used if found. If it isn't found, the home directory
8424 path fetched from NSS is used instead. Assuming the path is of the
8425 form /site/server/directory/username, the second part is looked up in
8426 DNS and used to generate a SMB URL of the form
8427 smb://server.domain/username. This algorithm works for both Debian
8428 edu and the University of Oslo. Perhaps there are better attributes
8429 to use or a better algorithm that works for more sites, but this will
8430 do for now. :)</p>
8431
8432 <p>This work should make it easier to integrate the Debian Edu clients
8433 into any LDAP/Kerberos infrastructure, and make the current setup even
8434 more flexible than before. I suspect it will also work for thin
8435 client servers, allowing one to easily set up LTSP and hook it into a
8436 existing network infrastructure, but I have not had time to test this
8437 yet.</p>
8438
8439 <p>If you want to help out with implementing these things for Debian
8440 Edu, please contact us on debian-edu@lists.debian.org.</p>
8441
8442 <p>Update 2010-08-09: Simon Farnsworth gave me a heads-up on how to
8443 detect Kerberos realm from DNS, by looking for _kerberos TXT entries
8444 before falling back to the upper case DNS domain name. Will have to
8445 implement it for Debian Edu. :)</p>
8446
8447 </div>
8448 <div class="tags">
8449
8450
8451 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
8452
8453
8454 </div>
8455 </div>
8456 <div class="padding"></div>
8457
8458 <div class="entry">
8459 <div class="title">
8460 <a href="http://people.skolelinux.org/pere/blog/Testing_if_a_file_system_can_be_used_for_home_directories___.html">Testing if a file system can be used for home directories...</a>
8461 </div>
8462 <div class="date">
8463 8th August 2010
8464 </div>
8465 <div class="body">
8466 <p>A few years ago, I was involved in a project planning to use
8467 Windows file servers as home directory servers for Debian
8468 Edu/Skolelinux machines. This was thought to be no problem, as the
8469 access would be through the SMB network file system protocol, and we
8470 knew other sites used SMB with unix and samba as the file server to
8471 mount home directories without any problems. But, after months of
8472 struggling, we had to conclude that our goal was impossible.</p>
8473
8474 <p>The reason is simply that while SMB can be used for home
8475 directories when the file server is Samba running on Unix, this only
8476 work because of Samba have some extensions and the fact that the
8477 underlying file system is a unix file system. When using a Windows
8478 file server, the underlying file system do not have POSIX semantics,
8479 and several programs will fail if the users home directory where they
8480 want to store their configuration lack POSIX semantics.</p>
8481
8482 <p>As part of this work, I wrote a small C program I want to share
8483 with you all, to replicate a few of the problematic applications (like
8484 OpenOffice.org and GCompris) and see if the file system was working as
8485 it should. If you find yourself in spooky file system land, it might
8486 help you find your way out again. This is the fs-test.c source:</p>
8487
8488 <pre>
8489 /*
8490 * Some tests to check the file system sematics. Used to verify that
8491 * CIFS from a windows server do not work properly as a linux home
8492 * directory.
8493 * License: GPL v2 or later
8494 *
8495 * needs libsqlite3-dev and build-essential installed
8496 * compile with: gcc -Wall -lsqlite3 -DTEST_SQLITE fs-test.c -o fs-test
8497 */
8498
8499 #define _FILE_OFFSET_BITS 64
8500 #define _LARGEFILE_SOURCE 1
8501 #define _LARGEFILE64_SOURCE 1
8502
8503 #define _GNU_SOURCE /* for asprintf() */
8504
8505 #include &lt;errno.h>
8506 #include &lt;fcntl.h>
8507 #include &lt;stdio.h>
8508 #include &lt;string.h>
8509 #include &lt;stdlib.h>
8510 #include &lt;sys/file.h>
8511 #include &lt;sys/stat.h>
8512 #include &lt;sys/types.h>
8513 #include &lt;unistd.h>
8514
8515 #ifdef TEST_SQLITE
8516 /*
8517 * Test sqlite open, as done by gcompris require the libsqlite3-dev
8518 * package and linking with -lsqlite3. A more low level test is
8519 * below.
8520 * See also &lt;URL: http://www.sqlite.org./faq.html#q5 >.
8521 */
8522 #include &lt;sqlite3.h>
8523 #define CREATE_TABLE_USERS \
8524 "CREATE TABLE users (user_id INT UNIQUE, login TEXT, lastname TEXT, firstname TEXT, birthdate TEXT, class_id INT ); "
8525 int test_sqlite_open(void) {
8526 char *zErrMsg;
8527 char *name = "testsqlite.db";
8528 sqlite3 *db=NULL;
8529 unlink(name);
8530 int rc = sqlite3_open(name, &db);
8531 if( rc ){
8532 printf("error: sqlite open of %s failed: %s\n", name, sqlite3_errmsg(db));
8533 sqlite3_close(db);
8534 return -1;
8535 }
8536
8537 /* create tables */
8538 rc = sqlite3_exec(db,CREATE_TABLE_USERS, NULL, 0, &zErrMsg);
8539 if( rc != SQLITE_OK ){
8540 printf("error: sqlite table create failed: %s\n", zErrMsg);
8541 sqlite3_close(db);
8542 return -1;
8543 }
8544 printf("info: sqlite worked\n");
8545 sqlite3_close(db);
8546 return 0;
8547 }
8548 #endif /* TEST_SQLITE */
8549
8550 /*
8551 * Demonstrate locking issue found in gcompris using sqlite3. This
8552 * work with ext3, but not with cifs server on Windows 2003. This is
8553 * done in the sqlite3 library.
8554 * See also
8555 * &lt;URL:http://www.cygwin.com/ml/cygwin/2001-08/msg00854.html> and the
8556 * POSIX specification
8557 * &lt;URL:http://www.opengroup.org/onlinepubs/009695399/functions/fcntl.html>.
8558 */
8559 int test_gcompris_locking(void) {
8560 struct flock fl;
8561 char *name = "testsqlite.db";
8562 unlink(name);
8563 int fd = open(name, O_RDWR|O_CREAT|O_LARGEFILE, 0644);
8564 printf("info: testing fcntl locking\n");
8565
8566 fl.l_whence = SEEK_SET;
8567 fl.l_pid = getpid();
8568 printf(" Read-locking 1 byte from 1073741824");
8569 fl.l_start = 1073741824;
8570 fl.l_len = 1;
8571 fl.l_type = F_RDLCK;
8572 if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
8573
8574 printf(" Read-locking 510 byte from 1073741826");
8575 fl.l_start = 1073741826;
8576 fl.l_len = 510;
8577 fl.l_type = F_RDLCK;
8578 if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
8579
8580 printf(" Unlocking 1 byte from 1073741824");
8581 fl.l_start = 1073741824;
8582 fl.l_len = 1;
8583 fl.l_type = F_UNLCK;
8584 if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
8585
8586 printf(" Write-locking 1 byte from 1073741824");
8587 fl.l_start = 1073741824;
8588 fl.l_len = 1;
8589 fl.l_type = F_WRLCK;
8590 if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
8591
8592 printf(" Write-locking 510 byte from 1073741826");
8593 fl.l_start = 1073741826;
8594 fl.l_len = 510;
8595 if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
8596
8597 printf(" Unlocking 2 byte from 1073741824");
8598 fl.l_start = 1073741824;
8599 fl.l_len = 2;
8600 fl.l_type = F_UNLCK;
8601 if (0 != fcntl(fd, F_SETLK, &fl) ) printf(" - error!\n"); else printf("\n");
8602
8603 close(fd);
8604 return 0;
8605 }
8606
8607 /*
8608 * Test if permissions of freshly created directories allow entries
8609 * below them. This was a problem with OpenOffice.org and gcompris.
8610 * Mounting with option 'sync' seem to solve this problem while
8611 * slowing down file operations.
8612 */
8613 int test_subdirectory_creation(void) {
8614 #define LEVELS 5
8615 char *path = strdup("test");
8616 char *dirs[LEVELS];
8617 int level;
8618 printf("info: testing subdirectory creation\n");
8619 for (level = 0; level &lt; LEVELS; level++) {
8620 char *newpath = NULL;
8621 if (-1 == mkdir(path, 0777)) {
8622 printf(" error: Unable to create directory '%s': %s\n",
8623 path, strerror(errno));
8624 break;
8625 }
8626 asprintf(&newpath, "%s/%s", path, "test");
8627 free(path);
8628 path = newpath;
8629 }
8630 return 0;
8631 }
8632
8633 /*
8634 * Test if symlinks can be created. This was a problem detected with
8635 * KDE.
8636 */
8637 int test_symlinks(void) {
8638 printf("info: testing symlink creation\n");
8639 unlink("symlink");
8640 if (-1 == symlink("file", "symlink"))
8641 printf(" error: Unable to create symlink\n");
8642 return 0;
8643 }
8644
8645 int main(int argc, char **argv) {
8646 printf("Testing POSIX/Unix sematics on file system\n");
8647 test_symlinks();
8648 test_subdirectory_creation();
8649 #ifdef TEST_SQLITE
8650 test_sqlite_open();
8651 #endif /* TEST_SQLITE */
8652 test_gcompris_locking();
8653 return 0;
8654 }
8655 </pre>
8656
8657 <p>When everything is working, it should print something like
8658 this:</p>
8659
8660 <pre>
8661 Testing POSIX/Unix sematics on file system
8662 info: testing symlink creation
8663 info: testing subdirectory creation
8664 info: sqlite worked
8665 info: testing fcntl locking
8666 Read-locking 1 byte from 1073741824
8667 Read-locking 510 byte from 1073741826
8668 Unlocking 1 byte from 1073741824
8669 Write-locking 1 byte from 1073741824
8670 Write-locking 510 byte from 1073741826
8671 Unlocking 2 byte from 1073741824
8672 </pre>
8673
8674 <p>I do not remember the exact details of the problems we saw, but one
8675 of them was with locking, where if I remember correctly, POSIX allow a
8676 read-only lock to be upgraded to a read-write lock without unlocking
8677 the read-only lock (while Windows do not). Another was a bug in the
8678 CIFS/SMB client implementation in the Linux kernel where directory
8679 meta information would be wrong for a fraction of a second, making
8680 OpenOffice.org fail to create its deep directory tree because it was
8681 not allowed to create files in its freshly created directory.</p>
8682
8683 <p>Anyway, here is a nice tool for your tool box, might you never need
8684 it. :)</p>
8685
8686 <p>Update 2010-08-27: Michael Gebetsroither report that he found the
8687 script so useful that he created a GIT repository and stored it in
8688 <a href="http://github.com/gebi/fs-test">http://github.com/gebi/fs-test</a>.</p>
8689
8690 </div>
8691 <div class="tags">
8692
8693
8694 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
8695
8696
8697 </div>
8698 </div>
8699 <div class="padding"></div>
8700
8701 <div class="entry">
8702 <div class="title">
8703 <a href="http://people.skolelinux.org/pere/blog/Autodetecting_Client_setup_for_roaming_workstations_in_Debian_Edu.html">Autodetecting Client setup for roaming workstations in Debian Edu</a>
8704 </div>
8705 <div class="date">
8706 7th August 2010
8707 </div>
8708 <div class="body">
8709 <p>A few days ago, I
8710 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html">tried
8711 to install</a> a Roaming workation profile from Debian Edu/Squeeze
8712 while on the university network here at the University of Oslo, and
8713 noticed how much had to change to get it operational using the
8714 university infrastructure. It was fairly easy, but it occured to me
8715 that Debian Edu would improve a lot if I could get the client to
8716 connect without any changes at all, and thus let the client configure
8717 itself during installation and first boot to use the infrastructure
8718 around it. Now I am a huge step further along that road.</p>
8719
8720 <p>With our current squeeze-test packages, I can select the roaming
8721 workstation profile and get a working laptop connecting to the
8722 university LDAP server for user and group and our active directory
8723 servers for Kerberos authentication. All this without any
8724 configuration at all during installation. My users home directory got
8725 a bookmark in the KDE menu to mount it via SMB, with the correct URL.
8726 In short, openldap and sssd is correctly configured. In addition to
8727 this, the client look for http://wpad/wpad.dat to configure a web
8728 proxy, and when it fail to find it no proxy settings are stored in
8729 /etc/environment and /etc/apt/apt.conf. Iceweasel and KDE is
8730 configured to look for the same wpad configuration and also do not use
8731 a proxy when at the university network. If the machine is moved to a
8732 network with such wpad setup, it would automatically use it when DHCP
8733 gave it a IP address.</p>
8734
8735 <p>The LDAP server is located using DNS, by first looking for the DNS
8736 entry ldap.$domain. If this do not exist, it look for the
8737 _ldap._tcp.$domain SRV records and use the first one as the LDAP
8738 server. Next, it connects to the LDAP server and search all
8739 namingContexts entries for posixAccount or posixGroup objects, and
8740 pick the first one as the LDAP base. For Kerberos, a similar
8741 algorithm is used to locate the LDAP server, and the realm is the
8742 uppercase version of $domain.</p>
8743
8744 <p>So, what is not working, you might ask. SMB mounting my home
8745 directory do not work. No idea why, but suspected the incorrect
8746 Kerberos settings in /etc/krb5.conf and /etc/samba/smb.conf might be
8747 the cause. These are not properly configured during installation, and
8748 had to be hand-edited to get the correct Kerberos realm and server,
8749 but SMB mounting still do not work. :(</p>
8750
8751 <p>With this automatic configuration in place, I expect a Debian Edu
8752 roaming profile installation would be able to automatically detect and
8753 connect to any site using LDAP and Kerberos for NSS directory and PAM
8754 authentication. It should also work out of the box in a Active
8755 Directory environment providing posixAccount and posixGroup objects
8756 with UID and GID values.</p>
8757
8758 <p>If you want to help out with implementing these things for Debian
8759 Edu, please contact us on debian-edu@lists.debian.org.</p>
8760
8761 </div>
8762 <div class="tags">
8763
8764
8765 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
8766
8767
8768 </div>
8769 </div>
8770 <div class="padding"></div>
8771
8772 <div class="entry">
8773 <div class="title">
8774 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu_roaming_workstation___at_the_university_of_Oslo.html">Debian Edu roaming workstation - at the university of Oslo</a>
8775 </div>
8776 <div class="date">
8777 3rd August 2010
8778 </div>
8779 <div class="body">
8780 <p>The new roaming workstation profile in Debian Edu/Squeeze is fairly
8781 similar to the laptop setup am I working on using Ubuntu for the
8782 University of Oslo, and just for the heck of it, I tested today how
8783 hard it would be to integrate that profile into the university
8784 infrastructure. In this case, it is the university LDAP server,
8785 Active Directory Kerberos server and SMB mounting from the Netapp file
8786 servers.</p>
8787
8788 <p>I was pleasantly surprised that the only three files needed to be
8789 changed (/etc/sssd/sssd.conf, /etc/ldap.conf and
8790 /etc/mklocaluser.d/20-debian-edu-config) and one file had to be added
8791 (/usr/share/perl5/Debian/Edu_Local.pm), to get the client working.
8792 Most of the changes were to get the client to use the university LDAP
8793 for NSS and Kerberos server for PAM, but one was to change a hard
8794 coded DNS domain name in the mklocaluser hook from .intern to
8795 .uio.no.</p>
8796
8797 <p>This testing was so encouraging, that I went ahead and adjusted the
8798 Debian Edu scripts and setup in subversion to centralise the roaming
8799 workstation setup a bit more and avoid the hardcoded DNS domain name,
8800 so that when I test this tomorrow, I expect to get away with modifying
8801 only /etc/sssd/sssd.conf and /etc/ldap.conf to get it to use the
8802 university servers.</p>
8803
8804 <p>My goal is to get the clients to have no hardcoded settings and
8805 fetch all their initial setup during installation and first boot, to
8806 allow them to be inserted also into environments where the default
8807 setup in Debian Edu has been changed or as with the university, where
8808 the environment is different but provides the protocols Debian Edu
8809 uses.</p>
8810
8811 </div>
8812 <div class="tags">
8813
8814
8815 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
8816
8817
8818 </div>
8819 </div>
8820 <div class="padding"></div>
8821
8822 <div class="entry">
8823 <div class="title">
8824 <a href="http://people.skolelinux.org/pere/blog/Circular_package_dependencies_harms_apt_recovery.html">Circular package dependencies harms apt recovery</a>
8825 </div>
8826 <div class="date">
8827 27th July 2010
8828 </div>
8829 <div class="body">
8830 <p>I discovered this while doing
8831 <a href="http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html">automated
8832 testing of upgrades from Debian Lenny to Squeeze</a>. A few packages
8833 in Debian still got circular dependencies, and it is often claimed
8834 that apt and aptitude should be able to handle this just fine, but
8835 some times these dependency loops causes apt to fail.</p>
8836
8837 <p>An example is from todays
8838 <a href="http://people.skolelinux.org/~pere/debian-upgrade-testing//test-20100727-lenny-squeeze-kde-aptitude.txt">upgrade
8839 of KDE using aptitude</a>. In it, a bug in kdebase-workspace-data
8840 causes perl-modules to fail to upgrade. The cause is simple. If a
8841 package fail to unpack, then only part of packages with the circular
8842 dependency might end up being unpacked when unpacking aborts, and the
8843 ones already unpacked will fail to configure in the recovery phase
8844 because its dependencies are unavailable.</p>
8845
8846 <p>In this log, the problem manifest itself with this error:</p>
8847
8848 <blockquote><pre>
8849 dpkg: dependency problems prevent configuration of perl-modules:
8850 perl-modules depends on perl (>= 5.10.1-1); however:
8851 Version of perl on system is 5.10.0-19lenny2.
8852 dpkg: error processing perl-modules (--configure):
8853 dependency problems - leaving unconfigured
8854 </pre></blockquote>
8855
8856 <p>The perl/perl-modules circular dependency is already
8857 <a href="http://bugs.debian.org/527917">reported as a bug</a>, and will
8858 hopefully be solved as soon as possible, but it is not the only one,
8859 and each one of these loops in the dependency tree can cause similar
8860 failures. Of course, they only occur when there are bugs in other
8861 packages causing the unpacking to fail, but it is rather nasty when
8862 the failure of one package causes the problem to become worse because
8863 of dependency loops.</p>
8864
8865 <p>Thanks to
8866 <a href="http://lists.debian.org/debian-devel/2010/06/msg00116.html">the
8867 tireless effort by Bill Allombert</a>, the number of circular
8868 dependencies
8869 <a href="http://debian.semistable.com/debgraph.out.html">left in Debian
8870 is dropping</a>, and perhaps it will reach zero one day. :)</p>
8871
8872 <p>Todays testing also exposed a bug in
8873 <a href="http://bugs.debian.org/590605">update-notifier</a> and
8874 <a href="http://bugs.debian.org/590604">different behaviour</a> between
8875 apt-get and aptitude, the latter possibly caused by some circular
8876 dependency. Reported both to BTS to try to get someone to look at
8877 it.</p>
8878
8879 </div>
8880 <div class="tags">
8881
8882
8883 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
8884
8885
8886 </div>
8887 </div>
8888 <div class="padding"></div>
8889
8890 <div class="entry">
8891 <div class="title">
8892 <a href="http://people.skolelinux.org/pere/blog/First_Debian_Edu_test_release__alpha0__based_on_Squeeze_is_released.html">First Debian Edu test release (alpha0) based on Squeeze is released</a>
8893 </div>
8894 <div class="date">
8895 27th July 2010
8896 </div>
8897 <div class="body">
8898 <p>I just posted this announcement culminating several months of work
8899 with the next Debian Edu release. Not nearly done, but one major step
8900 completed.</p>
8901
8902 <blockquote>
8903 <p>This is the first test release based on Squeeze. The focus of this
8904 release is to test the user application selection. To have a look,
8905 install the standalone profile and let the developers know if the set
8906 of installed packages i.e. applications should be modified. If some
8907 user application is missing, or if there are some applications that no
8908 longer make sense to be included in Debian Edu, please let us know.
8909 Also, if a useful application is missing the translation for your
8910 language of choice, please let us know too.</p>
8911
8912 <p>In addition, feedback and help to polish the desktop (menus,
8913 artwork, starters, etc.) is appreciated. We would like to ship a nice
8914 and handy KDE4 desktop targeted for schools out of the box.</p>
8915
8916 <p>The other profiles should be installable, but there is a lot more
8917 work left to be done before they are ready, so do not expect to
8918 much.</p>
8919
8920 <p>Changes compared to the lenny based version</p>
8921
8922 <ul>
8923 <li>Everything from Debian Squeeze
8924 <ul>
8925 <li>Desktop environment KDE 4.4 => the new KDE desktop in
8926 combination with some new artwork
8927 <li>Web browser Iceweasel 3.5
8928 <li>OpenOffice.org 3.2
8929 <li>Educational toolbox GCompris 9.3
8930 <li>Music creator Rosegarden 10.04.2
8931 <li>Image editor Gimp 2.6.10
8932 <li>Virtual universe Celestia 1.6.0
8933 <li>Virtual stargazer Stellarium 0.10.4
8934 <li>3D modeler Blender 2.49.2 (new application)
8935 <li>Video editor Kdenlive 0.7.7 (new application)
8936 </ul></li>
8937 <li>Now using Kerberos for password checking (migration not finished).
8938 Enabled for:
8939 <ul>
8940 <li>PAM
8941 <li>LDAP
8942 <li>IMAP
8943 <li>SMTP (sender verification)
8944 </ul>
8945 </li>
8946 <li>New experimental roaming workstation profile for laptops.</li>
8947 <li>Show welcome page to users when they first log in. The URL is
8948 fetched from LDAP.</li>
8949 <li>New LXDE desktop option, in addition to KDE (default) and Gnome.</li>
8950 <li>General cleanup (not finished)</li>
8951 </ul>
8952 <p>The following features are not working as they should</p>
8953
8954 <ul>
8955 <li>No web based administration tool for creating users and groups. The
8956 scripts ldap-createuser-krb and ldap-add-user-to-group can be used
8957 for testing.</li>
8958 <li>DVD installs are missing debian-installer images for the PXE boot,
8959 and do not set up the PXE menu on eth0 because of this. LTSP
8960 clients should still boot from eth1 on thin client servers.</li>
8961 <li>The restructured KDE menu is not implemented.</li>
8962 <li>The LDAP server setup need to be reviewed for security.</li>
8963 <li>The LDAP directory structure need to be reworked.</li>
8964 <li>Different sets of packages are installed when using the DVD and the
8965 netinst CD. More packages are installed using the netinst CD.</li>
8966 <li>The jackd package fail to install. This is believed to be caused by
8967 some ongoing transition, and hopefully should be solved soon. The
8968 jackd1 package can be installed manually for those that need it.</li>
8969 <li>Some packages lack translations. See
8970 http://wiki.debian.org/DebianEdu/Status/Squeeze for updated status,
8971 and help out with translations.</li>
8972 </ul>
8973
8974 <p>To download this multiarch netinstall release you can use</p>
8975
8976 <ul>
8977 <li><a href="ftp://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso">ftp://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso</a></li>
8978 <li><a href="http://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso">http://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso</a></li>
8979 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-CD.iso</li>
8980 </ul>
8981 <p>To download this multiarch dvd release you can use</p>
8982
8983 <ul>
8984 <li><a href="ftp://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso">ftp://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso</a></li>
8985 <li><a href="http://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso">http://ftp.skolelinux.org/skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso</a></li>
8986 <li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/squeeze-alpha/debian-edu-6.0.0+edua0-DVD.iso</li>
8987 </ul>
8988
8989 <p>There is no source DVD available yet. It will be prepared when we
8990 get closer to the final release.</p>
8991
8992 <p>The MD5SUM of these images are</p>
8993
8994 <ul>
8995 <li>3dbf45d59f42a53518b6e3c9ec3b5eb6 debian-edu-6.0.0+edua0-CD.iso</li>
8996 <li>22f2cbfce281d1c6e478be452638675d debian-edu-6.0.0+edua0-DVD.iso</li>
8997 </ul>
8998
8999 <p>The SHA1SUM of these images are</p>
9000 <ul>
9001 <li>c53d1b69b40cf37cd27aefaf33f6f6a3821bedf0 debian-edu-6.0.0+edua0-CD.iso</li>
9002 <li>2ec29d7db676d59d32197b05c277ffe16348376c debian-edu-6.0.0+edua0-DVD.iso</li>
9003 </ul>
9004 <p>How to report bugs:
9005 http://wiki.debian.org/DebianEdu/HowTo/ReportBugsInBugzilla</p>
9006
9007 <p>Please direct replies to debian-edu@lists.debian.org</p>
9008 </blockquote>
9009
9010 </div>
9011 <div class="tags">
9012
9013
9014 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
9015
9016
9017 </div>
9018 </div>
9019 <div class="padding"></div>
9020
9021 <div class="entry">
9022 <div class="title">
9023 <a href="http://people.skolelinux.org/pere/blog/One_step_closer_to_single_signon_in_Debian_Edu.html">One step closer to single signon in Debian Edu</a>
9024 </div>
9025 <div class="date">
9026 25th July 2010
9027 </div>
9028 <div class="body">
9029 <p>The last few months me and the other Debian Edu developers have
9030 been working hard to get the Debian/Squeeze based version of Debian
9031 Edu/Skolelinux into shape. This future version will use Kerberos for
9032 authentication, and services are slowly migrated to single signon,
9033 getting rid of password questions one at the time.</p>
9034
9035 <p>It will also feature a roaming workstation profile with local home
9036 directory, for laptops that are only some times on the Skolelinux
9037 network, and for this profile a shortcut is created in Gnome and KDE
9038 to gain access to the users home directory on the file server. This
9039 shortcut uses SMB at the moment, and yesterday I had time to test if
9040 SMB mounting had started working in KDE after we added the cifs-utils
9041 package. I was pleasantly surprised how well it worked.</p>
9042
9043 <p>Thanks to the recent changes to our samba configuration to get it
9044 to use Kerberos for authentication, there were no question about user
9045 password when mounting the SMB volume. A simple click on the shortcut
9046 in the KDE menu, and a window with the home directory popped
9047 up. :)</p>
9048
9049 <p>One step closer to a single signon solution out of the box in
9050 Debian Edu. We already had PAM, LDAP, IMAP and SMTP in place, and now
9051 also Samba. Next step is Cups and hopefully also NFS.</p>
9052
9053 <p>We had planned a alpha0 release of Debian Edu for today, but thanks
9054 to the autobuilder administrators for some architectures being slow to
9055 sign packages, we are still missing the fixed LTSP package we need for
9056 the release. It was uploaded three days ago with urgency=high, and if
9057 it had entered testing yesterday we would have been able to test it in
9058 time for a alpha0 release today. As the binaries for ia64 and powerpc
9059 still not uploaded to the Debian archive, we need to delay the alpha
9060 release another day.</p>
9061
9062 <p>If you want to help out with implementing Kerberos for Debian Edu,
9063 please contact us on debian-edu@lists.debian.org.</p>
9064
9065 </div>
9066 <div class="tags">
9067
9068
9069 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet</a>.
9070
9071
9072 </div>
9073 </div>
9074 <div class="padding"></div>
9075
9076 <div class="entry">
9077 <div class="title">
9078 <a href="http://people.skolelinux.org/pere/blog/OpenStreetmap_one_step_closer_to_having_routing_on_its_front_page.html">OpenStreetmap one step closer to having routing on its front page</a>
9079 </div>
9080 <div class="date">
9081 18th July 2010
9082 </div>
9083 <div class="body">
9084 <p>Thanks to
9085 <a href="http://feedproxy.google.com/~r/Opengeodata/~3/wUTCzDZk3lc/project-of-the-week-which-way-home">todays
9086 opengeodata blog entry</a>, I just discovered that the
9087 OpenStreetmap.org site have gotten
9088 <a href="http://nroets.dev.openstreetmap.org/demo/index.html?layers=B000FTFTT">support
9089 for calculating routes</a>. The support is still experimental and
9090 only available from the development server, until more experience is
9091 gathered on the user interface and any scalability issues.</p>
9092
9093 <p>Earlier, the routing I knew about using the OpenStreetmap.org data
9094 was provided by <a href="http://maps.cloudmade.com/">Cloudmade</a>,
9095 but having it on the main page is required to make everyone aware of
9096 the issue. I've had people reject Openstreetmap.org as a viable
9097 alternative for them because the front page lacked routing support,
9098 and I hope their needs will be catered for when routing show up on the
9099 www.openstreetmap.org front page.</p>
9100
9101 </div>
9102 <div class="tags">
9103
9104
9105 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/kart">kart</a>, <a href="http://people.skolelinux.org/pere/blog/tags/web">web</a>.
9106
9107
9108 </div>
9109 </div>
9110 <div class="padding"></div>
9111
9112 <div class="entry">
9113 <div class="title">
9114 <a href="http://people.skolelinux.org/pere/blog/What_are_they_searching_for___PowerDNS_and_ISC_DHCP_in_LDAP.html">What are they searching for - PowerDNS and ISC DHCP in LDAP</a>
9115 </div>
9116 <div class="date">
9117 17th July 2010
9118 </div>
9119 <div class="body">
9120 <p>This is a
9121 <a href="http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html">followup</a>
9122 on my
9123 <a href="http://people.skolelinux.org/pere/blog/Idea_for_a_change_to_LDAP_schemas_allowing_DNS_and_DHCP_info_to_be_combined_into_one_object.html">previous
9124 work</a> on
9125 <a href="http://people.skolelinux.org/pere/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html">merging
9126 all</a> the computer related LDAP objects in Debian Edu.</p>
9127
9128 <p>As a step to try to see if it possible to merge the DNS and DHCP
9129 LDAP objects, I have had a look at how the packages pdns-backend-ldap
9130 and dhcp3-server-ldap in Debian use the LDAP server. The two
9131 implementations are quite different in how they use LDAP.</p>
9132
9133 To get this information, I started slapd with debugging enabled and
9134 dumped the debug output to a file to get the LDAP searches performed
9135 on a Debian Edu main-server. Here is a summary.
9136
9137 <p><strong>powerdns</strong></p>
9138
9139 <a href="http://www.linuxnetworks.de/doc/index.php/PowerDNS_LDAP_Backend">Clues
9140 on how to</a> set up PowerDNS to use a LDAP backend is available on
9141 the web.
9142
9143 <p>PowerDNS have two modes of operation using LDAP as its backend.
9144 One "strict" mode where the forward and reverse DNS lookups are done
9145 using the same LDAP objects, and a "tree" mode where the forward and
9146 reverse entries are in two different subtrees in LDAP with a structure
9147 based on the DNS names, as in tjener.intern and
9148 2.2.0.10.in-addr.arpa.</p>
9149
9150 <p>In tree mode, the server is set up to use a LDAP subtree as its
9151 base, and uses a "base" scoped search for the DNS name by adding
9152 "dc=tjener,dc=intern," to the base with a filter for
9153 "(associateddomain=tjener.intern)" for the forward entry and
9154 "dc=2,dc=2,dc=0,dc=10,dc=in-addr,dc=arpa," with a filter for
9155 "(associateddomain=2.2.0.10.in-addr.arpa)" for the reverse entry. For
9156 forward entries, it is looking for attributes named dnsttl, arecord,
9157 nsrecord, cnamerecord, soarecord, ptrrecord, hinforecord, mxrecord,
9158 txtrecord, rprecord, afsdbrecord, keyrecord, aaaarecord, locrecord,
9159 srvrecord, naptrrecord, kxrecord, certrecord, dsrecord, sshfprecord,
9160 ipseckeyrecord, rrsigrecord, nsecrecord, dnskeyrecord, dhcidrecord,
9161 spfrecord and modifytimestamp. For reverse entries it is looking for
9162 the attributes dnsttl, arecord, nsrecord, cnamerecord, soarecord,
9163 ptrrecord, hinforecord, mxrecord, txtrecord, rprecord, aaaarecord,
9164 locrecord, srvrecord, naptrrecord and modifytimestamp. The equivalent
9165 ldapsearch commands could look like this:</p>
9166
9167 <blockquote><pre>
9168 ldapsearch -h ldap \
9169 -b dc=tjener,dc=intern,ou=hosts,dc=skole,dc=skolelinux,dc=no \
9170 -s base -x '(associateddomain=tjener.intern)' dNSTTL aRecord nSRecord \
9171 cNAMERecord sOARecord pTRRecord hInfoRecord mXRecord tXTRecord \
9172 rPRecord aFSDBRecord KeyRecord aAAARecord lOCRecord sRVRecord \
9173 nAPTRRecord kXRecord certRecord dSRecord sSHFPRecord iPSecKeyRecord \
9174 rRSIGRecord nSECRecord dNSKeyRecord dHCIDRecord sPFRecord modifyTimestamp
9175
9176 ldapsearch -h ldap \
9177 -b dc=2,dc=2,dc=0,dc=10,dc=in-addr,dc=arpa,ou=hosts,dc=skole,dc=skolelinux,dc=no \
9178 -s base -x '(associateddomain=2.2.0.10.in-addr.arpa)'
9179 dnsttl, arecord, nsrecord, cnamerecord soarecord ptrrecord \
9180 hinforecord mxrecord txtrecord rprecord aaaarecord locrecord \
9181 srvrecord naptrrecord modifytimestamp
9182 </pre></blockquote>
9183
9184 <p>In Debian Edu/Lenny, the PowerDNS tree mode is used with
9185 ou=hosts,dc=skole,dc=skolelinux,dc=no as the base, and these are two
9186 example LDAP objects used there. In addition to these objects, the
9187 parent objects all th way up to ou=hosts,dc=skole,dc=skolelinux,dc=no
9188 also exist.</p>
9189
9190 <blockquote><pre>
9191 dn: dc=tjener,dc=intern,ou=hosts,dc=skole,dc=skolelinux,dc=no
9192 objectclass: top
9193 objectclass: dnsdomain
9194 objectclass: domainrelatedobject
9195 dc: tjener
9196 arecord: 10.0.2.2
9197 associateddomain: tjener.intern
9198
9199 dn: dc=2,dc=2,dc=0,dc=10,dc=in-addr,dc=arpa,ou=hosts,dc=skole,dc=skolelinux,dc=no
9200 objectclass: top
9201 objectclass: dnsdomain2
9202 objectclass: domainrelatedobject
9203 dc: 2
9204 ptrrecord: tjener.intern
9205 associateddomain: 2.2.0.10.in-addr.arpa
9206 </pre></blockquote>
9207
9208 <p>In strict mode, the server behaves differently. When looking for
9209 forward DNS entries, it is doing a "subtree" scoped search with the
9210 same base as in the tree mode for a object with filter
9211 "(associateddomain=tjener.intern)" and requests the attributes dnsttl,
9212 arecord, nsrecord, cnamerecord, soarecord, ptrrecord, hinforecord,
9213 mxrecord, txtrecord, rprecord, aaaarecord, locrecord, srvrecord,
9214 naptrrecord and modifytimestamp. For reverse entires it also do a
9215 subtree scoped search but this time the filter is "(arecord=10.0.2.2)"
9216 and the requested attributes are associateddomain, dnsttl and
9217 modifytimestamp. In short, in strict mode the objects with ptrrecord
9218 go away, and the arecord attribute in the forward object is used
9219 instead.</p>
9220
9221 <p>The forward and reverse searches can be simulated using ldapsearch
9222 like this:</p>
9223
9224 <blockquote><pre>
9225 ldapsearch -h ldap -b ou=hosts,dc=skole,dc=skolelinux,dc=no -s sub -x \
9226 '(associateddomain=tjener.intern)' dNSTTL aRecord nSRecord \
9227 cNAMERecord sOARecord pTRRecord hInfoRecord mXRecord tXTRecord \
9228 rPRecord aFSDBRecord KeyRecord aAAARecord lOCRecord sRVRecord \
9229 nAPTRRecord kXRecord certRecord dSRecord sSHFPRecord iPSecKeyRecord \
9230 rRSIGRecord nSECRecord dNSKeyRecord dHCIDRecord sPFRecord modifyTimestamp
9231
9232 ldapsearch -h ldap -b ou=hosts,dc=skole,dc=skolelinux,dc=no -s sub -x \
9233 '(arecord=10.0.2.2)' associateddomain dnsttl modifytimestamp
9234 </pre></blockquote>
9235
9236 <p>In addition to the forward and reverse searches , there is also a
9237 search for SOA records, which behave similar to the forward and
9238 reverse lookups.</p>
9239
9240 <p>A thing to note with the PowerDNS behaviour is that it do not
9241 specify any objectclass names, and instead look for the attributes it
9242 need to generate a DNS reply. This make it able to work with any
9243 objectclass that provide the needed attributes.</p>
9244
9245 <p>The attributes are normally provided in the cosine (RFC 1274) and
9246 dnsdomain2 schemas. The latter is used for reverse entries like
9247 ptrrecord and recent DNS additions like aaaarecord and srvrecord.</p>
9248
9249 <p>In Debian Edu, we have created DNS objects using the object classes
9250 dcobject (for dc), dnsdomain or dnsdomain2 (structural, for the DNS
9251 attributes) and domainrelatedobject (for associatedDomain). The use
9252 of structural object classes make it impossible to combine these
9253 classes with the object classes used by DHCP.</p>
9254
9255 <p>There are other schemas that could be used too, for example the
9256 dnszone structural object class used by Gosa and bind-sdb for the DNS
9257 attributes combined with the domainrelatedobject object class, but in
9258 this case some unused attributes would have to be included as well
9259 (zonename and relativedomainname).</p>
9260
9261 <p>My proposal for Debian Edu would be to switch PowerDNS to strict
9262 mode and not use any of the existing objectclasses (dnsdomain,
9263 dnsdomain2 and dnszone) when one want to combine the DNS information
9264 with DHCP information, and instead create a auxiliary object class
9265 defined something like this (using the attributes defined for
9266 dnsdomain and dnsdomain2 or dnszone):</p>
9267
9268 <blockquote><pre>
9269 objectclass ( some-oid NAME 'dnsDomainAux'
9270 SUP top
9271 AUXILIARY
9272 MAY ( ARecord $ MDRecord $ MXRecord $ NSRecord $ SOARecord $ CNAMERecord $
9273 DNSTTL $ DNSClass $ PTRRecord $ HINFORecord $ MINFORecord $
9274 TXTRecord $ SIGRecord $ KEYRecord $ AAAARecord $ LOCRecord $
9275 NXTRecord $ SRVRecord $ NAPTRRecord $ KXRecord $ CERTRecord $
9276 A6Record $ DNAMERecord
9277 ))
9278 </pre></blockquote>
9279
9280 <p>This will allow any object to become a DNS entry when combined with
9281 the domainrelatedobject object class, and allow any entity to include
9282 all the attributes PowerDNS wants. I've sent an email to the PowerDNS
9283 developers asking for their view on this schema and if they are
9284 interested in providing such schema with PowerDNS, and I hope my
9285 message will be accepted into their mailing list soon.</p>
9286
9287 <p><strong>ISC dhcp</strong></p>
9288
9289 <p>The DHCP server searches for specific objectclass and requests all
9290 the object attributes, and then uses the attributes it want. This
9291 make it harder to figure out exactly what attributes are used, but
9292 thanks to the working example in Debian Edu I can at least get an idea
9293 what is needed without having to read the source code.</p>
9294
9295 <p>In the DHCP server configuration, the LDAP base to use and the
9296 search filter to use to locate the correct dhcpServer entity is
9297 stored. These are the relevant entries from
9298 /etc/dhcp3/dhcpd.conf:</p>
9299
9300 <blockquote><pre>
9301 ldap-base-dn "dc=skole,dc=skolelinux,dc=no";
9302 ldap-dhcp-server-cn "dhcp";
9303 </pre></blockquote>
9304
9305 <p>The DHCP server uses this information to nest all the DHCP
9306 configuration it need. The cn "dhcp" is located using the given LDAP
9307 base and the filter "(&(objectClass=dhcpServer)(cn=dhcp))". The
9308 search result is this entry:</p>
9309
9310 <blockquote><pre>
9311 dn: cn=dhcp,dc=skole,dc=skolelinux,dc=no
9312 cn: dhcp
9313 objectClass: top
9314 objectClass: dhcpServer
9315 dhcpServiceDN: cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
9316 </pre></blockquote>
9317
9318 <p>The content of the dhcpServiceDN attribute is next used to locate the
9319 subtree with DHCP configuration. The DHCP configuration subtree base
9320 is located using a base scope search with base "cn=DHCP
9321 Config,dc=skole,dc=skolelinux,dc=no" and filter
9322 "(&(objectClass=dhcpService)(|(dhcpPrimaryDN=cn=dhcp,dc=skole,dc=skolelinux,dc=no)(dhcpSecondaryDN=cn=dhcp,dc=skole,dc=skolelinux,dc=no)))".
9323 The search result is this entry:</p>
9324
9325 <blockquote><pre>
9326 dn: cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
9327 cn: DHCP Config
9328 objectClass: top
9329 objectClass: dhcpService
9330 objectClass: dhcpOptions
9331 dhcpPrimaryDN: cn=dhcp, dc=skole,dc=skolelinux,dc=no
9332 dhcpStatements: ddns-update-style none
9333 dhcpStatements: authoritative
9334 dhcpOption: smtp-server code 69 = array of ip-address
9335 dhcpOption: www-server code 72 = array of ip-address
9336 dhcpOption: wpad-url code 252 = text
9337 </pre></blockquote>
9338
9339 <p>Next, the entire subtree is processed, one level at the time. When
9340 all the DHCP configuration is loaded, it is ready to receive requests.
9341 The subtree in Debian Edu contain objects with object classes
9342 top/dhcpService/dhcpOptions, top/dhcpSharedNetwork/dhcpOptions,
9343 top/dhcpSubnet, top/dhcpGroup and top/dhcpHost. These provide options
9344 and information about netmasks, dynamic range etc. Leaving out the
9345 details here because it is not relevant for the focus of my
9346 investigation, which is to see if it is possible to merge dns and dhcp
9347 related computer objects.</p>
9348
9349 <p>When a DHCP request come in, LDAP is searched for the MAC address
9350 of the client (00:00:00:00:00:00 in this example), using a subtree
9351 scoped search with "cn=DHCP Config,dc=skole,dc=skolelinux,dc=no" as
9352 the base and "(&(objectClass=dhcpHost)(dhcpHWAddress=ethernet
9353 00:00:00:00:00:00))" as the filter. This is what a host object look
9354 like:</p>
9355
9356 <blockquote><pre>
9357 dn: cn=hostname,cn=group1,cn=THINCLIENTS,cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
9358 cn: hostname
9359 objectClass: top
9360 objectClass: dhcpHost
9361 dhcpHWAddress: ethernet 00:00:00:00:00:00
9362 dhcpStatements: fixed-address hostname
9363 </pre></blockquote>
9364
9365 <p>There is less flexiblity in the way LDAP searches are done here.
9366 The object classes need to have fixed names, and the configuration
9367 need to be stored in a fairly specific LDAP structure. On the
9368 positive side, the invidiual dhcpHost entires can be anywhere without
9369 the DN pointed to by the dhcpServer entries. The latter should make
9370 it possible to group all host entries in a subtree next to the
9371 configuration entries, and this subtree can also be shared with the
9372 DNS server if the schema proposed above is combined with the dhcpHost
9373 structural object class.
9374
9375 <p><strong>Conclusion</strong></p>
9376
9377 <p>The PowerDNS implementation seem to be very flexible when it come
9378 to which LDAP schemas to use. While its "tree" mode is rigid when it
9379 come to the the LDAP structure, the "strict" mode is very flexible,
9380 allowing DNS objects to be stored anywhere under the base cn specified
9381 in the configuration.</p>
9382
9383 <p>The DHCP implementation on the other hand is very inflexible, both
9384 regarding which LDAP schemas to use and which LDAP structure to use.
9385 I guess one could implement ones own schema, as long as the
9386 objectclasses and attributes have the names used, but this do not
9387 really help when the DHCP subtree need to have a fairly fixed
9388 structure.</p>
9389
9390 <p>Based on the observed behaviour, I suspect a LDAP structure like
9391 this might work for Debian Edu:</p>
9392
9393 <blockquote><pre>
9394 ou=services
9395 cn=machine-info (dhcpService) - dhcpServiceDN points here
9396 cn=dhcp (dhcpServer)
9397 cn=dhcp-internal (dhcpSharedNetwork/dhcpOptions)
9398 cn=10.0.2.0 (dhcpSubnet)
9399 cn=group1 (dhcpGroup/dhcpOptions)
9400 cn=dhcp-thinclients (dhcpSharedNetwork/dhcpOptions)
9401 cn=192.168.0.0 (dhcpSubnet)
9402 cn=group1 (dhcpGroup/dhcpOptions)
9403 ou=machines - PowerDNS base points here
9404 cn=hostname (dhcpHost/domainrelatedobject/dnsDomainAux)
9405 </pre></blockquote>
9406
9407 <P>This is not tested yet. If the DHCP server require the dhcpHost
9408 entries to be in the dhcpGroup subtrees, the entries can be stored
9409 there instead of a common machines subtree, and the PowerDNS base
9410 would have to be moved one level up to the machine-info subtree.</p>
9411
9412 <p>The combined object under the machines subtree would look something
9413 like this:</p>
9414
9415 <blockquote><pre>
9416 dn: dc=hostname,ou=machines,cn=machine-info,dc=skole,dc=skolelinux,dc=no
9417 dc: hostname
9418 objectClass: top
9419 objectClass: dhcpHost
9420 objectclass: domainrelatedobject
9421 objectclass: dnsDomainAux
9422 associateddomain: hostname.intern
9423 arecord: 10.11.12.13
9424 dhcpHWAddress: ethernet 00:00:00:00:00:00
9425 dhcpStatements: fixed-address hostname.intern
9426 </pre></blockquote>
9427
9428 </p>One could even add the LTSP configuration associated with a given
9429 machine, as long as the required attributes are available in a
9430 auxiliary object class.</p>
9431
9432 </div>
9433 <div class="tags">
9434
9435
9436 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
9437
9438
9439 </div>
9440 </div>
9441 <div class="padding"></div>
9442
9443 <div class="entry">
9444 <div class="title">
9445 <a href="http://people.skolelinux.org/pere/blog/Combining_PowerDNS_and_ISC_DHCP_LDAP_objects.html">Combining PowerDNS and ISC DHCP LDAP objects</a>
9446 </div>
9447 <div class="date">
9448 14th July 2010
9449 </div>
9450 <div class="body">
9451 <p>For a while now, I have wanted to find a way to change the DNS and
9452 DHCP services in Debian Edu to use the same LDAP objects for a given
9453 computer, to avoid the possibility of having a inconsistent state for
9454 a computer in LDAP (as in DHCP but no DNS entry or the other way
9455 around) and make it easier to add computers to LDAP.</p>
9456
9457 <p>I've looked at how powerdns and dhcpd is using LDAP, and using this
9458 information finally found a solution that seem to work.</p>
9459
9460 <p>The old setup required three LDAP objects for a given computer.
9461 One forward DNS entry, one reverse DNS entry and one DHCP entry. If
9462 we switch powerdns to use its strict LDAP method (ldap-method=strict
9463 in pdns-debian-edu.conf), the forward and reverse DNS entries are
9464 merged into one while making it impossible to transfer the reverse map
9465 to a slave DNS server.</p>
9466
9467 <p>If we also replace the object class used to get the DNS related
9468 attributes to one allowing these attributes to be combined with the
9469 dhcphost object class, we can merge the DNS and DHCP entries into one.
9470 I've written such object class in the dnsdomainaux.schema file (need
9471 proper OIDs, but that is a minor issue), and tested the setup. It
9472 seem to work.</p>
9473
9474 <p>With this test setup in place, we can get away with one LDAP object
9475 for both DNS and DHCP, and even the LTSP configuration I suggested in
9476 an earlier email. The combined LDAP object will look something like
9477 this:</p>
9478
9479 <blockquote><pre>
9480 dn: cn=hostname,cn=group1,cn=THINCLIENTS,cn=DHCP Config,dc=skole,dc=skolelinux,dc=no
9481 cn: hostname
9482 objectClass: dhcphost
9483 objectclass: domainrelatedobject
9484 objectclass: dnsdomainaux
9485 associateddomain: hostname.intern
9486 arecord: 10.11.12.13
9487 dhcphwaddress: ethernet 00:00:00:00:00:00
9488 dhcpstatements: fixed-address hostname
9489 ldapconfigsound: Y
9490 </pre></blockquote>
9491
9492 <p>The DNS server uses the associateddomain and arecord entries, while
9493 the DHCP server uses the dhcphwaddress and dhcpstatements entries
9494 before asking DNS to resolve the fixed-adddress. LTSP will use
9495 dhcphwaddress or associateddomain and the ldapconfig* attributes.</p>
9496
9497 <p>I am not yet sure if I can get the DHCP server to look for its
9498 dhcphost in a different location, to allow us to put the objects
9499 outside the "DHCP Config" subtree, but hope to figure out a way to do
9500 that. If I can't figure out a way to do that, we can still get rid of
9501 the hosts subtree and move all its content into the DHCP Config tree
9502 (which probably should be renamed to be more related to the new
9503 content. I suspect cn=dnsdhcp,ou=services or something like that
9504 might be a good place to put it.</p>
9505
9506 <p>If you want to help out with implementing this for Debian Edu,
9507 please contact us on debian-edu@lists.debian.org.</p>
9508
9509 </div>
9510 <div class="tags">
9511
9512
9513 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
9514
9515
9516 </div>
9517 </div>
9518 <div class="padding"></div>
9519
9520 <div class="entry">
9521 <div class="title">
9522 <a href="http://people.skolelinux.org/pere/blog/Idea_for_storing_LTSP_configuration_in_LDAP.html">Idea for storing LTSP configuration in LDAP</a>
9523 </div>
9524 <div class="date">
9525 11th July 2010
9526 </div>
9527 <div class="body">
9528 <p>Vagrant mentioned on IRC today that ltsp_config now support
9529 sourcing files from /usr/share/ltsp/ltsp_config.d/ on the thin
9530 clients, and that this can be used to fetch configuration from LDAP if
9531 Debian Edu choose to store configuration there.</p>
9532
9533 <p>Armed with this information, I got inspired and wrote a test module
9534 to get configuration from LDAP. The idea is to look up the MAC
9535 address of the client in LDAP, and look for attributes on the form
9536 ltspconfigsetting=value, and use this to export SETTING=value to the
9537 LTSP clients.</p>
9538
9539 <p>The goal is to be able to store the LTSP configuration attributes
9540 in a "computer" LDAP object used by both DNS and DHCP, and thus
9541 allowing us to store all information about a computer in one place.</p>
9542
9543 <p>This is a untested draft implementation, and I welcome feedback on
9544 this approach. A real LDAP schema for the ltspClientAux objectclass
9545 need to be written. Comments, suggestions, etc?</p>
9546
9547 <blockquote><pre>
9548 # Store in /opt/ltsp/$arch/usr/share/ltsp/ltsp_config.d/ldap-config
9549 #
9550 # Fetch LTSP client settings from LDAP based on MAC address
9551 #
9552 # Uses ethernet address as stored in the dhcpHost objectclass using
9553 # the dhcpHWAddress attribute or ethernet address stored in the
9554 # ieee802Device objectclass with the macAddress attribute.
9555 #
9556 # This module is written to be schema agnostic, and only depend on the
9557 # existence of attribute names.
9558 #
9559 # The LTSP configuration variables are saved directly using a
9560 # ltspConfig prefix and uppercasing the rest of the attribute name.
9561 # To set the SERVER variable, set the ltspConfigServer attribute.
9562 #
9563 # Some LDAP schema should be created with all the relevant
9564 # configuration settings. Something like this should work:
9565 #
9566 # objectclass ( 1.1.2.2 NAME 'ltspClientAux'
9567 # SUP top
9568 # AUXILIARY
9569 # MAY ( ltspConfigServer $ ltsConfigSound $ ... )
9570
9571 LDAPSERVER=$(debian-edu-ldapserver)
9572 if [ "$LDAPSERVER" ] ; then
9573 LDAPBASE=$(debian-edu-ldapserver -b)
9574 for MAC in $(LANG=C ifconfig |grep -i hwaddr| awk '{print $5}'|sort -u) ; do
9575 filter="(|(dhcpHWAddress=ethernet $MAC)(macAddress=$MAC))"
9576 ldapsearch -h "$LDAPSERVER" -b "$LDAPBASE" -v -x "$filter" | \
9577 grep '^ltspConfig' | while read attr value ; do
9578 # Remove prefix and convert to upper case
9579 attr=$(echo $attr | sed 's/^ltspConfig//i' | tr a-z A-Z)
9580 # bass value on to clients
9581 eval "$attr=$value; export $attr"
9582 done
9583 done
9584 fi
9585 </pre></blockquote>
9586
9587 <p>I'm not sure this shell construction will work, because I suspect
9588 the while block might end up in a subshell causing the variables set
9589 there to not show up in ltsp-config, but if that is the case I am sure
9590 the code can be restructured to make sure the variables are passed on.
9591 I expect that can be solved with some testing. :)</p>
9592
9593 <p>If you want to help out with implementing this for Debian Edu,
9594 please contact us on debian-edu@lists.debian.org.</p>
9595
9596 <p>Update 2010-07-17: I am aware of another effort to store LTSP
9597 configuration in LDAP that was created around year 2000 by
9598 <a href="http://www.pcxperience.com/thinclient/documentation/ldap.html">PC
9599 Xperience, Inc., 2000</a>. I found its
9600 <a href="http://people.redhat.com/alikins/ltsp/ldap/">files</a> on a
9601 personal home page over at redhat.com.</p>
9602
9603 </div>
9604 <div class="tags">
9605
9606
9607 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
9608
9609
9610 </div>
9611 </div>
9612 <div class="padding"></div>
9613
9614 <div class="entry">
9615 <div class="title">
9616 <a href="http://people.skolelinux.org/pere/blog/jXplorer__a_very_nice_LDAP_GUI.html">jXplorer, a very nice LDAP GUI</a>
9617 </div>
9618 <div class="date">
9619 9th July 2010
9620 </div>
9621 <div class="body">
9622 <p>Since
9623 <a href="http://people.skolelinux.org/pere/blog/LUMA__a_very_nice_LDAP_GUI.html">my
9624 last post</a> about available LDAP tools in Debian, I was told about a
9625 LDAP GUI that is even better than luma. The java application
9626 <a href="http://jxplorer.org/">jXplorer</a> is claimed to be capable of
9627 moving LDAP objects and subtrees using drag-and-drop, and can
9628 authenticate using Kerberos. I have only tested the Kerberos
9629 authentication, but do not have a LDAP setup allowing me to rewrite
9630 LDAP with my test user yet. It is
9631 <a href="http://packages.qa.debian.org/j/jxplorer.html">available in
9632 Debian</a> testing and unstable at the moment. The only problem I
9633 have with it is how it handle errors. If something go wrong, its
9634 non-intuitive behaviour require me to go through some query work list
9635 and remove the failing query. Nothing big, but very annoying.</p>
9636
9637 </div>
9638 <div class="tags">
9639
9640
9641 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
9642
9643
9644 </div>
9645 </div>
9646 <div class="padding"></div>
9647
9648 <div class="entry">
9649 <div class="title">
9650 <a href="http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__apt_vs_aptitude_with_the_Gnome_desktop.html">Lenny->Squeeze upgrades, apt vs aptitude with the Gnome desktop</a>
9651 </div>
9652 <div class="date">
9653 3rd July 2010
9654 </div>
9655 <div class="body">
9656 <p>Here is a short update on my <a
9657 href="http://people.skolelinux.org/~pere/debian-upgrade-testing/">my
9658 Debian Lenny->Squeeze upgrade testing</a>. Here is a summary of the
9659 difference for Gnome when it is upgraded by apt-get and aptitude. I'm
9660 not reporting the status for KDE, because the upgrade crashes when
9661 aptitude try because of missing conflicts
9662 (<a href="http://bugs.debian.org/584861">#584861</a> and
9663 <a href="http://bugs.debian.org/585716">#585716</a>).</p>
9664
9665 <p>At the end of the upgrade test script, dpkg -l is executed to get a
9666 complete list of the installed packages. Based on this I see these
9667 differences when I did a test run today. As usual, I do not really
9668 know what the correct set of packages would be, but thought it best to
9669 publish the difference.</p>
9670
9671 <p>Installed using apt-get, missing with aptitude</p>
9672
9673 <blockquote><p>
9674 at-spi cpp-4.3 finger gnome-spell gstreamer0.10-gnomevfs
9675 libatspi1.0-0 libcupsys2 libeel2-data libgail-common libgdl-1-common
9676 libgnomeprint2.2-data libgnomeprintui2.2-common libgnomevfs2-bin
9677 libgtksourceview-common libpt-1.10.10-plugins-alsa
9678 libpt-1.10.10-plugins-v4l libservlet2.4-java libxalan2-java
9679 libxerces2-java openoffice.org-writer2latex openssl-blacklist p7zip
9680 python-4suite-xml python-eggtrayicon python-gtkhtml2
9681 python-gtkmozembed svgalibg1 xserver-xephyr zip
9682 </p></blockquote>
9683
9684 <p>Installed using apt-get, removed with aptitude</p>
9685
9686 <blockquote><p>
9687 bluez-utils dhcdbd djvulibre-desktop epiphany-gecko
9688 gnome-app-install gnome-mount gnome-vfs-obexftp gnome-volume-manager
9689 libao2 libavahi-compat-libdnssd1 libavahi-core5 libbind9-50
9690 libbluetooth2 libcamel1.2-11 libcdio7 libcucul0 libcurl3
9691 libdirectfb-1.0-0 libdvdread3 libedata-cal1.2-6 libedataserver1.2-9
9692 libeel2-2.20 libepc-1.0-1 libepc-ui-1.0-1 libexchange-storage1.2-3
9693 libfaad0 libgd2-noxpm libgda3-3 libgda3-common libggz2 libggzcore9
9694 libggzmod4 libgksu1.2-0 libgksuui1.0-1 libgmyth0 libgnome-desktop-2
9695 libgnome-pilot2 libgnomecups1.0-1 libgnomeprint2.2-0
9696 libgnomeprintui2.2-0 libgpod3 libgraphviz4 libgtkhtml2-0
9697 libgtksourceview1.0-0 libgucharmap6 libhesiod0 libicu38 libisccc50
9698 libisccfg50 libiw29 libkpathsea4 libltdl3 liblwres50 libmagick++10
9699 libmagick10 libmalaga7 libmtp7 libmysqlclient15off libnautilus-burn4
9700 libneon27 libnm-glib0 libnm-util0 libopal-2.2 libosp5
9701 libparted1.8-10 libpisock9 libpisync1 libpoppler-glib3 libpoppler3
9702 libpt-1.10.10 libraw1394-8 libsensors3 libsmbios2 libsoup2.2-8
9703 libssh2-1 libsuitesparse-3.1.0 libswfdec-0.6-90 libtalloc1
9704 libtotem-plparser10 libtrackerclient0 libvoikko1 libxalan2-java-gcj
9705 libxerces2-java-gcj libxklavier12 libxtrap6 libxxf86misc1 libzephyr3
9706 mysql-common swfdec-gnome totem-gstreamer wodim
9707 </p></blockquote>
9708
9709 <p>Installed using aptitude, missing with apt-get</p>
9710
9711 <blockquote><p>
9712 gnome gnome-desktop-environment hamster-applet python-gnomeapplet
9713 python-gnomekeyring python-wnck rhythmbox-plugins xorg
9714 xserver-xorg-input-all xserver-xorg-input-evdev
9715 xserver-xorg-input-kbd xserver-xorg-input-mouse
9716 xserver-xorg-input-synaptics xserver-xorg-video-all
9717 xserver-xorg-video-apm xserver-xorg-video-ark xserver-xorg-video-ati
9718 xserver-xorg-video-chips xserver-xorg-video-cirrus
9719 xserver-xorg-video-dummy xserver-xorg-video-fbdev
9720 xserver-xorg-video-glint xserver-xorg-video-i128
9721 xserver-xorg-video-i740 xserver-xorg-video-mach64
9722 xserver-xorg-video-mga xserver-xorg-video-neomagic
9723 xserver-xorg-video-nouveau xserver-xorg-video-nv
9724 xserver-xorg-video-r128 xserver-xorg-video-radeon
9725 xserver-xorg-video-radeonhd xserver-xorg-video-rendition
9726 xserver-xorg-video-s3 xserver-xorg-video-s3virge
9727 xserver-xorg-video-savage xserver-xorg-video-siliconmotion
9728 xserver-xorg-video-sis xserver-xorg-video-sisusb
9729 xserver-xorg-video-tdfx xserver-xorg-video-tga
9730 xserver-xorg-video-trident xserver-xorg-video-tseng
9731 xserver-xorg-video-vesa xserver-xorg-video-vmware
9732 xserver-xorg-video-voodoo
9733 </p></blockquote>
9734
9735 <p>Installed using aptitude, removed with apt-get</p>
9736
9737 <blockquote><p>
9738 deskbar-applet xserver-xorg xserver-xorg-core
9739 xserver-xorg-input-wacom xserver-xorg-video-intel
9740 xserver-xorg-video-openchrome
9741 </p></blockquote>
9742
9743 <p>I was told on IRC that the xorg-xserver package was
9744 <a href="http://git.debian.org/?p=pkg-xorg/xserver/xorg-server.git;a=commit;h=9c8080d06c457932d3bfec021c69ac000aa60120">changed
9745 in git</a> today to try to get apt-get to not remove xorg completely.
9746 No idea when it hits Squeeze, but when it does I hope it will reduce
9747 the difference somewhat.
9748
9749 </div>
9750 <div class="tags">
9751
9752
9753 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
9754
9755
9756 </div>
9757 </div>
9758 <div class="padding"></div>
9759
9760 <div class="entry">
9761 <div class="title">
9762 <a href="http://people.skolelinux.org/pere/blog/Caching_password__user_and_group_on_a_roaming_Debian_laptop.html">Caching password, user and group on a roaming Debian laptop</a>
9763 </div>
9764 <div class="date">
9765 1st July 2010
9766 </div>
9767 <div class="body">
9768 <p>For a laptop, centralized user directories and password checking is
9769 a bit troubling. Laptops are typically used also when not connected
9770 to the network, and it is vital for a user to be able to log in or
9771 unlock the screen saver also when a central server is unavailable.
9772 This is possible by caching passwords and directory information (user
9773 and group attributes) locally, and the packages to do so are available
9774 in Debian. Here follow two recipes to set this up in Debian/Squeeze.
9775 It is also possible to set up in Debian/Lenny, but require more manual
9776 setup there because pam-auth-update is missing in Lenny.</p>
9777
9778 <h2>LDAP/Kerberos + nscd + libpam-ccreds + libpam-mklocaluser/pam_mkhomedir</h2>
9779
9780 This is the traditional method with a twist. The password caching is
9781 provided by libpam-ccreds (version 10-4 or later is needed on
9782 Squeeze), and the directory caching is done by nscd. The directory
9783 lookup and password checking is done using LDAP. If one want to use
9784 Kerberos for password checking the libpam-ldapd package can be
9785 replaced with libpam-krb5 or libpam-heimdal. If one is happy having a
9786 local home directory with the path listed in LDAP, one can use the
9787 pam_mkhomedir module from pam-modules to make this happen instead of
9788 using libpam-mklocaluser. A setup for pam-auth-update to enable
9789 pam_mkhomedir will have to be written until a fix for
9790 <a href="http://bugs.debian.org/568577">bug #568577</a> is in the
9791 archive. Because I believe it is a bad idea to have local home
9792 directories using misleading paths like /site/server/partition/, I
9793 prefer to create a local user with the home directory in /home/. This
9794 is done using the libpam-mklocaluser package.</p>
9795
9796 <p>These packages need to be installed and configured</p>
9797
9798 <blockquote><pre>
9799 libnss-ldapd libpam-ldapd nscd libpam-ccreds libpam-mklocaluser
9800 </pre></blockquote>
9801
9802 <p>The ldapd packages will ask for LDAP connection information, and
9803 one have to fill in the values that fits ones own site. Make sure the
9804 PAM part uses encrypted connections, to make sure the password is not
9805 sent in clear text to the LDAP server. I've been unable to get TLS
9806 certificate checking for a self signed certificate working, which make
9807 LDAP authentication unsafe for Debian Edu (nslcd is not checking if it
9808 is talking to the correct LDAP server), and very much welcome feedback
9809 on how to get this working.</p>
9810
9811 <p>Because nscd do not have a default configuration fit for offline
9812 caching until <a href="http://bugs.debian.org/485282">bug #485282</a>
9813 is fixed, this configuration should be used instead of the one
9814 currently in /etc/nscd.conf. The changes are in the fields
9815 reload-count and positive-time-to-live, and is based on the
9816 instructions I found in the
9817 <a href="http://www.flyn.org/laptopldap/">LDAP for Mobile Laptops</a>
9818 instructions by Flyn Computing.</p>
9819
9820 <blockquote><pre>
9821 debug-level 0
9822 reload-count unlimited
9823 paranoia no
9824
9825 enable-cache passwd yes
9826 positive-time-to-live passwd 2592000
9827 negative-time-to-live passwd 20
9828 suggested-size passwd 211
9829 check-files passwd yes
9830 persistent passwd yes
9831 shared passwd yes
9832 max-db-size passwd 33554432
9833 auto-propagate passwd yes
9834
9835 enable-cache group yes
9836 positive-time-to-live group 2592000
9837 negative-time-to-live group 20
9838 suggested-size group 211
9839 check-files group yes
9840 persistent group yes
9841 shared group yes
9842 max-db-size group 33554432
9843 auto-propagate group yes
9844
9845 enable-cache hosts no
9846 positive-time-to-live hosts 2592000
9847 negative-time-to-live hosts 20
9848 suggested-size hosts 211
9849 check-files hosts yes
9850 persistent hosts yes
9851 shared hosts yes
9852 max-db-size hosts 33554432
9853
9854 enable-cache services yes
9855 positive-time-to-live services 2592000
9856 negative-time-to-live services 20
9857 suggested-size services 211
9858 check-files services yes
9859 persistent services yes
9860 shared services yes
9861 max-db-size services 33554432
9862 </pre></blockquote>
9863
9864 <p>While we wait for a mechanism to update /etc/nsswitch.conf
9865 automatically like the one provided in
9866 <a href="http://bugs.debian.org/496915">bug #496915</a>, the file
9867 content need to be manually replaced to ensure LDAP is used as the
9868 directory service on the machine. /etc/nsswitch.conf should normally
9869 look like this:</p>
9870
9871 <blockquote><pre>
9872 passwd: files ldap
9873 group: files ldap
9874 shadow: files ldap
9875 hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
9876 networks: files
9877 protocols: files
9878 services: files
9879 ethers: files
9880 rpc: files
9881 netgroup: files ldap
9882 </pre></blockquote>
9883
9884 <p>The important parts are that ldap is listed last for passwd, group,
9885 shadow and netgroup.</p>
9886
9887 <p>With these changes in place, any user in LDAP will be able to log
9888 in locally on the machine using for example kdm, get a local home
9889 directory created and have the password as well as user and group
9890 attributes cached.
9891
9892 <h2>LDAP/Kerberos + nss-updatedb + libpam-ccreds +
9893 libpam-mklocaluser/pam_mkhomedir</h2>
9894
9895 <p>Because nscd have had its share of problems, and seem to have
9896 problems doing proper caching, I've seen suggestions and recipes to
9897 use nss-updatedb to copy parts of the LDAP database locally when the
9898 LDAP database is available. I have not tested such setup, because I
9899 discovered sssd.</p>
9900
9901 <h2>LDAP/Kerberos + sssd + libpam-mklocaluser</h2>
9902
9903 <p>A more flexible and robust setup than the nscd combination
9904 mentioned earlier that has shown up recently, is the
9905 <a href="https://fedorahosted.org/sssd/">sssd</a> package from Redhat.
9906 It is part of the <a href="http://www.freeipa.org/">FreeIPA</A> project
9907 to provide a Active Directory like directory service for Linux
9908 machines. The sssd system combines the caching of passwords and user
9909 information into one package, and remove the need for nscd and
9910 libpam-ccreds. It support LDAP and Kerberos, but not NIS. Version
9911 1.2 do not support netgroups, but it is said that it will support this
9912 in version 1.5 expected to show up later in 2010. Because the
9913 <a href="http://packages.qa.debian.org/s/sssd.html">sssd package</a>
9914 was missing in Debian, I ended up co-maintaining it with Werner, and
9915 version 1.2 is now in testing.
9916
9917 <p>These packages need to be installed and configured to get the
9918 roaming setup I want</p>
9919
9920 <blockquote><pre>
9921 libpam-sss libnss-sss libpam-mklocaluser
9922 </pre></blockquote>
9923
9924 The complete setup of sssd is done by editing/creating
9925 <tt>/etc/sssd/sssd.conf</tt>.
9926
9927 <blockquote><pre>
9928 [sssd]
9929 config_file_version = 2
9930 reconnection_retries = 3
9931 sbus_timeout = 30
9932 services = nss, pam
9933 domains = INTERN
9934
9935 [nss]
9936 filter_groups = root
9937 filter_users = root
9938 reconnection_retries = 3
9939
9940 [pam]
9941 reconnection_retries = 3
9942
9943 [domain/INTERN]
9944 enumerate = false
9945 cache_credentials = true
9946
9947 id_provider = ldap
9948 auth_provider = ldap
9949 chpass_provider = ldap
9950
9951 ldap_uri = ldap://ldap
9952 ldap_search_base = dc=skole,dc=skolelinux,dc=no
9953 ldap_tls_reqcert = never
9954 ldap_tls_cacert = /etc/ssl/certs/ca-certificates.crt
9955 </pre></blockquote>
9956
9957 <p>I got the same problem here with certificate checking. Had to set
9958 "ldap_tls_reqcert = never" to get it working.</p>
9959
9960 <p>With the libnss-sss package in testing at the moment, the
9961 nsswitch.conf file is update automatically, so there is no need to
9962 modify it manually.</p>
9963
9964 <p>If you want to help out with implementing this for Debian Edu,
9965 please contact us on debian-edu@lists.debian.org.</p>
9966
9967 </div>
9968 <div class="tags">
9969
9970
9971 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
9972
9973
9974 </div>
9975 </div>
9976 <div class="padding"></div>
9977
9978 <div class="entry">
9979 <div class="title">
9980 <a href="http://people.skolelinux.org/pere/blog/LUMA__a_very_nice_LDAP_GUI.html">LUMA, a very nice LDAP GUI</a>
9981 </div>
9982 <div class="date">
9983 28th June 2010
9984 </div>
9985 <div class="body">
9986 <p>The last few days I have been looking into the status of the LDAP
9987 directory in Debian Edu, and in the process I started to miss a GUI
9988 tool to browse the LDAP tree. The only one I was able to find in
9989 Debian/Squeeze and Lenny is
9990 <a href="http://luma.sourceforge.net/">LUMA</a>, which has proved to
9991 be a great tool to get a overview of the current LDAP directory
9992 populated by default in Skolelinux. Thanks to it, I have been able to
9993 find empty and obsolete subtrees, misplaced objects and duplicate
9994 objects. It will be installed by default in Debian/Squeeze. If you
9995 are working with LDAP, give it a go. :)</p>
9996
9997 <p>I did notice one problem with it I have not had time to report to
9998 the BTS yet. There is no .desktop file in the package, so the tool do
9999 not show up in the Gnome and KDE menus, but only deep down in in the
10000 Debian submenu in KDE. I hope that can be fixed before Squeeze is
10001 released.</p>
10002
10003 <p>I have not yet been able to get it to modify the tree yet. I would
10004 like to move objects and remove subtrees directly in the GUI, but have
10005 not found a way to do that with LUMA yet. So in the mean time, I use
10006 <a href="http://www.lichteblau.com/ldapvi/">ldapvi</a> for that.</p>
10007
10008 <p>If you have tips on other GUI tools for LDAP that might be useful
10009 in Debian Edu, please contact us on debian-edu@lists.debian.org.</p>
10010
10011 <p>Update 2010-06-29: Ross Reedstrom tipped us about the
10012 <a href="http://packages.qa.debian.org/g/gq.html">gq</a> package as a
10013 useful GUI alternative. It seem like a good tool, but is unmaintained
10014 in Debian and got a RC bug keeping it out of Squeeze. Unless that
10015 changes, it will not be an option for Debian Edu based on Squeeze.</p>
10016
10017 </div>
10018 <div class="tags">
10019
10020
10021 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
10022
10023
10024 </div>
10025 </div>
10026 <div class="padding"></div>
10027
10028 <div class="entry">
10029 <div class="title">
10030 <a href="http://people.skolelinux.org/pere/blog/Idea_for_a_change_to_LDAP_schemas_allowing_DNS_and_DHCP_info_to_be_combined_into_one_object.html">Idea for a change to LDAP schemas allowing DNS and DHCP info to be combined into one object</a>
10031 </div>
10032 <div class="date">
10033 24th June 2010
10034 </div>
10035 <div class="body">
10036 <p>A while back, I
10037 <a href="http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html">complained
10038 about the fact</a> that it is not possible with the provided schemas
10039 for storing DNS and DHCP information in LDAP to combine the two sets
10040 of information into one LDAP object representing a computer.</p>
10041
10042 <p>In the mean time, I discovered that a simple fix would be to make
10043 the dhcpHost object class auxiliary, to allow it to be combined with
10044 the dNSDomain object class, and thus forming one object for one
10045 computer when storing both DHCP and DNS information in LDAP.</p>
10046
10047 <p>If I understand this correctly, it is not safe to do this change
10048 without also changing the assigned number for the object class, and I
10049 do not know enough about LDAP schema design to do that properly for
10050 Debian Edu.</p>
10051
10052 <p>Anyway, for future reference, this is how I believe we could change
10053 the
10054 <a href="http://tools.ietf.org/html/draft-ietf-dhc-ldap-schema-00">DHCP
10055 schema</a> to solve at least part of the problem with the LDAP schemas
10056 available today from IETF.</p>
10057
10058 <pre>
10059 --- dhcp.schema (revision 65192)
10060 +++ dhcp.schema (working copy)
10061 @@ -376,7 +376,7 @@
10062 objectclass ( 2.16.840.1.113719.1.203.6.6
10063 NAME 'dhcpHost'
10064 DESC 'This represents information about a particular client'
10065 - SUP top
10066 + SUP top AUXILIARY
10067 MUST cn
10068 MAY (dhcpLeaseDN $ dhcpHWAddress $ dhcpOptionsDN $ dhcpStatements $ dhcpComments $ dhcpOption)
10069 X-NDS_CONTAINMENT ('dhcpService' 'dhcpSubnet' 'dhcpGroup') )
10070 </pre>
10071
10072 <p>I very much welcome clues on how to do this properly for Debian
10073 Edu/Squeeze. We provide the DHCP schema in our debian-edu-config
10074 package, and should thus be free to rewrite it as we see fit.</p>
10075
10076 <p>If you want to help out with implementing this for Debian Edu,
10077 please contact us on debian-edu@lists.debian.org.</p>
10078
10079 </div>
10080 <div class="tags">
10081
10082
10083 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
10084
10085
10086 </div>
10087 </div>
10088 <div class="padding"></div>
10089
10090 <div class="entry">
10091 <div class="title">
10092 <a href="http://people.skolelinux.org/pere/blog/Calling_tasksel_like_the_installer__while_still_getting_useful_output.html">Calling tasksel like the installer, while still getting useful output</a>
10093 </div>
10094 <div class="date">
10095 16th June 2010
10096 </div>
10097 <div class="body">
10098 <p>A few times I have had the need to simulate the way tasksel
10099 installs packages during the normal debian-installer run. Until now,
10100 I have ended up letting tasksel do the work, with the annoying problem
10101 of not getting any feedback at all when something fails (like a
10102 conffile question from dpkg or a download that fails), using code like
10103 this:
10104
10105 <blockquote><pre>
10106 export DEBIAN_FRONTEND=noninteractive
10107 tasksel --new-install
10108 </pre></blockquote>
10109
10110 This would invoke tasksel, let its automatic task selection pick the
10111 tasks to install, and continue to install the requested tasks without
10112 any output what so ever.
10113
10114 Recently I revisited this problem while working on the automatic
10115 package upgrade testing, because tasksel would some times hang without
10116 any useful feedback, and I want to see what is going on when it
10117 happen. Then it occured to me, I can parse the output from tasksel
10118 when asked to run in test mode, and use that aptitude command line
10119 printed by tasksel then to simulate the tasksel run. I ended up using
10120 code like this:
10121
10122 <blockquote><pre>
10123 export DEBIAN_FRONTEND=noninteractive
10124 cmd="$(in_target tasksel -t --new-install | sed 's/debconf-apt-progress -- //')"
10125 $cmd
10126 </pre></blockquote>
10127
10128 <p>The content of $cmd is typically something like "<tt>aptitude -q
10129 --without-recommends -o APT::Install-Recommends=no -y install
10130 ~t^desktop$ ~t^gnome-desktop$ ~t^laptop$ ~pstandard ~prequired
10131 ~pimportant</tt>", which will install the gnome desktop task, the
10132 laptop task and all packages with priority standard , required and
10133 important, just like tasksel would have done it during
10134 installation.</p>
10135
10136 <p>A better approach is probably to extend tasksel to be able to
10137 install packages without using debconf-apt-progress, for use cases
10138 like this.</p>
10139
10140 </div>
10141 <div class="tags">
10142
10143
10144 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
10145
10146
10147 </div>
10148 </div>
10149 <div class="padding"></div>
10150
10151 <div class="entry">
10152 <div class="title">
10153 <a href="http://people.skolelinux.org/pere/blog/Officeshots_taking_shape.html">Officeshots taking shape</a>
10154 </div>
10155 <div class="date">
10156 13th June 2010
10157 </div>
10158 <div class="body">
10159 <p>For those of us caring about document exchange and
10160 interoperability, <a href="http://www.officeshots.org/">OfficeShots</a>
10161 is a great service. It is to ODF documents what
10162 <a href="http://browsershots.org/">BrowserShots</a> is for web
10163 pages.</p>
10164
10165 <p>A while back, I was contacted by Knut Yrvin at the part of Nokia
10166 that used to be Trolltech, who wanted to help the OfficeShots project
10167 and wondered if the University of Oslo where I work would be
10168 interested in supporting the project. I helped him to navigate his
10169 request to the right people at work, and his request was answered with
10170 a spot in the machine room with power and network connected, and Knut
10171 arranged funding for a machine to fill the spot. The machine is
10172 administrated by the OfficeShots people, so I do not have daily
10173 contact with its progress, and thus from time to time check back to
10174 see how the project is doing.</p>
10175
10176 <p>Today I had a look, and was happy to see that the Dell box in our
10177 machine room now is the host for several virtual machines running as
10178 OfficeShots factories, and the project is able to render ODF documents
10179 in 17 different document processing implementation on Linux and
10180 Windows. This is great.</p>
10181
10182 </div>
10183 <div class="tags">
10184
10185
10186 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
10187
10188
10189 </div>
10190 </div>
10191 <div class="padding"></div>
10192
10193 <div class="entry">
10194 <div class="title">
10195 <a href="http://people.skolelinux.org/pere/blog/Lenny__Squeeze_upgrades__removals_by_apt_and_aptitude.html">Lenny->Squeeze upgrades, removals by apt and aptitude</a>
10196 </div>
10197 <div class="date">
10198 13th June 2010
10199 </div>
10200 <div class="body">
10201 <p>My
10202 <a href="http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html">testing
10203 of Debian upgrades</a> from Lenny to Squeeze continues, and I've
10204 finally made the upgrade logs available from
10205 <a href="http://people.skolelinux.org/pere/debian-upgrade-testing/">http://people.skolelinux.org/pere/debian-upgrade-testing/</a>.
10206 I am now testing dist-upgrade of Gnome and KDE in a chroot using both
10207 apt and aptitude, and found their differences interesting. This time
10208 I will only focus on their removal plans.</p>
10209
10210 <p>After installing a Gnome desktop and the laptop task, apt-get wants
10211 to remove 72 packages when dist-upgrading from Lenny to Squeeze. The
10212 surprising part is that it want to remove xorg and all
10213 xserver-xorg-video* drivers. Clearly not a good choice, but I am not
10214 sure why. When asking aptitude to do the same, it want to remove 129
10215 packages, but most of them are library packages I suspect are no
10216 longer needed. Both of them want to remove bluetooth packages, which
10217 I do not know. Perhaps these bluetooth packages are obsolete?</p>
10218
10219 <p>For KDE, apt-get want to remove 82 packages, among them kdebase
10220 which seem like a bad idea and xorg the same way as with Gnome. Asking
10221 aptitude for the same, it wants to remove 192 packages, none which are
10222 too surprising.</p>
10223
10224 <p>I guess the removal of xorg during upgrades should be investigated
10225 and avoided, and perhaps others as well. Here are the complete list
10226 of planned removals. The complete logs is available from the URL
10227 above. Note if you want to repeat these tests, that the upgrade test
10228 for kde+apt-get hung in the tasksel setup because of dpkg asking
10229 conffile questions. No idea why. I worked around it by using
10230 '<tt>echo >> /proc/<em>pidofdpkg</em>/fd/0</tt>' to tell dpkg to
10231 continue.</p>
10232
10233 <p><b>apt-get gnome 72</b>
10234 <br>bluez-gnome cupsddk-drivers deskbar-applet gnome
10235 gnome-desktop-environment gnome-network-admin gtkhtml3.14
10236 iceweasel-gnome-support libavcodec51 libdatrie0 libgdl-1-0
10237 libgnomekbd2 libgnomekbdui2 libmetacity0 libslab0 libxcb-xlib0
10238 nautilus-cd-burner python-gnome2-desktop python-gnome2-extras
10239 serpentine swfdec-mozilla update-manager xorg xserver-xorg
10240 xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-evdev
10241 xserver-xorg-input-kbd xserver-xorg-input-mouse
10242 xserver-xorg-input-synaptics xserver-xorg-input-wacom
10243 xserver-xorg-video-all xserver-xorg-video-apm xserver-xorg-video-ark
10244 xserver-xorg-video-ati xserver-xorg-video-chips
10245 xserver-xorg-video-cirrus xserver-xorg-video-cyrix
10246 xserver-xorg-video-dummy xserver-xorg-video-fbdev
10247 xserver-xorg-video-glint xserver-xorg-video-i128
10248 xserver-xorg-video-i740 xserver-xorg-video-imstt
10249 xserver-xorg-video-intel xserver-xorg-video-mach64
10250 xserver-xorg-video-mga xserver-xorg-video-neomagic
10251 xserver-xorg-video-nsc xserver-xorg-video-nv
10252 xserver-xorg-video-openchrome xserver-xorg-video-r128
10253 xserver-xorg-video-radeon xserver-xorg-video-radeonhd
10254 xserver-xorg-video-rendition xserver-xorg-video-s3
10255 xserver-xorg-video-s3virge xserver-xorg-video-savage
10256 xserver-xorg-video-siliconmotion xserver-xorg-video-sis
10257 xserver-xorg-video-sisusb xserver-xorg-video-tdfx
10258 xserver-xorg-video-tga xserver-xorg-video-trident
10259 xserver-xorg-video-tseng xserver-xorg-video-v4l
10260 xserver-xorg-video-vesa xserver-xorg-video-vga
10261 xserver-xorg-video-vmware xserver-xorg-video-voodoo xulrunner-1.9
10262 xulrunner-1.9-gnome-support</p>
10263
10264 <p><b>aptitude gnome 129</b>
10265
10266 <br>bluez-gnome bluez-utils cpp-4.3 cupsddk-drivers dhcdbd
10267 djvulibre-desktop finger gnome-app-install gnome-mount
10268 gnome-network-admin gnome-spell gnome-vfs-obexftp
10269 gnome-volume-manager gstreamer0.10-gnomevfs gtkhtml3.14 libao2
10270 libavahi-compat-libdnssd1 libavahi-core5 libavcodec51 libbluetooth2
10271 libcamel1.2-11 libcdio7 libcucul0 libcupsys2 libcurl3 libdatrie0
10272 libdirectfb-1.0-0 libdvdread3 libedataserver1.2-9 libeel2-2.20
10273 libeel2-data libepc-1.0-1 libepc-ui-1.0-1 libfaad0 libgail-common
10274 libgd2-noxpm libgda3-3 libgda3-common libgdl-1-0 libgdl-1-common
10275 libggz2 libggzcore9 libggzmod4 libgksu1.2-0 libgksuui1.0-1 libgmyth0
10276 libgnomecups1.0-1 libgnomekbd2 libgnomekbdui2 libgnomeprint2.2-0
10277 libgnomeprint2.2-data libgnomeprintui2.2-0 libgnomeprintui2.2-common
10278 libgnomevfs2-bin libgpod3 libgraphviz4 libgtkhtml2-0
10279 libgtksourceview-common libgtksourceview1.0-0 libgucharmap6
10280 libhesiod0 libicu38 libiw29 libkpathsea4 libltdl3 libmagick++10
10281 libmagick10 libmalaga7 libmetacity0 libmtp7 libmysqlclient15off
10282 libnautilus-burn4 libneon27 libnm-glib0 libnm-util0 libopal-2.2
10283 libosp5 libparted1.8-10 libpoppler-glib3 libpoppler3 libpt-1.10.10
10284 libpt-1.10.10-plugins-alsa libpt-1.10.10-plugins-v4l libraw1394-8
10285 libsensors3 libslab0 libsmbios2 libsoup2.2-8 libssh2-1
10286 libsuitesparse-3.1.0 libswfdec-0.6-90 libtalloc1 libtotem-plparser10
10287 libtrackerclient0 libxalan2-java libxalan2-java-gcj libxcb-xlib0
10288 libxerces2-java libxerces2-java-gcj libxklavier12 libxtrap6
10289 libxxf86misc1 libzephyr3 mysql-common nautilus-cd-burner
10290 openoffice.org-writer2latex openssl-blacklist p7zip
10291 python-4suite-xml python-eggtrayicon python-gnome2-desktop
10292 python-gnome2-extras python-gtkhtml2 python-gtkmozembed
10293 python-numeric python-sexy serpentine svgalibg1 swfdec-gnome
10294 swfdec-mozilla totem-gstreamer update-manager wodim
10295 xserver-xorg-video-cyrix xserver-xorg-video-imstt
10296 xserver-xorg-video-nsc xserver-xorg-video-v4l xserver-xorg-video-vga
10297 zip</p>
10298
10299 <p><b>apt-get kde 82</b>
10300
10301 <br>cupsddk-drivers karm kaudiocreator kcoloredit kcontrol kde kde-core
10302 kdeaddons kdeartwork kdebase kdebase-bin kdebase-bin-kde3
10303 kdebase-kio-plugins kdesktop kdeutils khelpcenter kicker
10304 kicker-applets knewsticker kolourpaint konq-plugins konqueror korn
10305 kpersonalizer kscreensaver ksplash libavcodec51 libdatrie0 libkiten1
10306 libxcb-xlib0 quanta superkaramba texlive-base-bin xorg xserver-xorg
10307 xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-evdev
10308 xserver-xorg-input-kbd xserver-xorg-input-mouse
10309 xserver-xorg-input-synaptics xserver-xorg-input-wacom
10310 xserver-xorg-video-all xserver-xorg-video-apm xserver-xorg-video-ark
10311 xserver-xorg-video-ati xserver-xorg-video-chips
10312 xserver-xorg-video-cirrus xserver-xorg-video-cyrix
10313 xserver-xorg-video-dummy xserver-xorg-video-fbdev
10314 xserver-xorg-video-glint xserver-xorg-video-i128
10315 xserver-xorg-video-i740 xserver-xorg-video-imstt
10316 xserver-xorg-video-intel xserver-xorg-video-mach64
10317 xserver-xorg-video-mga xserver-xorg-video-neomagic
10318 xserver-xorg-video-nsc xserver-xorg-video-nv
10319 xserver-xorg-video-openchrome xserver-xorg-video-r128
10320 xserver-xorg-video-radeon xserver-xorg-video-radeonhd
10321 xserver-xorg-video-rendition xserver-xorg-video-s3
10322 xserver-xorg-video-s3virge xserver-xorg-video-savage
10323 xserver-xorg-video-siliconmotion xserver-xorg-video-sis
10324 xserver-xorg-video-sisusb xserver-xorg-video-tdfx
10325 xserver-xorg-video-tga xserver-xorg-video-trident
10326 xserver-xorg-video-tseng xserver-xorg-video-v4l
10327 xserver-xorg-video-vesa xserver-xorg-video-vga
10328 xserver-xorg-video-vmware xserver-xorg-video-voodoo xulrunner-1.9</p>
10329
10330 <p><b>aptitude kde 192</b>
10331 <br>bluez-utils cpp-4.3 cupsddk-drivers cvs dcoprss dhcdbd
10332 djvulibre-desktop dosfstools eyesapplet fifteenapplet finger gettext
10333 ghostscript-x imlib-base imlib11 indi kandy karm kasteroids
10334 kaudiocreator kbackgammon kbstate kcoloredit kcontrol kcron kdat
10335 kdeadmin-kfile-plugins kdeartwork-misc kdeartwork-theme-window
10336 kdebase-bin-kde3 kdebase-kio-plugins kdeedu-data
10337 kdegraphics-kfile-plugins kdelirc kdemultimedia-kappfinder-data
10338 kdemultimedia-kfile-plugins kdenetwork-kfile-plugins
10339 kdepim-kfile-plugins kdepim-kio-plugins kdeprint kdesktop kdessh
10340 kdict kdnssd kdvi kedit keduca kenolaba kfax kfaxview kfouleggs
10341 kghostview khelpcenter khexedit kiconedit kitchensync klatin
10342 klickety kmailcvt kmenuedit kmid kmilo kmoon kmrml kodo kolourpaint
10343 kooka korn kpager kpdf kpercentage kpf kpilot kpoker kpovmodeler
10344 krec kregexpeditor ksayit ksim ksirc ksirtet ksmiletris ksmserver
10345 ksnake ksokoban ksplash ksvg ksysv ktip ktnef kuickshow kverbos
10346 kview kviewshell kvoctrain kwifimanager kwin kwin4 kworldclock
10347 kxsldbg libakode2 libao2 libarts1-akode libarts1-audiofile
10348 libarts1-mpeglib libarts1-xine libavahi-compat-libdnssd1
10349 libavahi-core5 libavc1394-0 libavcodec51 libbluetooth2
10350 libboost-python1.34.1 libcucul0 libcurl3 libcvsservice0 libdatrie0
10351 libdirectfb-1.0-0 libdjvulibre21 libdvdread3 libfaad0 libfreebob0
10352 libgail-common libgd2-noxpm libgraphviz4 libgsmme1c2a libgtkhtml2-0
10353 libicu38 libiec61883-0 libindex0 libiw29 libk3b3 libkcal2b libkcddb1
10354 libkdeedu3 libkdepim1a libkgantt0 libkiten1 libkleopatra1 libkmime2
10355 libkpathsea4 libkpimexchange1 libkpimidentities1 libkscan1
10356 libksieve0 libktnef1 liblockdev1 libltdl3 libmagick10 libmimelib1c2a
10357 libmozjs1d libmpcdec3 libneon27 libnm-util0 libopensync0 libpisock9
10358 libpoppler-glib3 libpoppler-qt2 libpoppler3 libraw1394-8 libsmbios2
10359 libssh2-1 libsuitesparse-3.1.0 libtalloc1 libtiff-tools
10360 libxalan2-java libxalan2-java-gcj libxcb-xlib0 libxerces2-java
10361 libxerces2-java-gcj libxtrap6 mpeglib networkstatus
10362 openoffice.org-writer2latex pmount poster psutils quanta quanta-data
10363 superkaramba svgalibg1 tex-common texlive-base texlive-base-bin
10364 texlive-common texlive-doc-base texlive-fonts-recommended
10365 xserver-xorg-video-cyrix xserver-xorg-video-imstt
10366 xserver-xorg-video-nsc xserver-xorg-video-v4l xserver-xorg-video-vga
10367 xulrunner-1.9</p>
10368
10369
10370 </div>
10371 <div class="tags">
10372
10373
10374 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
10375
10376
10377 </div>
10378 </div>
10379 <div class="padding"></div>
10380
10381 <div class="entry">
10382 <div class="title">
10383 <a href="http://people.skolelinux.org/pere/blog/Automatic_upgrade_testing_from_Lenny_to_Squeeze.html">Automatic upgrade testing from Lenny to Squeeze</a>
10384 </div>
10385 <div class="date">
10386 11th June 2010
10387 </div>
10388 <div class="body">
10389 <p>The last few days I have done some upgrade testing in Debian, to
10390 see if the upgrade from Lenny to Squeeze will go smoothly. A few bugs
10391 have been discovered and reported in the process
10392 (<a href="http://bugs.debian.org/585410">#585410</a> in nagios3-cgi,
10393 <a href="http://bugs.debian.org/584879">#584879</a> already fixed in
10394 enscript and <a href="http://bugs.debian.org/584861">#584861</a> in
10395 kdebase-workspace-data), and to get a more regular testing going on, I
10396 am working on a script to automate the test.</p>
10397
10398 <p>The idea is to create a Lenny chroot and use tasksel to install a
10399 Gnome or KDE desktop installation inside the chroot before upgrading
10400 it. To ensure no services are started in the chroot, a policy-rc.d
10401 script is inserted. To make sure tasksel believe it is to install a
10402 desktop on a laptop, the tasksel tests are replaced in the chroot
10403 (only acceptable because this is a throw-away chroot).</p>
10404
10405 <p>A naive upgrade from Lenny to Squeeze using aptitude dist-upgrade
10406 currently always fail because udev refuses to upgrade with the kernel
10407 in Lenny, so to avoid that problem the file /etc/udev/kernel-upgrade
10408 is created. The bug report
10409 <a href="http://bugs.debian.org/566000">#566000</a> make me suspect
10410 this problem do not trigger in a chroot, but I touch the file anyway
10411 to make sure the upgrade go well. Testing on virtual and real
10412 hardware have failed me because of udev so far, and creating this file
10413 do the trick in such settings anyway. This is a
10414 <a href="http://www.linuxquestions.org/questions/debian-26/failed-dist-upgrade-due-to-udev-config_sysfs_deprecated-nonsense-804130/">known
10415 issue</a> and the current udev behaviour is intended by the udev
10416 maintainer because he lack the resources to rewrite udev to keep
10417 working with old kernels or something like that. I really wish the
10418 udev upstream would keep udev backwards compatible, to avoid such
10419 upgrade problem, but given that they fail to do so, I guess
10420 documenting the way out of this mess is the best option we got for
10421 Debian Squeeze.</p>
10422
10423 <p>Anyway, back to the task at hand, testing upgrades. This test
10424 script, which I call <tt>upgrade-test</tt> for now, is doing the
10425 trick:</p>
10426
10427 <blockquote><pre>
10428 #!/bin/sh
10429 set -ex
10430
10431 if [ "$1" ] ; then
10432 desktop=$1
10433 else
10434 desktop=gnome
10435 fi
10436
10437 from=lenny
10438 to=squeeze
10439
10440 exec &lt; /dev/null
10441 unset LANG
10442 mirror=http://ftp.skolelinux.org/debian
10443 tmpdir=chroot-$from-upgrade-$to-$desktop
10444 fuser -mv .
10445 debootstrap $from $tmpdir $mirror
10446 chroot $tmpdir aptitude update
10447 cat > $tmpdir/usr/sbin/policy-rc.d &lt;&lt;EOF
10448 #!/bin/sh
10449 exit 101
10450 EOF
10451 chmod a+rx $tmpdir/usr/sbin/policy-rc.d
10452 exit_cleanup() {
10453 umount $tmpdir/proc
10454 }
10455 mount -t proc proc $tmpdir/proc
10456 # Make sure proc is unmounted also on failure
10457 trap exit_cleanup EXIT INT
10458
10459 chroot $tmpdir aptitude -y install debconf-utils
10460
10461 # Make sure tasksel autoselection trigger. It need the test scripts
10462 # to return the correct answers.
10463 echo tasksel tasksel/desktop multiselect $desktop | \
10464 chroot $tmpdir debconf-set-selections
10465
10466 # Include the desktop and laptop task
10467 for test in desktop laptop ; do
10468 echo > $tmpdir/usr/lib/tasksel/tests/$test &lt;&lt;EOF
10469 #!/bin/sh
10470 exit 2
10471 EOF
10472 chmod a+rx $tmpdir/usr/lib/tasksel/tests/$test
10473 done
10474
10475 DEBIAN_FRONTEND=noninteractive
10476 DEBIAN_PRIORITY=critical
10477 export DEBIAN_FRONTEND DEBIAN_PRIORITY
10478 chroot $tmpdir tasksel --new-install
10479
10480 echo deb $mirror $to main > $tmpdir/etc/apt/sources.list
10481 chroot $tmpdir aptitude update
10482 touch $tmpdir/etc/udev/kernel-upgrade
10483 chroot $tmpdir aptitude -y dist-upgrade
10484 fuser -mv
10485 </pre></blockquote>
10486
10487 <p>I suspect it would be useful to test upgrades with both apt-get and
10488 with aptitude, but I have not had time to look at how they behave
10489 differently so far. I hope to get a cron job running to do the test
10490 regularly and post the result on the web. The Gnome upgrade currently
10491 work, while the KDE upgrade fail because of the bug in
10492 kdebase-workspace-data</p>
10493
10494 <p>I am not quite sure what kind of extract from the huge upgrade logs
10495 (KDE 167 KiB, Gnome 516 KiB) it make sense to include in this blog
10496 post, so I will refrain from trying. I can report that for Gnome,
10497 aptitude report 760 packages upgraded, 448 newly installed, 129 to
10498 remove and 1 not upgraded and 1024MB need to be downloaded while for
10499 KDE the same numbers are 702 packages upgraded, 507 newly installed,
10500 193 to remove and 0 not upgraded and 1117MB need to be downloaded</p>
10501
10502 <p>I am very happy to notice that the Gnome desktop + laptop upgrade
10503 is able to migrate to dependency based boot sequencing and parallel
10504 booting without a hitch. Was unsure if there were still bugs with
10505 packages failing to clean up their obsolete init.d script during
10506 upgrades, and no such problem seem to affect the Gnome desktop+laptop
10507 packages.</p>
10508
10509 </div>
10510 <div class="tags">
10511
10512
10513 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
10514
10515
10516 </div>
10517 </div>
10518 <div class="padding"></div>
10519
10520 <div class="entry">
10521 <div class="title">
10522 <a href="http://people.skolelinux.org/pere/blog/Upstart_or_sysvinit___as_init_d_scripts_see_it.html">Upstart or sysvinit - as init.d scripts see it</a>
10523 </div>
10524 <div class="date">
10525 6th June 2010
10526 </div>
10527 <div class="body">
10528 <p>If Debian is to migrate to upstart on Linux, I expect some init.d
10529 scripts to migrate (some of) their operations to upstart job while
10530 keeping the init.d for hurd and kfreebsd. The packages with such
10531 needs will need a way to get their init.d scripts to behave
10532 differently when used with sysvinit and with upstart. Because of
10533 this, I had a look at the environment variables set when a init.d
10534 script is running under upstart, and when it is not.</p>
10535
10536 <p>With upstart, I notice these environment variables are set when a
10537 script is started from rcS.d/ (ignoring some irrelevant ones like
10538 COLUMNS):</p>
10539
10540 <blockquote><pre>
10541 DEFAULT_RUNLEVEL=2
10542 previous=N
10543 PREVLEVEL=
10544 RUNLEVEL=
10545 runlevel=S
10546 UPSTART_EVENTS=startup
10547 UPSTART_INSTANCE=
10548 UPSTART_JOB=rc-sysinit
10549 </pre></blockquote>
10550
10551 <p>With sysvinit, these environment variables are set for the same
10552 script.</p>
10553
10554 <blockquote><pre>
10555 INIT_VERSION=sysvinit-2.88
10556 previous=N
10557 PREVLEVEL=N
10558 RUNLEVEL=S
10559 runlevel=S
10560 </pre></blockquote>
10561
10562 <p>The RUNLEVEL and PREVLEVEL environment variables passed on from
10563 sysvinit are not set by upstart. Not sure if it is intentional or not
10564 to not be compatible with sysvinit in this regard.</p>
10565
10566 <p>For scripts needing to behave differently when upstart is used,
10567 looking for the UPSTART_JOB environment variable seem to be a good
10568 choice.</p>
10569
10570 </div>
10571 <div class="tags">
10572
10573
10574 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
10575
10576
10577 </div>
10578 </div>
10579 <div class="padding"></div>
10580
10581 <div class="entry">
10582 <div class="title">
10583 <a href="http://people.skolelinux.org/pere/blog/A_manual_for_standards_wars___.html">A manual for standards wars...</a>
10584 </div>
10585 <div class="date">
10586 6th June 2010
10587 </div>
10588 <div class="body">
10589 <p>Via the
10590 <a href="http://feedproxy.google.com/~r/robweir/antic-atom/~3/QzU4RgoAGMg/weekly-links-10.html">blog
10591 of Rob Weir</a> I came across the very interesting essay named
10592 <a href="http://faculty.haas.berkeley.edu/shapiro/wars.pdf">The Art of
10593 Standards Wars</a> (PDF 25 pages). I recommend it for everyone
10594 following the standards wars of today.</p>
10595
10596 </div>
10597 <div class="tags">
10598
10599
10600 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
10601
10602
10603 </div>
10604 </div>
10605 <div class="padding"></div>
10606
10607 <div class="entry">
10608 <div class="title">
10609 <a href="http://people.skolelinux.org/pere/blog/Sitesummary_tip__Listing_computer_hardware_models_used_at_site.html">Sitesummary tip: Listing computer hardware models used at site</a>
10610 </div>
10611 <div class="date">
10612 3rd June 2010
10613 </div>
10614 <div class="body">
10615 <p>When using sitesummary at a site to track machines, it is possible
10616 to get a list of the machine types in use thanks to the DMI
10617 information extracted from each machine. The script to do so is
10618 included in the sitesummary package, and here is example output from
10619 the Skolelinux build servers:</p>
10620
10621 <blockquote><pre>
10622 maintainer:~# /usr/lib/sitesummary/hardware-model-summary
10623 vendor count
10624 Dell Computer Corporation 1
10625 PowerEdge 1750 1
10626 IBM 1
10627 eserver xSeries 345 -[8670M1X]- 1
10628 Intel 2
10629 [no-dmi-info] 3
10630 maintainer:~#
10631 </pre></blockquote>
10632
10633 <p>The quality of the report depend on the quality of the DMI tables
10634 provided in each machine. Here there are Intel machines without model
10635 information listed with Intel as vendor and no model, and virtual Xen
10636 machines listed as [no-dmi-info]. One can add -l as a command line
10637 option to list the individual machines.</p>
10638
10639 <p>A larger list is
10640 <a href="http://narvikskolen.no/sitesummary/">available from the the
10641 city of Narvik</a>, which uses Skolelinux on all their shools and also
10642 provide the basic sitesummary report publicly. In their report there
10643 are ~1400 machines. I know they use both Ubuntu and Skolelinux on
10644 their machines, and as sitesummary is available in both distributions,
10645 it is trivial to get all of them to report to the same central
10646 collector.</p>
10647
10648 </div>
10649 <div class="tags">
10650
10651
10652 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary</a>.
10653
10654
10655 </div>
10656 </div>
10657 <div class="padding"></div>
10658
10659 <div class="entry">
10660 <div class="title">
10661 <a href="http://people.skolelinux.org/pere/blog/KDM_fail_at_boot_with_NVidia_cards___and_no_one_try_to_fix_it_.html">KDM fail at boot with NVidia cards - and no one try to fix it?</a>
10662 </div>
10663 <div class="date">
10664 1st June 2010
10665 </div>
10666 <div class="body">
10667 <p>It is strange to watch how a bug in Debian causing KDM to fail to
10668 start at boot when an NVidia video card is used is handled. The
10669 problem seem to be that the nvidia X.org driver uses a long time to
10670 initialize, and this duration is longer than kdm is configured to
10671 wait.</p>
10672
10673 <p>I came across two bugs related to this issue,
10674 <a href="http://bugs.debian.org/583312">#583312</a> initially filed
10675 against initscripts and passed on to nvidia-glx when it became obvious
10676 that the nvidia drivers were involved, and
10677 <a href="http://bugs.debian.org/524751">#524751</a> initially filed against
10678 kdm and passed on to src:nvidia-graphics-drivers for unknown reasons.</p>
10679
10680 <p>To me, it seem that no-one is interested in actually solving the
10681 problem nvidia video card owners experience and make sure the Debian
10682 distribution work out of the box for these users. The nvidia driver
10683 maintainers expect kdm to be set up to wait longer, while kdm expect
10684 the nvidia driver maintainers to fix the driver to start faster, and
10685 while they wait for each other I guess the users end up switching to a
10686 distribution that work for them. I have no idea what the solution is,
10687 but I am pretty sure that waiting for each other is not it.</p>
10688
10689 <p>I wonder why we end up handling bugs this way.</p>
10690
10691 </div>
10692 <div class="tags">
10693
10694
10695 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
10696
10697
10698 </div>
10699 </div>
10700 <div class="padding"></div>
10701
10702 <div class="entry">
10703 <div class="title">
10704 <a href="http://people.skolelinux.org/pere/blog/Parallellized_boot_seem_to_hold_up_well_in_Debian_testing.html">Parallellized boot seem to hold up well in Debian/testing</a>
10705 </div>
10706 <div class="date">
10707 27th May 2010
10708 </div>
10709 <div class="body">
10710 <p>A few days ago, parallel booting was enabled in Debian/testing.
10711 The feature seem to hold up pretty well, but three fairly serious
10712 issues are known and should be solved:
10713
10714 <p><ul>
10715
10716 <li>The wicd package seen to
10717 <a href="http://bugs.debian.org/508289">break NFS mounting</a> and
10718 <a href="http://bugs.debian.org/581586">network setup</a> when
10719 parallel booting is enabled. No idea why, but the wicd maintainer
10720 seem to be on the case.</li>
10721
10722 <li>The nvidia X driver seem to
10723 <a href="http://bugs.debian.org/583312">have a race condition</a>
10724 triggered more easily when parallel booting is in effect. The
10725 maintainer is on the case.</li>
10726
10727 <li>The sysv-rc package fail to properly enable dependency based boot
10728 sequencing (the shutdown is broken) when old file-rc users
10729 <a href="http://bugs.debian.org/575080">try to switch back</a> to
10730 sysv-rc. One way to solve it would be for file-rc to create
10731 /etc/init.d/.legacy-bootordering, and another is to try to make
10732 sysv-rc more robust. Will investigate some more and probably upload a
10733 workaround in sysv-rc to help those trying to move from file-rc to
10734 sysv-rc get a working shutdown.</li>
10735
10736 </ul></p>
10737
10738 <p>All in all not many surprising issues, and all of them seem
10739 solvable before Squeeze is released. In addition to these there are
10740 some packages with bugs in their dependencies and run level settings,
10741 which I expect will be fixed in a reasonable time span.</p>
10742
10743 <p>If you report any problems with dependencies in init.d scripts to
10744 the BTS, please usertag the report to get it to show up at
10745 <a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org">the
10746 list of usertagged bugs related to this</a>.</p>
10747
10748 <p>Update: Correct bug number to file-rc issue.</p>
10749
10750 </div>
10751 <div class="tags">
10752
10753
10754 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
10755
10756
10757 </div>
10758 </div>
10759 <div class="padding"></div>
10760
10761 <div class="entry">
10762 <div class="title">
10763 <a href="http://people.skolelinux.org/pere/blog/More_flexible_firmware_handling_in_debian_installer.html">More flexible firmware handling in debian-installer</a>
10764 </div>
10765 <div class="date">
10766 22nd May 2010
10767 </div>
10768 <div class="body">
10769 <p>After a long break from debian-installer development, I finally
10770 found time today to return to the project. Having to spend less time
10771 working dependency based boot in debian, as it is almost complete now,
10772 definitely helped freeing some time.</p>
10773
10774 <p>A while back, I ran into a problem while working on Debian Edu. We
10775 include some firmware packages on the Debian Edu CDs, those needed to
10776 get disk and network controllers working. Without having these
10777 firmware packages available during installation, it is impossible to
10778 install Debian Edu on the given machine, and because our target group
10779 are non-technical people, asking them to provide firmware packages on
10780 an external medium is a support pain. Initially, I expected it to be
10781 enough to include the firmware packages on the CD to get
10782 debian-installer to find and use them. This proved to be wrong.
10783 Next, I hoped it was enough to symlink the relevant firmware packages
10784 to some useful location on the CD (tried /cdrom/ and
10785 /cdrom/firmware/). This also proved to not work, and at this point I
10786 found time to look at the debian-installer code to figure out what was
10787 going to work.</p>
10788
10789 <p>The firmware loading code is in the hw-detect package, and a closer
10790 look revealed that it would only look for firmware packages outside
10791 the installation media, so the CD was never checked for firmware
10792 packages. It would only check USB sticks, floppies and other
10793 "external" media devices. Today I changed it to also look in the
10794 /cdrom/firmware/ directory on the mounted CD or DVD, which should
10795 solve the problem I ran into with Debian edu. I also changed it to
10796 look in /firmware/, to make sure the installer also find firmware
10797 provided in the initrd when booting the installer via PXE, to allow us
10798 to provide the same feature in the PXE setup included in Debian
10799 Edu.</p>
10800
10801 <p>To make sure firmware deb packages with a license questions are not
10802 activated without asking if the license is accepted, I extended
10803 hw-detect to look for preinst scripts in the firmware packages, and
10804 run these before activating the firmware during installation. The
10805 license question is asked using debconf in the preinst, so this should
10806 solve the issue for the firmware packages I have looked at so far.</p>
10807
10808 <p>If you want to discuss the details of these features, please
10809 contact us on debian-boot@lists.debian.org.</p>
10810
10811 </div>
10812 <div class="tags">
10813
10814
10815 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
10816
10817
10818 </div>
10819 </div>
10820 <div class="padding"></div>
10821
10822 <div class="entry">
10823 <div class="title">
10824 <a href="http://people.skolelinux.org/pere/blog/Pieces_of_the_roaming_laptop_puzzle_in_Debian.html">Pieces of the roaming laptop puzzle in Debian</a>
10825 </div>
10826 <div class="date">
10827 19th May 2010
10828 </div>
10829 <div class="body">
10830 <p>Today, the last piece of the puzzle for roaming laptops in Debian
10831 Edu finally entered the Debian archive. Today, the new
10832 <a href="http://packages.qa.debian.org/libp/libpam-mklocaluser.html">libpam-mklocaluser</a>
10833 package was accepted. Two days ago, two other pieces was accepted
10834 into unstable. The
10835 <a href="http://packages.qa.debian.org/p/pam-python.html">pam-python</a>
10836 package needed by libpam-mklocaluser, and the
10837 <a href="http://packages.qa.debian.org/s/sssd.html">sssd</a> package
10838 passed NEW on Monday. In addition, the
10839 <a href="http://packages.qa.debian.org/libp/libpam-ccreds.html">libpam-ccreds</a>
10840 package we need is in experimental (version 10-4) since Saturday, and
10841 hopefully will be moved to unstable soon.</p>
10842
10843 <p>This collection of packages allow for two different setups for
10844 roaming laptops. The traditional setup would be using libpam-ccreds,
10845 nscd and libpam-mklocaluser with LDAP or Kerberos authentication,
10846 which should work out of the box if the configuration changes proposed
10847 for nscd in <a href="http://bugs.debian.org/485282">BTS report
10848 #485282</a> is implemented. The alternative setup is to use sssd with
10849 libpam-mklocaluser to connect to LDAP or Kerberos and let sssd take
10850 care of the caching of passwords and group information.</p>
10851
10852 <p>I have so far been unable to get sssd to work with the LDAP server
10853 at the University, but suspect the issue is some SSL/GnuTLS related
10854 problem with the server certificate. I plan to update the Debian
10855 package to version 1.2, which is scheduled for next week, and hope to
10856 find time to make sure the next release will include both the
10857 Debian/Ubuntu specific patches. Upstream is friendly and responsive,
10858 and I am sure we will find a good solution.</p>
10859
10860 <p>The idea is to set up the roaming laptops to authenticate using
10861 LDAP or Kerberos and create a local user with home directory in /home/
10862 when a usre in LDAP logs in via KDM or GDM for the first time, and
10863 cache the password for offline checking, as well as caching group
10864 memberhips and other relevant LDAP information. The
10865 libpam-mklocaluser package was created to make sure the local home
10866 directory is in /home/, instead of /site/server/directory/ which would
10867 be the home directory if pam_mkhomedir was used. To avoid confusion
10868 with support requests and configuration, we do not want local laptops
10869 to have users in a path that is used for the same users home directory
10870 on the home directory servers.</p>
10871
10872 <p>One annoying problem with gdm is that it do not show the PAM
10873 message passed to the user from libpam-mklocaluser when the local user
10874 is created. Instead gdm simply reject the login with some generic
10875 message. The message is shown in kdm, ssh and login, so I guess it is
10876 a bug in gdm. Have not investigated if there is some other message
10877 type that can be used instead to get gdm to also show the message.</p>
10878
10879 <p>If you want to help out with implementing this for Debian Edu,
10880 please contact us on debian-edu@lists.debian.org.</p>
10881
10882 </div>
10883 <div class="tags">
10884
10885
10886 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
10887
10888
10889 </div>
10890 </div>
10891 <div class="padding"></div>
10892
10893 <div class="entry">
10894 <div class="title">
10895 <a href="http://people.skolelinux.org/pere/blog/Parallellized_boot_is_now_the_default_in_Debian_unstable.html">Parallellized boot is now the default in Debian/unstable</a>
10896 </div>
10897 <div class="date">
10898 14th May 2010
10899 </div>
10900 <div class="body">
10901 <p>Since this evening, parallel booting is the default in
10902 Debian/unstable for machines using dependency based boot sequencing.
10903 Apparently the testing of concurrent booting has been wider than
10904 expected, if I am to believe the
10905 <a href="http://lists.debian.org/debian-devel/2010/05/msg00122.html">input
10906 on debian-devel@</a>, and I concluded a few days ago to move forward
10907 with the feature this weekend, to give us some time to detect any
10908 remaining problems before Squeeze is frozen. If serious problems are
10909 detected, it is simple to change the default back to sequential boot.
10910 The upload of the new sysvinit package also activate a new upstream
10911 version.</p>
10912
10913 More information about
10914 <a href="http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot">dependency
10915 based boot sequencing</a> is available from the Debian wiki. It is
10916 currently possible to disable parallel booting when one run into
10917 problems caused by it, by adding this line to /etc/default/rcS:</p>
10918
10919 <blockquote><pre>
10920 CONCURRENCY=none
10921 </pre></blockquote>
10922
10923 <p>If you report any problems with dependencies in init.d scripts to
10924 the BTS, please usertag the report to get it to show up at
10925 <a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org">the
10926 list of usertagged bugs related to this</a>.</p>
10927
10928 </div>
10929 <div class="tags">
10930
10931
10932 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
10933
10934
10935 </div>
10936 </div>
10937 <div class="padding"></div>
10938
10939 <div class="entry">
10940 <div class="title">
10941 <a href="http://people.skolelinux.org/pere/blog/Sitesummary_tip__Listing_MAC_address_of_all_clients.html">Sitesummary tip: Listing MAC address of all clients</a>
10942 </div>
10943 <div class="date">
10944 14th May 2010
10945 </div>
10946 <div class="body">
10947 <p>In the recent Debian Edu versions, the
10948 <a href="http://wiki.debian.org/DebianEdu/HowTo/SiteSummary">sitesummary
10949 system</a> is used to keep track of the machines in the school
10950 network. Each machine will automatically report its status to the
10951 central server after boot and once per night. The network setup is
10952 also reported, and using this information it is possible to get the
10953 MAC address of all network interfaces in the machines. This is useful
10954 to update the DHCP configuration.</p>
10955
10956 <p>To give some idea how to use sitesummary, here is a one-liner to
10957 ist all MAC addresses of all machines reporting to sitesummary. Run
10958 this on the collector host:</p>
10959
10960 <blockquote><pre>
10961 perl -MSiteSummary -e 'for_all_hosts(sub { print join(" ", get_macaddresses(shift)), "\n"; });'
10962 </pre></blockquote>
10963
10964 <p>This will list all MAC addresses assosiated with all machine, one
10965 line per machine and with space between the MAC addresses.</p>
10966
10967 <p>To allow system administrators easier job at adding static DHCP
10968 addresses for hosts, it would be possible to extend this to fetch
10969 machine information from sitesummary and update the DHCP and DNS
10970 tables in LDAP using this information. Such tool is unfortunately not
10971 written yet.</p>
10972
10973 </div>
10974 <div class="tags">
10975
10976
10977 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary</a>.
10978
10979
10980 </div>
10981 </div>
10982 <div class="padding"></div>
10983
10984 <div class="entry">
10985 <div class="title">
10986 <a href="http://people.skolelinux.org/pere/blog/systemd__an_interesting_alternative_to_upstart.html">systemd, an interesting alternative to upstart</a>
10987 </div>
10988 <div class="date">
10989 13th May 2010
10990 </div>
10991 <div class="body">
10992 <p>The last few days a new boot system called
10993 <a href="http://www.freedesktop.org/wiki/Software/systemd">systemd</a>
10994 has been
10995 <a href="http://0pointer.de/blog/projects/systemd.html">introduced</a>
10996
10997 to the free software world. I have not yet had time to play around
10998 with it, but it seem to be a very interesting alternative to
10999 <a href="http://upstart.ubuntu.com/">upstart</a>, and might prove to be
11000 a good alternative for Debian when we are able to switch to an event
11001 based boot system. Tollef is
11002 <a href="http://bugs.debian.org/580814">in the process</a> of getting
11003 systemd into Debian, and I look forward to seeing how well it work. I
11004 like the fact that systemd handles init.d scripts with dependency
11005 information natively, allowing them to run in parallel where upstart
11006 at the moment do not.</p>
11007
11008 <p>Unfortunately do systemd have the same problem as upstart regarding
11009 platform support. It only work on recent Linux kernels, and also need
11010 some new kernel features enabled to function properly. This means
11011 kFreeBSD and Hurd ports of Debian will need a port or a different boot
11012 system. Not sure how that will be handled if systemd proves to be the
11013 way forward.</p>
11014
11015 <p>In the mean time, based on the
11016 <a href="http://lists.debian.org/debian-devel/2010/05/msg00122.html">input
11017 on debian-devel@</a> regarding parallel booting in Debian, I have
11018 decided to enable full parallel booting as the default in Debian as
11019 soon as possible (probably this weekend or early next week), to see if
11020 there are any remaining serious bugs in the init.d dependencies. A
11021 new version of the sysvinit package implementing this change is
11022 already in experimental. If all go well, Squeeze will be released
11023 with parallel booting enabled by default.</p>
11024
11025 </div>
11026 <div class="tags">
11027
11028
11029 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
11030
11031
11032 </div>
11033 </div>
11034 <div class="padding"></div>
11035
11036 <div class="entry">
11037 <div class="title">
11038 <a href="http://people.skolelinux.org/pere/blog/Parallellizing_the_boot_in_Debian_Squeeze___ready_for_wider_testing.html">Parallellizing the boot in Debian Squeeze - ready for wider testing</a>
11039 </div>
11040 <div class="date">
11041 6th May 2010
11042 </div>
11043 <div class="body">
11044 <p>These days, the init.d script dependencies in Squeeze are quite
11045 complete, so complete that it is actually possible to run all the
11046 init.d scripts in parallell based on these dependencies. If you want
11047 to test your Squeeze system, make sure
11048 <a href="http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot">dependency
11049 based boot sequencing</a> is enabled, and add this line to
11050 /etc/default/rcS:</p>
11051
11052 <blockquote><pre>
11053 CONCURRENCY=makefile
11054 </pre></blockquote>
11055
11056 <p>That is it. It will cause sysv-rc to use the startpar tool to run
11057 scripts in parallel using the dependency information stored in
11058 /etc/init.d/.depend.boot, /etc/init.d/.depend.start and
11059 /etc/init.d/.depend.stop to order the scripts. Startpar is configured
11060 to try to start the kdm and gdm scripts as early as possible, and will
11061 start the facilities required by kdm or gdm as early as possible to
11062 make this happen.</p>
11063
11064 <p>Give it a try, and see if you like the result. If some services
11065 fail to start properly, it is most likely because they have incomplete
11066 init.d script dependencies in their startup script (or some of their
11067 dependent scripts have incomplete dependencies). Report bugs and get
11068 the package maintainers to fix it. :)</p>
11069
11070 <p>Running scripts in parallel could be the default in Debian when we
11071 manage to get the init.d script dependencies complete and correct. I
11072 expect we will get there in Squeeze+1, if we get manage to test and
11073 fix the remaining issues.</p>
11074
11075 <p>If you report any problems with dependencies in init.d scripts to
11076 the BTS, please usertag the report to get it to show up at
11077 <a href="http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=initscripts-ng-devel@lists.alioth.debian.org">the
11078 list of usertagged bugs related to this</a>.</p>
11079
11080 </div>
11081 <div class="tags">
11082
11083
11084 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
11085
11086
11087 </div>
11088 </div>
11089 <div class="padding"></div>
11090
11091 <div class="entry">
11092 <div class="title">
11093 <a href="http://people.skolelinux.org/pere/blog/Forcing_new_users_to_change_their_password_on_first_login.html">Forcing new users to change their password on first login</a>
11094 </div>
11095 <div class="date">
11096 2nd May 2010
11097 </div>
11098 <div class="body">
11099 <p>One interesting feature in Active Directory, is the ability to
11100 create a new user with an expired password, and thus force the user to
11101 change the password on the first login attempt.</p>
11102
11103 <p>I'm not quite sure how to do that with the LDAP setup in Debian
11104 Edu, but did some initial testing with a local account. The account
11105 and password aging information is available in /etc/shadow, but
11106 unfortunately, it is not possible to specify an expiration time for
11107 passwords, only a maximum age for passwords.</p>
11108
11109 <p>A freshly created account (using adduser test) will have these
11110 settings in /etc/shadow:</p>
11111
11112 <blockquote><pre>
11113 root@tjener:~# chage -l test
11114 Last password change : May 02, 2010
11115 Password expires : never
11116 Password inactive : never
11117 Account expires : never
11118 Minimum number of days between password change : 0
11119 Maximum number of days between password change : 99999
11120 Number of days of warning before password expires : 7
11121 root@tjener:~#
11122 </pre></blockquote>
11123
11124 <p>The only way I could come up with to create a user with an expired
11125 account, is to change the date of the last password change to the
11126 lowest value possible (January 1th 1970), and the maximum password age
11127 to the difference in days between that date and today. To make it
11128 simple, I went for 30 years (30 * 365 = 10950) and January 2th (to
11129 avoid testing if 0 is a valid value).</p>
11130
11131 <p>After using these commands to set it up, it seem to work as
11132 intended:</p>
11133
11134 <blockquote><pre>
11135 root@tjener:~# chage -d 1 test; chage -M 10950 test
11136 root@tjener:~# chage -l test
11137 Last password change : Jan 02, 1970
11138 Password expires : never
11139 Password inactive : never
11140 Account expires : never
11141 Minimum number of days between password change : 0
11142 Maximum number of days between password change : 10950
11143 Number of days of warning before password expires : 7
11144 root@tjener:~#
11145 </pre></blockquote>
11146
11147 <p>So far I have tested this with ssh and console, and kdm (in
11148 Squeeze) login, and all ask for a new password before login in the
11149 user (with ssh, I was thrown out and had to log in again).</p>
11150
11151 <p>Perhaps we should set up something similar for Debian Edu, to make
11152 sure only the user itself have the account password?</p>
11153
11154 <p>If you want to comment on or help out with implementing this for
11155 Debian Edu, please contact us on debian-edu@lists.debian.org.</p>
11156
11157 <p>Update 2010-05-02 17:20: Paul Tötterman tells me on IRC that the
11158 shadow(8) page in Debian/testing now state that setting the date of
11159 last password change to zero (0) will force the password to be changed
11160 on the first login. This was not mentioned in the manual in Lenny, so
11161 I did not notice this in my initial testing. I have tested it on
11162 Squeeze, and '<tt>chage -d 0 username</tt>' do work there. I have not
11163 tested it on Lenny yet.</p>
11164
11165 <p>Update 2010-05-02-19:05: Jim Paris tells me via email that an
11166 equivalent command to expire a password is '<tt>passwd -e
11167 username</tt>', which insert zero into the date of the last password
11168 change.</p>
11169
11170 </div>
11171 <div class="tags">
11172
11173
11174 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet</a>.
11175
11176
11177 </div>
11178 </div>
11179 <div class="padding"></div>
11180
11181 <div class="entry">
11182 <div class="title">
11183 <a href="http://people.skolelinux.org/pere/blog/Thoughts_on_roaming_laptop_setup_for_Debian_Edu.html">Thoughts on roaming laptop setup for Debian Edu</a>
11184 </div>
11185 <div class="date">
11186 28th April 2010
11187 </div>
11188 <div class="body">
11189 <p>For some years now, I have wondered how we should handle laptops in
11190 Debian Edu. The Debian Edu infrastructure is mostly designed to
11191 handle stationary computers, and less suited for computers that come
11192 and go.</p>
11193
11194 <p>Now I finally believe I have an sensible idea on how to adjust
11195 Debian Edu for laptops, by introducing a new profile for them, for
11196 example called Roaming Workstations. Here are my thought on this.
11197 The setup would consist of the following:</p>
11198
11199 <ul>
11200
11201 <li>During installation, the user name of the owner / primary user of
11202 the laptop is requested and a local home directory is set up for
11203 the user, with uid and gid information fetched from the LDAP
11204 server. This allow the user to work also when offline. The
11205 central home directory can be available in a subdirectory on
11206 request, for example mounted via CIFS. It could be mounted
11207 automatically when a user log in while on the Debian Edu network,
11208 and unmounted when the machine is taken away (network down,
11209 hibernate, etc), it can be set up to do automatic mounting on
11210 request (using autofs), or perhaps some GUI button on the desktop
11211 can be used to access it when needed. Perhaps it is enough to use
11212 the fish protocol in KDE?</li>
11213
11214 <li>Password checking is set up to use LDAP or Kerberos
11215 authentication when the machine is on the Debian Edu network, and
11216 to cache the password for offline checking when the machine unable
11217 to reach the LDAP or Kerberos server. This can be done using
11218 <a href="http://www.padl.com/OSS/pam_ccreds.html">libpam-ccreds</a>
11219 or the Fedora developed
11220 <a href="https://fedoraproject.org/wiki/Features/SSSD">System
11221 Security Services Daemon</a> packages.</li>
11222
11223 <li>File synchronisation with the central home directory is set up
11224 using a shared directory in both the local and the central home
11225 directory, using unison.</li>
11226
11227 <li>Printing should be set up to print to all printers broadcasting
11228 their existence on the local network, and should then work out of
11229 the box with CUPS. For sites needing accurate printer quotas, some
11230 system with Kerberos authentication or printing via ssh could be
11231 implemented.</li>
11232
11233 <li>For users that should have local root access to their laptop,
11234 sudo should be used to allow this to the local user.</li>
11235
11236 <li>It would be nice if user and group information from LDAP is
11237 cached on the client, but given that there are entries for the
11238 local user and primary group in /etc/, it should not be needed.</li>
11239
11240 </ul>
11241
11242 <p>I believe all the pieces to implement this are in Debian/testing at
11243 the moment. If we work quickly, we should be able to get this ready
11244 in time for the Squeeze release to freeze. Some of the pieces need
11245 tweaking, like libpam-ccreds should get support for pam-auth-update
11246 (<a href="http://bugs.debian.org/566718">#566718</a>) and nslcd (or
11247 perhaps debian-edu-config) should get some integration code to stop
11248 its daemon when the LDAP server is unavailable to avoid long timeouts
11249 when disconnected from the net. If we get Kerberos enabled, we need
11250 to make sure we avoid long timeouts there too.</p>
11251
11252 <p>If you want to help out with implementing this for Debian Edu,
11253 please contact us on debian-edu@lists.debian.org.</p>
11254
11255 </div>
11256 <div class="tags">
11257
11258
11259 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
11260
11261
11262 </div>
11263 </div>
11264 <div class="padding"></div>
11265
11266 <div class="entry">
11267 <div class="title">
11268 <a href="http://people.skolelinux.org/pere/blog/Great_book___Content__Selected_Essays_on_Technology__Creativity__Copyright__and_the_Future_of_the_Future_.html">Great book: "Content: Selected Essays on Technology, Creativity, Copyright, and the Future of the Future"</a>
11269 </div>
11270 <div class="date">
11271 19th April 2010
11272 </div>
11273 <div class="body">
11274 <p>The last few weeks i have had the pleasure of reading a
11275 thought-provoking collection of essays by Cory Doctorow, on topics
11276 touching copyright, virtual worlds, the future of man when the
11277 conscience mind can be duplicated into a computer and many more. The
11278 book titled "Content: Selected Essays on Technology, Creativity,
11279 Copyright, and the Future of the Future" is available with few
11280 restrictions on the web, for example from
11281 <a href="http://craphound.com/content/">his own site</a>. I read the
11282 epub-version from
11283 <a href="http://www.feedbooks.com/book/2883">feedbooks</a> using
11284 <a href="http://www.fbreader.org/">fbreader</a> and my N810. I
11285 strongly recommend this book.</p>
11286
11287 </div>
11288 <div class="tags">
11289
11290
11291 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett</a>, <a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet</a>, <a href="http://people.skolelinux.org/pere/blog/tags/web">web</a>.
11292
11293
11294 </div>
11295 </div>
11296 <div class="padding"></div>
11297
11298 <div class="entry">
11299 <div class="title">
11300 <a href="http://people.skolelinux.org/pere/blog/Kerberos_for_Debian_Edu_Squeeze_.html">Kerberos for Debian Edu/Squeeze?</a>
11301 </div>
11302 <div class="date">
11303 14th April 2010
11304 </div>
11305 <div class="body">
11306 <p><a href="http://www.nuug.no/aktiviteter/20100413-kerberos/">Yesterdays
11307 NUUG presentation</a> about Kerberos was inspiring, and reminded me
11308 about the need to start using Kerberos in Skolelinux. Setting up a
11309 Kerberos server seem to be straight forward, and if we get this in
11310 place a long time before the Squeeze version of Debian freezes, we
11311 have a chance to migrate Skolelinux away from NFSv3 for the home
11312 directories, and over to an architecture where the infrastructure do
11313 not have to trust IP addresses and machines, and instead can trust
11314 users and cryptographic keys instead.</p>
11315
11316 <p>A challenge will be integration and administration. Is there a
11317 Kerberos implementation for Debian where one can control the
11318 administration access in Kerberos using LDAP groups? With it, the
11319 school administration will have to maintain access control using flat
11320 files on the main server, which give a huge potential for errors.</p>
11321
11322 <p>A related question I would like to know is how well Kerberos and
11323 pam-ccreds (offline password check) work together. Anyone know?</p>
11324
11325 <p>Next step will be to use Kerberos for access control in Lwat and
11326 Nagios. I have no idea how much work that will be to implement. We
11327 would also need to document how to integrate with Windows AD, as such
11328 shared network will require two Kerberos realms that need to cooperate
11329 to work properly.</p>
11330
11331 <p>I believe a good start would be to start using Kerberos on the
11332 skolelinux.no machines, and this way get ourselves experience with
11333 configuration and integration. A natural starting point would be
11334 setting up ldap.skolelinux.no as the Kerberos server, and migrate the
11335 rest of the machines from PAM via LDAP to PAM via Kerberos one at the
11336 time.</p>
11337
11338 <p>If you would like to contribute to get this working in Skolelinux,
11339 I recommend you to see the video recording from yesterdays NUUG
11340 presentation, and start using Kerberos at home. The video show show
11341 up in a few days.</p>
11342
11343 </div>
11344 <div class="tags">
11345
11346
11347 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
11348
11349
11350 </div>
11351 </div>
11352 <div class="padding"></div>
11353
11354 <div class="entry">
11355 <div class="title">
11356 <a href="http://people.skolelinux.org/pere/blog/After_6_years_of_waiting__the_Xreset_d_feature_is_implemented.html">After 6 years of waiting, the Xreset.d feature is implemented</a>
11357 </div>
11358 <div class="date">
11359 6th March 2010
11360 </div>
11361 <div class="body">
11362 <p>6 years ago, as part of the Debian Edu development I am involved
11363 in, I asked for a hook in the kdm and gdm setup to run scripts as root
11364 when the user log out. A bug was submitted against the xfree86-common
11365 package in 2004 (<a href="http://bugs.debian.org/230422">#230422</a>),
11366 and revisited every time Debian Edu was working on a new release.
11367 Today, this finally paid off.</p>
11368
11369 <p>The framework for this feature was today commited to the git
11370 repositry for the xorg package, and the git repository for xdm has
11371 been updated to use this framework. Next on my agenda is to make sure
11372 kdm and gdm also add code to use this framework.</p>
11373
11374 <p>In Debian Edu, we want to ability to run commands as root when the
11375 user log out, to get rid of runaway processes and do general cleanup
11376 after a user. With this framework in place, we finally can do that in
11377 a generic way that work with all display managers using this
11378 framework. My goal is to get all display managers in Debian use it,
11379 similar to how they use the Xsession.d framework today.<p>
11380
11381 </div>
11382 <div class="tags">
11383
11384
11385 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
11386
11387
11388 </div>
11389 </div>
11390 <div class="padding"></div>
11391
11392 <div class="entry">
11393 <div class="title">
11394 <a href="http://people.skolelinux.org/pere/blog/Debian_Edu___Skolelinux_based_on_Lenny_released__work_continues.html">Debian Edu / Skolelinux based on Lenny released, work continues</a>
11395 </div>
11396 <div class="date">
11397 11th February 2010
11398 </div>
11399 <div class="body">
11400 <p>On Tuesday, the Debian/Lenny based version of
11401 <a href="http://www.skolelinux.org/">Skolelinux</a> was finally
11402 shipped. This was a major leap forward for the project, and I am very
11403 pleased that we finally got the release wrapped up. Work on the first
11404 point release starts imediately, as we plan to get that one out a
11405 month after the major release, to include all fixes for bugs we found
11406 and fixed too late in the release process to include last Tuesday.</p>
11407
11408 <p>Perhaps it even is time for some partying?</p>
11409
11410 <p>After this first point release, my plan is to focus again on the
11411 next major release, based on Squeeze. We will try to get as many of
11412 the fixes we need into the official Debian packages before the freeze,
11413 and have just a few weeks or months to make it happen.</p>
11414
11415 </div>
11416 <div class="tags">
11417
11418
11419 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
11420
11421
11422 </div>
11423 </div>
11424 <div class="padding"></div>
11425
11426 <div class="entry">
11427 <div class="title">
11428 <a href="http://people.skolelinux.org/pere/blog/Automatic_Munin_and_Nagios_configuration.html">Automatic Munin and Nagios configuration</a>
11429 </div>
11430 <div class="date">
11431 27th January 2010
11432 </div>
11433 <div class="body">
11434 <p>One of the new features in the next Debian/Lenny based release of
11435 Debian Edu/Skolelinux, which is scheduled for release in the next few
11436 days, is automatic configuration of the service monitoring system
11437 Nagios. The previous release had automatic configuration of trend
11438 analysis using Munin, and this Lenny based release take that a step
11439 further.</p>
11440
11441 <p>When installing a Debian Edu Main-server, it is automatically
11442 configured as a Munin and Nagios server. In addition, it is
11443 configured to be a server for the
11444 <a href="http://wiki.debian.org/DebianEdu/HowTo/SiteSummary">SiteSummary
11445 system</a> I have written for use in Debian Edu. The SiteSummary
11446 system is inspired by a system used by the University of Oslo where I
11447 work. In short, the system provide a centralised collector of
11448 information about the computers on the network, and a client on each
11449 computer submitting information to this collector. This allow for
11450 automatic information on which packages are installed on each machine,
11451 which kernel the machines are using, what kind of configuration the
11452 packages got etc. This also allow us to automatically generate Munin
11453 and Nagios configuration.</p>
11454
11455 <p>All computers reporting to the sitesummary collector with the
11456 munin-node package installed is automatically enabled as a Munin
11457 client and graphs from the statistics collected from that machine show
11458 up automatically on http://www/munin/ on the Main-server.</p>
11459
11460 <p>All non-laptop computers reporting to the sitesummary collector are
11461 automatically monitored for network presence (ping and any network
11462 services detected). In addition, all computers (also laptops) with
11463 the nagios-nrpe-server package installed and configured the way
11464 sitesummary would configure it, are monitored for full disks, software
11465 raid status, swap free and other checks that need to run locally on
11466 the machine.</p>
11467
11468 <p>The result is that the administrator on a school using Debian Edu
11469 based on Lenny will be able to check the health of his installation
11470 with one look at the Nagios settings, without having to spend any time
11471 keeping the Nagios configuration up-to-date.</p>
11472
11473 <p>The only configuration one need to do to get Nagios up and running
11474 is to set the password used to get access via HTTP. The system
11475 administrator need to run "<tt>htpasswd /etc/nagios3/htpasswd.users
11476 nagiosadmin</tt>" to create a nagiosadmin user and set a password for
11477 it to be able to log into the Nagios web pages. After that,
11478 everything is taken care of.</p>
11479
11480 </div>
11481 <div class="tags">
11482
11483
11484 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary</a>.
11485
11486
11487 </div>
11488 </div>
11489 <div class="padding"></div>
11490
11491 <div class="entry">
11492 <div class="title">
11493 <a href="http://people.skolelinux.org/pere/blog/Relative_popularity_of_document_formats__MS_Office_vs__ODF_.html">Relative popularity of document formats (MS Office vs. ODF)</a>
11494 </div>
11495 <div class="date">
11496 12th August 2009
11497 </div>
11498 <div class="body">
11499 <p>Just for fun, I did a search right now on Google for a few file ODF
11500 and MS Office based formats (not to be mistaken for ISO or ECMA
11501 OOXML), to get an idea of their relative usage. I searched using
11502 'filetype:odt' and equvalent terms, and got these results:</P>
11503
11504 <table>
11505 <tr><th>Type</th><th>ODF</th><th>MS Office</th></tr>
11506 <tr><td>Tekst</td> <td>odt:282000</td> <td>docx:308000</td></tr>
11507 <tr><td>Presentasjon</td> <td>odp:75600</td> <td>pptx:183000</td></tr>
11508 <tr><td>Regneark</td> <td>ods:26500 </td> <td>xlsx:145000</td></tr>
11509 </table>
11510
11511 <p>Next, I added a 'site:no' limit to get the numbers for Norway, and
11512 got these numbers:</p>
11513
11514 <table>
11515 <tr><th>Type</th><th>ODF</th><th>MS Office</th></tr>
11516 <tr><td>Tekst</td> <td>odt:2480 </td> <td>docx:4460</td></tr>
11517 <tr><td>Presentasjon</td> <td>odp:299 </td> <td>pptx:741</td></tr>
11518 <tr><td>Regneark</td> <td>ods:187 </td> <td>xlsx:372</td></tr>
11519 </table>
11520
11521 <p>I wonder how these numbers change over time.</p>
11522
11523 <p>I am aware of Google returning different results and numbers based
11524 on where the search is done, so I guess these numbers will differ if
11525 they are conduced in another country. Because of this, I did the same
11526 search from a machine in California, USA, a few minutes after the
11527 search done from a machine here in Norway.</p>
11528
11529
11530 <table>
11531 <tr><th>Type</th><th>ODF</th><th>MS Office</th></tr>
11532 <tr><td>Tekst</td> <td>odt:129000</td> <td>docx:308000</td></tr>
11533 <tr><td>Presentasjon</td> <td>odp:44200</td> <td>pptx:93900</td></tr>
11534 <tr><td>Regneark</td> <td>ods:26500 </td> <td>xlsx:82400</td></tr>
11535 </table>
11536
11537 <p>And with 'site:no':
11538
11539 <table>
11540 <tr><th>Type</th><th>ODF</th><th>MS Office</th></tr>
11541 <tr><td>Tekst</td> <td>odt:2480</td> <td>docx:3410</td></tr>
11542 <tr><td>Presentasjon</td> <td>odp:175</td> <td>pptx:604</td></tr>
11543 <tr><td>Regneark</td> <td>ods:186 </td> <td>xlsx:296</td></tr>
11544 </table>
11545
11546 <p>Interesting difference, not sure what to conclude from these
11547 numbers.</p>
11548
11549 </div>
11550 <div class="tags">
11551
11552
11553 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>, <a href="http://people.skolelinux.org/pere/blog/tags/web">web</a>.
11554
11555
11556 </div>
11557 </div>
11558 <div class="padding"></div>
11559
11560 <div class="entry">
11561 <div class="title">
11562 <a href="http://people.skolelinux.org/pere/blog/ISO_still_hope_to_fix_OOXML.html">ISO still hope to fix OOXML</a>
11563 </div>
11564 <div class="date">
11565 8th August 2009
11566 </div>
11567 <div class="body">
11568 <p>According to <a
11569 href="http://twerner.blogspot.com/2009/08/defects-of-office-open-xml.html">a
11570 blog post from Torsten Werner</a>, the current defect report for ISO
11571 29500 (ISO OOXML) is 809 pages. His interesting point is that the
11572 defect report is 71 pages more than the full ODF 1.1 specification.
11573 Personally I find it more interesting that ISO still believe ISO OOXML
11574 can be fixed in ISO. Personally, I believe it is broken beyon repair,
11575 and I completely lack any trust in ISO for being able to get anywhere
11576 close to solving the problems. I was part of the Norwegian committee
11577 involved in the OOXML fast track process, and was not impressed with
11578 Standard Norway and ISO in how they handled it.</p>
11579
11580 <p>These days I focus on ODF instead, which seem like a specification
11581 with the future ahead of it. We are working in NUUG to organise a ODF
11582 seminar this autumn.</p>
11583
11584 </div>
11585 <div class="tags">
11586
11587
11588 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
11589
11590
11591 </div>
11592 </div>
11593 <div class="padding"></div>
11594
11595 <div class="entry">
11596 <div class="title">
11597 <a href="http://people.skolelinux.org/pere/blog/Debian_has_switched_to_dependency_based_boot_sequencing.html">Debian has switched to dependency based boot sequencing</a>
11598 </div>
11599 <div class="date">
11600 27th July 2009
11601 </div>
11602 <div class="body">
11603 <p>Since this evening, with the upload of sysvinit version 2.87dsf-2,
11604 and the upload of insserv version 1.12.0-10 yesterday, Debian unstable
11605 have been migrated to using dependency based boot sequencing. This
11606 conclude work me and others have been doing for the last three days.
11607 It feels great to see this finally part of the default Debian
11608 installation. Now we just need to weed out the last few problems that
11609 are bound to show up, to get everything ready for Squeeze.</p>
11610
11611 <p>The next step is migrating /sbin/init from sysvinit to upstart, and
11612 fixing the more fundamental problem of handing the event based
11613 non-predictable kernel in the early boot.</p>
11614
11615 </div>
11616 <div class="tags">
11617
11618
11619 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
11620
11621
11622 </div>
11623 </div>
11624 <div class="padding"></div>
11625
11626 <div class="entry">
11627 <div class="title">
11628 <a href="http://people.skolelinux.org/pere/blog/Taking_over_sysvinit_development.html">Taking over sysvinit development</a>
11629 </div>
11630 <div class="date">
11631 22nd July 2009
11632 </div>
11633 <div class="body">
11634 <p>After several years of frustration with the lack of activity from
11635 the existing sysvinit upstream developer, I decided a few weeks ago to
11636 take over the package and become the new upstream. The number of
11637 patches to track for the Debian package was becoming a burden, and the
11638 lack of synchronization between the distribution made it hard to keep
11639 the package up to date.</p>
11640
11641 <p>On the new sysvinit team is the SuSe maintainer Dr. Werner Fink,
11642 and my Debian co-maintainer Kel Modderman. About 10 days ago, I made
11643 a new upstream tarball with version number 2.87dsf (for Debian, SuSe
11644 and Fedora), based on the patches currently in use in these
11645 distributions. We Debian maintainers plan to move to this tarball as
11646 the new upstream as soon as we find time to do the merge. Since the
11647 new tarball was created, we agreed with Werner at SuSe to make a new
11648 upstream project at <a href="http://savannah.nongnu.org/">Savannah</a>, and continue
11649 development there. The project is registered and currently waiting
11650 for approval by the Savannah administrators, and as soon as it is
11651 approved, we will import the old versions from svn and continue
11652 working on the future release.</p>
11653
11654 <p>It is a bit ironic that this is done now, when some of the involved
11655 distributions are moving to upstart as a syvinit replacement.</p>
11656
11657 </div>
11658 <div class="tags">
11659
11660
11661 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
11662
11663
11664 </div>
11665 </div>
11666 <div class="padding"></div>
11667
11668 <div class="entry">
11669 <div class="title">
11670 <a href="http://people.skolelinux.org/pere/blog/Debian_boots_quicker_and_quicker.html">Debian boots quicker and quicker</a>
11671 </div>
11672 <div class="date">
11673 24th June 2009
11674 </div>
11675 <div class="body">
11676 <p>I spent Monday and tuesday this week in London with a lot of the
11677 people involved in the boot system on Debian and Ubuntu, to see if we
11678 could find more ways to speed up the boot system. This was an Ubuntu
11679 funded
11680 <a href="https://wiki.ubuntu.com/FoundationsTeam/BootPerformance/DebianUbuntuSprint">developer
11681 gathering</a>. It was quite productive. We also discussed the future
11682 of boot systems, and ways to handle the increasing number of boot
11683 issues introduced by the Linux kernel becoming more and more
11684 asynchronous and event base. The Ubuntu approach using udev and
11685 upstart might be a good way forward. Time will show.</p>
11686
11687 <p>Anyway, there are a few ways at the moment to speed up the boot
11688 process in Debian. All of these should be applied to get a quick
11689 boot:</p>
11690
11691 <ul>
11692
11693 <li>Use dash as /bin/sh.</li>
11694
11695 <li>Disable the init.d/hwclock*.sh scripts and make sure the hardware
11696 clock is in UTC.</li>
11697
11698 <li>Install and activate the insserv package to enable
11699 <a href="http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot">dependency
11700 based boot sequencing</a>, and enable concurrent booting.</li>
11701
11702 </ul>
11703
11704 These points are based on the Google summer of code work done by
11705 <a href="http://initscripts-ng.alioth.debian.org/soc2006-bootsystem/">Carlos
11706 Villegas</a>.
11707
11708 <p>Support for makefile-style concurrency during boot was uploaded to
11709 unstable yesterday. When we tested it, we were able to cut 6 seconds
11710 from the boot sequence. It depend on very correct dependency
11711 declaration in all init.d scripts, so I expect us to find edge cases
11712 where the dependences in some scripts are slightly wrong when we start
11713 using this.</p>
11714
11715 <p>On our IRC channel for this effort, #pkg-sysvinit, a new idea was
11716 introduced by Raphael Geissert today, one that could affect the
11717 startup speed as well. Instead of starting some scripts concurrently
11718 from rcS.d/ and another set of scripts from rc2.d/, it would be
11719 possible to run a of them in the same process. A quick way to test
11720 this would be to enable insserv and run 'mv /etc/rc2.d/S* /etc/rcS.d/;
11721 insserv'. Will need to test if that work. :)</p>
11722
11723 </div>
11724 <div class="tags">
11725
11726
11727 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
11728
11729
11730 </div>
11731 </div>
11732 <div class="padding"></div>
11733
11734 <div class="entry">
11735 <div class="title">
11736 <a href="http://people.skolelinux.org/pere/blog/Two_projects_that_have_improved_the_quality_of_free_software_a_lot.html">Two projects that have improved the quality of free software a lot</a>
11737 </div>
11738 <div class="date">
11739 2nd May 2009
11740 </div>
11741 <div class="body">
11742 <p>There are two software projects that have had huge influence on the
11743 quality of free software, and I wanted to mention both in case someone
11744 do not yet know them.</p>
11745
11746 <p>The first one is <a href="http://valgrind.org/">valgrind</a>, a
11747 tool to detect and expose errors in the memory handling of programs.
11748 It is easy to use, all one need to do is to run 'valgrind program',
11749 and it will report any problems on stdout. It is even better if the
11750 program include debug information. With debug information, it is able
11751 to report the source file name and line number where the problem
11752 occurs. It can report things like 'reading past memory block in file
11753 X line N, the memory block was allocated in file Y, line M', and
11754 'using uninitialised value in control logic'. This tool has made it
11755 trivial to investigate reproducible crash bugs in programs, and have
11756 reduced the number of this kind of bugs in free software a lot.
11757
11758 <p>The second one is
11759 <a href="http://en.wikipedia.org/wiki/Coverity">Coverity</a> which is
11760 a source code checker. It is able to process the source of a program
11761 and find problems in the logic without running the program. It
11762 started out as the Stanford Checker and became well known when it was
11763 used to find bugs in the Linux kernel. It is now a commercial tool
11764 and the company behind it is running
11765 <a href="http://www.scan.coverity.com/">a community service</a> for the
11766 free software community, where a lot of free software projects get
11767 their source checked for free. Several thousand defects have been
11768 found and fixed so far. It can find errors like 'lock L taken in file
11769 X line N is never released if exiting in line M', or 'the code in file
11770 Y lines O to P can never be executed'. The projects included in the
11771 community service project have managed to get rid of a lot of
11772 reliability problems thanks to Coverity.</p>
11773
11774 <p>I believe tools like this, that are able to automatically find
11775 errors in the source, are vital to improve the quality of software and
11776 make sure we can get rid of the crashing and failing software we are
11777 surrounded by today.</p>
11778
11779 </div>
11780 <div class="tags">
11781
11782
11783 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>.
11784
11785
11786 </div>
11787 </div>
11788 <div class="padding"></div>
11789
11790 <div class="entry">
11791 <div class="title">
11792 <a href="http://people.skolelinux.org/pere/blog/No_patch_is_not_better_than_a_useless_patch.html">No patch is not better than a useless patch</a>
11793 </div>
11794 <div class="date">
11795 28th April 2009
11796 </div>
11797 <div class="body">
11798 <p>Julien Blache
11799 <a href="http://blog.technologeek.org/2009/04/12/214">claim that no
11800 patch is better than a useless patch</a>. I completely disagree, as a
11801 patch allow one to discuss a concrete and proposed solution, and also
11802 prove that the issue at hand is important enough for someone to spent
11803 time on fixing it. No patch do not provide any of these positive
11804 properties.</p>
11805
11806 </div>
11807 <div class="tags">
11808
11809
11810 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
11811
11812
11813 </div>
11814 </div>
11815 <div class="padding"></div>
11816
11817 <div class="entry">
11818 <div class="title">
11819 <a href="http://people.skolelinux.org/pere/blog/Recording_video_from_cron_using_VLC.html">Recording video from cron using VLC</a>
11820 </div>
11821 <div class="date">
11822 5th April 2009
11823 </div>
11824 <div class="body">
11825 <p>One think I have wanted to figure out for a along time is how to
11826 run vlc from cron to do recording of video streams on the net. The
11827 task is trivial with mplayer, but I do not really trust the security
11828 of mplayer (it crashes too often on strange input), and thus prefer
11829 vlc. I finally found a way to do it today. I spent an hour or so
11830 searching the web for recipes and reading the documentation. The
11831 hardest part was to get rid of the GUI window, but after finding the
11832 dummy interface, the command line finally presented itself:</p>
11833
11834 <blockquote><pre>URL=http://www.ping.uio.no/video/rms-oslo_2009.ogg
11835 SAVEFILE=rms.ogg
11836 DISPLAY= vlc -q $URL \
11837 --sout="#duplicate{dst=std{access=file,url='$SAVEFILE'},dst=nodisplay}" \
11838 --intf=dummy</pre></blockquote>
11839
11840 <p>The command stream the URL and store it in the SAVEFILE by
11841 duplicating the output stream to "nodisplay" and the file, using the
11842 dummy interface. The dummy interface and the nodisplay output make
11843 sure no X interface is needed.</p>
11844
11845 <p>The cron job then need to start this job with the appropriate URL
11846 and file name to save, sleep for the duration wanted, and then kill
11847 the vlc process with SIGTERM. Here is a complete script
11848 <tt>vlc-record</tt> to use from <tt>at</tt> or <tt>cron</tt>:</p>
11849
11850 <blockquote><pre>#!/bin/sh
11851 set -e
11852 URL="$1"
11853 SAVEFILE="$2"
11854 DURATION="$3"
11855 DISPLAY= vlc -q "$URL" \
11856 --sout="#duplicate{dst=std{access=file,url='$SAVEFILE'},dst=nodisplay}" \
11857 --intf=dummy < /dev/null > /dev/null 2>&1 &
11858 pid=$!
11859 sleep $DURATION
11860 kill $pid
11861 wait $pid</pre></blockquote>
11862
11863 </div>
11864 <div class="tags">
11865
11866
11867 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
11868
11869
11870 </div>
11871 </div>
11872 <div class="padding"></div>
11873
11874 <div class="entry">
11875 <div class="title">
11876 <a href="http://people.skolelinux.org/pere/blog/Standardize_on_protocols_and_formats__not_vendors_and_applications.html">Standardize on protocols and formats, not vendors and applications</a>
11877 </div>
11878 <div class="date">
11879 30th March 2009
11880 </div>
11881 <div class="body">
11882 <p>Where I work at the University of Oslo, one decision stand out as a
11883 very good one to form a long lived computer infrastructure. It is the
11884 simple one, lost by many in todays computer industry: Standardize on
11885 open network protocols and open exchange/storage formats, not applications.
11886 Applications come and go, while protocols and files tend to stay, and
11887 thus one want to make it easy to change application and vendor, while
11888 avoiding conversion costs and locking users to a specific platform or
11889 application.</p>
11890
11891 <p>This approach make it possible to replace the client applications
11892 independently of the server applications. One can even allow users to
11893 use several different applications as long as they handle the selected
11894 protocol and format. In the normal case, only one client application
11895 is recommended and users only get help if they choose to use this
11896 application, but those that want to deviate from the easy path are not
11897 blocked from doing so.</p>
11898
11899 <p>It also allow us to replace the server side without forcing the
11900 users to replace their applications, and thus allow us to select the
11901 best server implementation at any moment, when scale and resouce
11902 requirements change.</p>
11903
11904 <p>I strongly recommend standardizing - on open network protocols and
11905 open formats, but I would never recommend standardizing on a single
11906 application that do not use open network protocol or open formats.</p>
11907
11908 </div>
11909 <div class="tags">
11910
11911
11912 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/standard">standard</a>.
11913
11914
11915 </div>
11916 </div>
11917 <div class="padding"></div>
11918
11919 <div class="entry">
11920 <div class="title">
11921 <a href="http://people.skolelinux.org/pere/blog/Returning_from_Skolelinux_developer_gathering.html">Returning from Skolelinux developer gathering</a>
11922 </div>
11923 <div class="date">
11924 29th March 2009
11925 </div>
11926 <div class="body">
11927 <p>I'm sitting on the train going home from this weekends Debian
11928 Edu/Skolelinux development gathering. I got a bit done tuning the
11929 desktop, and looked into the dynamic service location protocol
11930 implementation avahi. It look like it could be useful for us. Almost
11931 30 people participated, and I believe it was a great environment to
11932 get to know the Skolelinux system. Walter Bender, involved in the
11933 development of the Sugar educational platform, presented his stuff and
11934 also helped me improve my OLPC installation. He also showed me that
11935 his Turtle Art application can be used in standalone mode, and we
11936 agreed that I would help getting it packaged for Debian. As a
11937 standalone application it would be great for Debian Edu. We also
11938 tried to get the video conferencing working with two OLPCs, but that
11939 proved to be too hard for us. The application seem to need more work
11940 before it is ready for me. I look forward to getting home and relax
11941 now. :)</p>
11942
11943 </div>
11944 <div class="tags">
11945
11946
11947 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
11948
11949
11950 </div>
11951 </div>
11952 <div class="padding"></div>
11953
11954 <div class="entry">
11955 <div class="title">
11956 <a href="http://people.skolelinux.org/pere/blog/Time_for_new__LDAP_schemas_replacing_RFC_2307_.html">Time for new LDAP schemas replacing RFC 2307?</a>
11957 </div>
11958 <div class="date">
11959 29th March 2009
11960 </div>
11961 <div class="body">
11962 <p>The state of standardized LDAP schemas on Linux is far from
11963 optimal. There is RFC 2307 documenting one way to store NIS maps in
11964 LDAP, and a modified version of this normally called RFC 2307bis, with
11965 some modifications to be compatible with Active Directory. The RFC
11966 specification handle the content of a lot of system databases, but do
11967 not handle DNS zones and DHCP configuration.</p>
11968
11969 <p>In <a href="http://www.skolelinux.org/">Debian Edu/Skolelinux</a>,
11970 we would like to store information about users, SMB clients/hosts,
11971 filegroups, netgroups (users and hosts), DHCP and DNS configuration,
11972 and LTSP configuration in LDAP. These objects have a lot in common,
11973 but with the current LDAP schemas it is not possible to have one
11974 object per entity. For example, one need to have at least three LDAP
11975 objects for a given computer, one with the SMB related stuff, one with
11976 DNS information and another with DHCP information. The schemas
11977 provided for DNS and DHCP are impossible to combine into one LDAP
11978 object. In addition, it is impossible to implement quick queries for
11979 netgroup membership, because of the way NIS triples are implemented.
11980 It just do not scale. I believe it is time for a few RFC
11981 specifications to cleam up this mess.</p>
11982
11983 <p>I would like to have one LDAP object representing each computer in
11984 the network, and this object can then keep the SMB (ie host key), DHCP
11985 (mac address/name) and DNS (name/IP address) settings in one place.
11986 It need to be efficently stored to make sure it scale well.</p>
11987
11988 <p>I would also like to have a quick way to map from a user or
11989 computer and to the net group this user or computer is a member.</p>
11990
11991 <p>Active Directory have done a better job than unix heads like myself
11992 in this regard, and the unix side need to catch up. Time to start a
11993 new IETF work group?</p>
11994
11995 </div>
11996 <div class="tags">
11997
11998
11999 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
12000
12001
12002 </div>
12003 </div>
12004 <div class="padding"></div>
12005
12006 <div class="entry">
12007 <div class="title">
12008 <a href="http://people.skolelinux.org/pere/blog/Checking_server_hardware_support_status_for_Dell__HP_and_IBM_servers.html">Checking server hardware support status for Dell, HP and IBM servers</a>
12009 </div>
12010 <div class="date">
12011 28th February 2009
12012 </div>
12013 <div class="body">
12014 <p>At work, we have a few hundred Linux servers, and with that amount
12015 of hardware it is important to keep track of when the hardware support
12016 contract expire for each server. We have a machine (and service)
12017 register, which until recently did not contain much useful besides the
12018 machine room location and contact information for the system owner for
12019 each machine. To make it easier for us to track support contract
12020 status, I've recently spent time on extending the machine register to
12021 include information about when the support contract expire, and to tag
12022 machines with expired contracts to make it easy to get a list of such
12023 machines. I extended a perl script already being used to import
12024 information about machines into the register, to also do some screen
12025 scraping off the sites of Dell, HP and IBM (our majority of machines
12026 are from these vendors), and automatically check the support status
12027 for the relevant machines. This make the support status information
12028 easily available and I hope it will make it easier for the computer
12029 owner to know when to get new hardware or renew the support contract.
12030 The result of this work documented that 27% of the machines in the
12031 registry is without a support contract, and made it very easy to find
12032 them. 27% might seem like a lot, but I see it more as the case of us
12033 using machines a bit longer than the 3 years a normal support contract
12034 last, to have test machines and a platform for less important
12035 services. After all, the machines without a contract are working fine
12036 at the moment and the lack of contract is only a problem if any of
12037 them break down. When that happen, we can either fix it using spare
12038 parts from other machines or move the service to another old
12039 machine.</p>
12040
12041 <p>I believe the code for screen scraping the Dell site was originally
12042 written by Trond Hasle Amundsen, and later adjusted by me and Morten
12043 Werner Forsbring. The HP scraping was written by me after reading a
12044 nice article in ;login: about how to use WWW::Mechanize, and the IBM
12045 scraping was written by me based on the Dell code. I know the HTML
12046 parsing could be done using nice libraries, but did not want to
12047 introduce more dependencies. This is the current incarnation:</p>
12048
12049 <pre>
12050 use LWP::Simple;
12051 use POSIX;
12052 use WWW::Mechanize;
12053 use Date::Parse;
12054 [...]
12055 sub get_support_info {
12056 my ($machine, $model, $serial, $productnumber) = @_;
12057 my $str;
12058
12059 if ( $model =~ m/^Dell / ) {
12060 # fetch website from Dell support
12061 my $url = "http://support.euro.dell.com/support/topics/topic.aspx/emea/shared/support/my_systems_info/no/details?c=no&amp;cs=nodhs1&amp;l=no&amp;s=dhs&amp;ServiceTag=$serial";
12062 my $webpage = get($url);
12063 return undef unless ($webpage);
12064
12065 my $daysleft = -1;
12066 my @lines = split(/\n/, $webpage);
12067 foreach my $line (@lines) {
12068 next unless ($line =~ m/Beskrivelse/);
12069 $line =~ s/&lt;[^>]+?>/;/gm;
12070 $line =~ s/^.+?;(Beskrivelse;)/$1/;
12071
12072 my @f = split(/\;/, $line);
12073 @f = @f[13 .. $#f];
12074 my $lastend = "";
12075 while ($f[3] eq "DELL") {
12076 my ($type, $startstr, $endstr, $days) = @f[0, 5, 7, 10];
12077
12078 my $start = POSIX::strftime("%Y-%m-%d",
12079 localtime(str2time($startstr)));
12080 my $end = POSIX::strftime("%Y-%m-%d",
12081 localtime(str2time($endstr)));
12082 $str .= "$type $start -> $end ";
12083 @f = @f[14 .. $#f];
12084 $lastend = $end if ($end gt $lastend);
12085 }
12086 my $today = POSIX::strftime("%Y-%m-%d", localtime(time));
12087 tag_machine_unsupported($machine)
12088 if ($lastend lt $today);
12089 }
12090 } elsif ( $model =~ m/^HP / ) {
12091 my $mech = WWW::Mechanize->new();
12092 my $url =
12093 'http://www1.itrc.hp.com/service/ewarranty/warrantyInput.do';
12094 $mech->get($url);
12095 my $fields = {
12096 'BODServiceID' => 'NA',
12097 'RegisteredPurchaseDate' => '',
12098 'country' => 'NO',
12099 'productNumber' => $productnumber,
12100 'serialNumber1' => $serial,
12101 };
12102 $mech->submit_form( form_number => 2,
12103 fields => $fields );
12104 # Next step is screen scraping
12105 my $content = $mech->content();
12106
12107 $content =~ s/&lt;[^>]+?>/;/gm;
12108 $content =~ s/\s+/ /gm;
12109 $content =~ s/;\s*;/;;/gm;
12110 $content =~ s/;[\s;]+/;/gm;
12111
12112 my $today = POSIX::strftime("%Y-%m-%d", localtime(time));
12113
12114 while ($content =~ m/;Warranty Type;/) {
12115 my ($type, $status, $startstr, $stopstr) = $content =~
12116 m/;Warranty Type;([^;]+);.+?;Status;(\w+);Start Date;([^;]+);End Date;([^;]+);/;
12117 $content =~ s/^.+?;Warranty Type;//;
12118 my $start = POSIX::strftime("%Y-%m-%d",
12119 localtime(str2time($startstr)));
12120 my $end = POSIX::strftime("%Y-%m-%d",
12121 localtime(str2time($stopstr)));
12122
12123 $str .= "$type ($status) $start -> $end ";
12124
12125 tag_machine_unsupported($machine)
12126 if ($end lt $today);
12127 }
12128 } elsif ( $model =~ m/^IBM / ) {
12129 # This code ignore extended support contracts.
12130 my ($producttype) = $model =~ m/.*-\[(.{4}).+\]-/;
12131 if ($producttype &amp;&amp; $serial) {
12132 my $content =
12133 get("http://www-947.ibm.com/systems/support/supportsite.wss/warranty?action=warranty&amp;brandind=5000008&amp;Submit=Submit&amp;type=$producttype&amp;serial=$serial");
12134 if ($content) {
12135 $content =~ s/&lt;[^>]+?>/;/gm;
12136 $content =~ s/\s+/ /gm;
12137 $content =~ s/;\s*;/;;/gm;
12138 $content =~ s/;[\s;]+/;/gm;
12139
12140 $content =~ s/^.+?;Warranty status;//;
12141 my ($status, $end) = $content =~ m/;Warranty status;([^;]+)\s*;Expiration date;(\S+) ;/;
12142
12143 $str .= "($status) -> $end ";
12144
12145 my $today = POSIX::strftime("%Y-%m-%d", localtime(time));
12146 tag_machine_unsupported($machine)
12147 if ($end lt $today);
12148 }
12149 }
12150 }
12151 return $str;
12152 }
12153 </pre>
12154
12155 <p>Here are some examples on how to use the function, using fake
12156 serial numbers. The information passed in as arguments are fetched
12157 from dmidecode.</p>
12158
12159 <pre>
12160 print get_support_info("hp.host", "HP ProLiant BL460c G1", "1234567890"
12161 "447707-B21");
12162 print get_support_info("dell.host", "Dell Inc. PowerEdge 2950", "1234567");
12163 print get_support_info("ibm.host", "IBM eserver xSeries 345 -[867061X]-",
12164 "1234567");
12165 </pre>
12166
12167 <p>I would recommend this approach for tracking support contracts for
12168 everyone with more than a few computers to administer. :)</p>
12169
12170 <p>Update 2009-03-06: The IBM page do not include extended support
12171 contracts, so it is useless in that case. The original Dell code do
12172 not handle extended support contracts either, but has been updated to
12173 do so.</p>
12174
12175 </div>
12176 <div class="tags">
12177
12178
12179 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
12180
12181
12182 </div>
12183 </div>
12184 <div class="padding"></div>
12185
12186 <div class="entry">
12187 <div class="title">
12188 <a href="http://people.skolelinux.org/pere/blog/Using_bar_codes_at_a_computing_center.html">Using bar codes at a computing center</a>
12189 </div>
12190 <div class="date">
12191 20th February 2009
12192 </div>
12193 <div class="body">
12194 <p>At work with the University of Oslo, we have several hundred computers
12195 in our computing center. This give us a challenge in tracking the
12196 location and cabling of the computers, when they are added, moved and
12197 removed. Some times the location register is not updated when a
12198 computer is inserted or moved and we then have to search the room for
12199 the "missing" computer.</p>
12200
12201 <p>In the last issue of Linux Journal, I came across a project
12202 <a href="http://www.libdmtx.org/">libdmtx</a> to write and read bar
12203 code blocks as defined in the
12204 <a href="http://en.wikipedia.org/wiki/Data_Matrix">The Data Matrix
12205 Standard</a>. This is bar codes that can be read with a normal
12206 digital camera, for example that on a cell phone, and several such bar
12207 codes can be read by libdmtx from one picture. The bar code standard
12208 allow up to 2 KiB to be written in the tag. There is another project
12209 with <a href="http://www.terryburton.co.uk/barcodewriter/">a bar code
12210 writer written in postscript</a> capable of creating such bar codes,
12211 but this was the first time I found a tool to read these bar
12212 codes.</p>
12213
12214 <p>It occurred to me that this could be used to tag and track the
12215 machines in our computing center. If both racks and computers are
12216 tagged this way, we can use a picture of the rack and all its
12217 computers to detect the rack location of any computer in that rack.
12218 If we do this regularly for the entire room, we will find all
12219 locations, and can detect movements and removals.</p>
12220
12221 <p>I decided to test if this would work in practice, and picked a
12222 random rack and tagged all the machines with their names. Next, I
12223 took pictures with my digital camera, and gave the dmtxread program
12224 these JPEG pictures to see how many tags it could read. This worked
12225 fairly well. If the pictures was well focused and not taken from the
12226 side, all tags in the image could be read. Because of limited space
12227 between the racks, I was unable to get a good picture of the entire
12228 rack, but could without problem read all tags from a picture covering
12229 about half the rack. I had to limit the search time used by dmtxread
12230 to 60000 ms to make sure it terminated in a reasonable time frame.</p>
12231
12232 <p>My conclusion is that this could work, and we should probably look
12233 at adjusting our computer tagging procedures to use bar codes for
12234 easier automatic tracking of computers.</p>
12235
12236 </div>
12237 <div class="tags">
12238
12239
12240 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>.
12241
12242
12243 </div>
12244 </div>
12245 <div class="padding"></div>
12246
12247 <div class="entry">
12248 <div class="title">
12249 <a href="http://people.skolelinux.org/pere/blog/When_web_browser_developers_make_a_video_player___.html">When web browser developers make a video player...</a>
12250 </div>
12251 <div class="date">
12252 17th January 2009
12253 </div>
12254 <div class="body">
12255 <p>As part of the work we do in <a href="http://www.nuug.no">NUUG</a>
12256 to publish video recordings of our monthly presentations, we provide a
12257 page with embedded video for easy access to the recording. Putting a
12258 good set of HTML tags together to get working embedded video in all
12259 browsers and across all operating systems is not easy. I hope this
12260 will become easier when the &lt;video&gt; tag is implemented in all
12261 browsers, but I am not sure. We provide the recordings in several
12262 formats, MPEG1, Ogg Theora, H.264 and Quicktime, and want the
12263 browser/media plugin to pick one it support and use it to play the
12264 recording, using whatever embed mechanism the browser understand.
12265 There is at least four different tags to use for this, the new HTML5
12266 &lt;video&gt; tag, the &lt;object&gt; tag, the &lt;embed&gt; tag and
12267 the &lt;applet&gt; tag. All of these take a lot of options, and
12268 finding the best options is a major challenge.</p>
12269
12270 <p>I just tested the experimental Opera browser available from <a
12271 href="http://labs.opera.com">labs.opera.com</a>, to see how it handled
12272 a &lt;video&gt; tag with a few video sources and no extra attributes.
12273 I was not very impressed. The browser start by fetching a picture
12274 from the video stream. Not sure if it is the first frame, but it is
12275 definitely very early in the recording. So far, so good. Next,
12276 instead of streaming the 76 MiB video file, it start to download all
12277 of it, but do not start to play the video. This mean I have to wait
12278 for several minutes for the downloading to finish. When the download
12279 is done, the playing of the video do not start! Waiting for the
12280 download, but I do not get to see the video? Some testing later, I
12281 discover that I have to add the controls="true" attribute to be able
12282 to get a play button to pres to start the video. Adding
12283 autoplay="true" did not help. I sure hope this is a misfeature of the
12284 test version of Opera, and that future implementations of the
12285 &lt;video&gt; tag will stream recordings by default, or at least start
12286 playing when the download is done.</p>
12287
12288 <p>The test page I used (since changed to add more attributes) is
12289 <a href="http://www.nuug.no/aktiviteter/20090113-foredrag-om-foredrag/">available
12290 from the nuug site</a>. Will have to test it with the new Firefox
12291 too.</p>
12292
12293 <p>In the test process, I discovered a missing feature. I was unable
12294 to find a way to get the URL of the playing video out of Opera, so I
12295 am not quite sure it picked the Ogg Theora version of the video. I
12296 sure hope it was using the announced Ogg Theora support. :)</p>
12297
12298 </div>
12299 <div class="tags">
12300
12301
12302 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>, <a href="http://people.skolelinux.org/pere/blog/tags/web">web</a>.
12303
12304
12305 </div>
12306 </div>
12307 <div class="padding"></div>
12308
12309 <div class="entry">
12310 <div class="title">
12311 <a href="http://people.skolelinux.org/pere/blog/Software_video_mixer_on_a_USB_stick.html">Software video mixer on a USB stick</a>
12312 </div>
12313 <div class="date">
12314 28th December 2008
12315 </div>
12316 <div class="body">
12317 <p>The <a href="http://www.nuug.no/">Norwegian Unix User Group</a> is
12318 recording our montly presentation on video, and recently we have
12319 worked on improving the quality of the recordings by mixing the slides
12320 directly with the video stream. For this, we use the
12321 <a href="http://dvswitch.alioth.debian.org/">dvswitch</a> package from
12322 the Debian video team. As this require quite one computer per video
12323 source, and NUUG do not have enough laptops available, we need to
12324 borrow laptops. And to avoid having to install extra software on
12325 these borrwed laptops, I have wrapped up all the programs needed on a
12326 bootable USB stick. The software required is dvswitch with assosiated
12327 source, sink and mixer applications and
12328 <a href="http://www.kinodv.org/">dvgrab</a>. To allow this setup to
12329 work without any configuration, I've patched dvswitch to use
12330 <a href="http://www.avahi.org/">avahi</a> to connect the various parts
12331 together. And to allow us to use laptops without firewire plugs, I
12332 upgraded dvgrab to the one from Debian/unstable to get one that work
12333 with USB sources. We have not yet tested this setup in a production
12334 setup, but I hope it will work properly, and allow us to set up a
12335 video mixer in a very short time frame. We will need it for
12336 <a href="http://www.goopen.no/">Go Open 2009</a>.</p>
12337
12338 <p><a href="http://www.nuug.no/pub/video/bin/usbstick-dvswitch.img.gz">The
12339 USB image</a> is for a 1 GB memory stick, but can be used on any
12340 larger stick as well.</p>
12341
12342 </div>
12343 <div class="tags">
12344
12345
12346 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video">video</a>.
12347
12348
12349 </div>
12350 </div>
12351 <div class="padding"></div>
12352
12353 <div class="entry">
12354 <div class="title">
12355 <a href="http://people.skolelinux.org/pere/blog/Devcamp_brought_us_closer_to_the_Lenny_based_Debian_Edu_release.html">Devcamp brought us closer to the Lenny based Debian Edu release</a>
12356 </div>
12357 <div class="date">
12358 7th December 2008
12359 </div>
12360 <div class="body">
12361 <p>This weekend we had a small developer gathering for Debian Edu in
12362 Oslo. Most of Saturday was used for the general assemly for the
12363 member organization, but the rest of the weekend I used to tune the
12364 LTSP installation. LTSP now work out of the box on the 10-network.
12365 Acer Aspire One proved to be a very nice thin client, with both
12366 screen, mouse and keybard in a small box. Was working on getting the
12367 diskless workstation setup configured out of the box, but did not
12368 finish it before the weekend was up.</p>
12369
12370 <p>Did not find time to look at the 4 VGA cards in one box we got from
12371 the Brazilian group, so that will have to wait for the next
12372 development gathering. Would love to have the Debian Edu installer
12373 automatically detect and configure a multiseat setup when it find one
12374 of these cards.</p>
12375
12376 </div>
12377 <div class="tags">
12378
12379
12380 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp</a>.
12381
12382
12383 </div>
12384 </div>
12385 <div class="padding"></div>
12386
12387 <div class="entry">
12388 <div class="title">
12389 <a href="http://people.skolelinux.org/pere/blog/The_sorry_state_of_multimedia_browser_plugins_in_Debian.html">The sorry state of multimedia browser plugins in Debian</a>
12390 </div>
12391 <div class="date">
12392 25th November 2008
12393 </div>
12394 <div class="body">
12395 <p>Recently I have spent some time evaluating the multimedia browser
12396 plugins available in Debian Lenny, to see which one we should use by
12397 default in Debian Edu. We need an embedded video playing plugin with
12398 control buttons to pause or stop the video, and capable of streaming
12399 all the multimedia content available on the web. The test results and
12400 notes are available on
12401 <a href="http://wiki.debian.org/DebianEdu/BrowserMultimedia">the
12402 Debian wiki</a>. I was surprised how few of the plugins are able to
12403 fill this need. My personal video player favorite, VLC, has a really
12404 bad plugin which fail on a lot of the test pages. A lot of the MIME
12405 types I would expect to work with any free software player (like
12406 video/ogg), just do not work. And simple formats like the
12407 audio/x-mplegurl format (m3u playlists), just isn't supported by the
12408 totem and vlc plugins. I hope the situation will improve soon. No
12409 wonder sites use the proprietary Adobe flash to play video.</p>
12410
12411 <p>For Lenny, we seem to end up with the mplayer plugin. It seem to
12412 be the only one fitting our needs. :/</p>
12413
12414 </div>
12415 <div class="tags">
12416
12417
12418 Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia</a>, <a href="http://people.skolelinux.org/pere/blog/tags/web">web</a>.
12419
12420
12421 </div>
12422 </div>
12423 <div class="padding"></div>
12424
12425 <p style="text-align: right;"><a href="english.rss"><img src="http://people.skolelinux.org/pere/blog/xml.gif" alt="RSS Feed" width="36" height="14" /></a></p>
12426 <div id="sidebar">
12427
12428
12429
12430 <h2>Archive</h2>
12431 <ul>
12432
12433 <li>2012
12434 <ul>
12435
12436 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/01/">January (7)</a></li>
12437
12438 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/02/">February (10)</a></li>
12439
12440 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/03/">March (17)</a></li>
12441
12442 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/04/">April (12)</a></li>
12443
12444 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/05/">May (12)</a></li>
12445
12446 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/06/">June (20)</a></li>
12447
12448 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/07/">July (17)</a></li>
12449
12450 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/08/">August (6)</a></li>
12451
12452 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/09/">September (9)</a></li>
12453
12454 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/10/">October (17)</a></li>
12455
12456 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/11/">November (10)</a></li>
12457
12458 <li><a href="http://people.skolelinux.org/pere/blog/archive/2012/12/">December (5)</a></li>
12459
12460 </ul></li>
12461
12462 <li>2011
12463 <ul>
12464
12465 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/01/">January (16)</a></li>
12466
12467 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/02/">February (6)</a></li>
12468
12469 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/03/">March (6)</a></li>
12470
12471 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/04/">April (7)</a></li>
12472
12473 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/05/">May (3)</a></li>
12474
12475 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/06/">June (2)</a></li>
12476
12477 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/07/">July (7)</a></li>
12478
12479 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/08/">August (6)</a></li>
12480
12481 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/09/">September (4)</a></li>
12482
12483 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/10/">October (2)</a></li>
12484
12485 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/11/">November (3)</a></li>
12486
12487 <li><a href="http://people.skolelinux.org/pere/blog/archive/2011/12/">December (1)</a></li>
12488
12489 </ul></li>
12490
12491 <li>2010
12492 <ul>
12493
12494 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/01/">January (2)</a></li>
12495
12496 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/02/">February (1)</a></li>
12497
12498 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/03/">March (3)</a></li>
12499
12500 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/04/">April (3)</a></li>
12501
12502 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/05/">May (9)</a></li>
12503
12504 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/06/">June (14)</a></li>
12505
12506 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/07/">July (12)</a></li>
12507
12508 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/08/">August (13)</a></li>
12509
12510 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/09/">September (7)</a></li>
12511
12512 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/10/">October (9)</a></li>
12513
12514 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/11/">November (13)</a></li>
12515
12516 <li><a href="http://people.skolelinux.org/pere/blog/archive/2010/12/">December (12)</a></li>
12517
12518 </ul></li>
12519
12520 <li>2009
12521 <ul>
12522
12523 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/01/">January (8)</a></li>
12524
12525 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/02/">February (8)</a></li>
12526
12527 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/03/">March (12)</a></li>
12528
12529 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/04/">April (10)</a></li>
12530
12531 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/05/">May (9)</a></li>
12532
12533 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/06/">June (3)</a></li>
12534
12535 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/07/">July (4)</a></li>
12536
12537 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/08/">August (3)</a></li>
12538
12539 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/09/">September (1)</a></li>
12540
12541 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/10/">October (2)</a></li>
12542
12543 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/11/">November (3)</a></li>
12544
12545 <li><a href="http://people.skolelinux.org/pere/blog/archive/2009/12/">December (3)</a></li>
12546
12547 </ul></li>
12548
12549 <li>2008
12550 <ul>
12551
12552 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/11/">November (5)</a></li>
12553
12554 <li><a href="http://people.skolelinux.org/pere/blog/archive/2008/12/">December (7)</a></li>
12555
12556 </ul></li>
12557
12558 </ul>
12559
12560
12561
12562 <h2>Tags</h2>
12563 <ul>
12564
12565 <li><a href="http://people.skolelinux.org/pere/blog/tags/3d-printer">3d-printer (13)</a></li>
12566
12567 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga">amiga (1)</a></li>
12568
12569 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros">aros (1)</a></li>
12570
12571 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid">bankid (3)</a></li>
12572
12573 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin">bitcoin (4)</a></li>
12574
12575 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem">bootsystem (12)</a></li>
12576
12577 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa">bsa (2)</a></li>
12578
12579 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (58)</a></li>
12580
12581 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (117)</a></li>
12582
12583 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan">digistan (9)</a></li>
12584
12585 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook">docbook (7)</a></li>
12586
12587 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
12588
12589 <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (163)</a></li>
12590
12591 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (21)</a></li>
12592
12593 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling">fildeling (12)</a></li>
12594
12595 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (10)</a></li>
12596
12597 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (9)</a></li>
12598
12599 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (32)</a></li>
12600
12601 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (17)</a></li>
12602
12603 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap">ldap (8)</a></li>
12604
12605 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker">lenker (5)</a></li>
12606
12607 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
12608
12609 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (25)</a></li>
12610
12611 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (218)</a></li>
12612
12613 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (148)</a></li>
12614
12615 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (6)</a></li>
12616
12617 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311">open311 (2)</a></li>
12618
12619 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett">opphavsrett (40)</a></li>
12620
12621 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern (60)</a></li>
12622
12623 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid">raid (1)</a></li>
12624
12625 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap">reprap (11)</a></li>
12626
12627 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid">rfid (2)</a></li>
12628
12629 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot">robot (4)</a></li>
12630
12631 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss">rss (1)</a></li>
12632
12633 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter">ruter (4)</a></li>
12634
12635 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki">scraperwiki (2)</a></li>
12636
12637 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet (28)</a></li>
12638
12639 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary">sitesummary (4)</a></li>
12640
12641 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis">skepsis (4)</a></li>
12642
12643 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard">standard (39)</a></li>
12644
12645 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll">stavekontroll (3)</a></li>
12646
12647 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget">stortinget (5)</a></li>
12648
12649 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance (12)</a></li>
12650
12651 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin">sysadmin (1)</a></li>
12652
12653 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg">valg (7)</a></li>
12654
12655 <li><a href="http://people.skolelinux.org/pere/blog/tags/video">video (35)</a></li>
12656
12657 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap">vitenskap (4)</a></li>
12658
12659 <li><a href="http://people.skolelinux.org/pere/blog/tags/web">web (26)</a></li>
12660
12661 </ul>
12662
12663
12664 </div>
12665 <p style="text-align: right">
12666 Created by <a href="http://steve.org.uk/Software/chronicle">Chronicle v4.4</a>
12667 </p>
12668
12669 </body>
12670 </html>